PIC18F44K22 programovanie

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 04 Jan 2024, 21:54

epoxid napísal:
04 Jan 2024, 21:47
balu - dakujem za podrobne vysvetlenie

Lennox - ide to , rozsvietia sa vsetky naraz , potom zhasnu a tak dokola, myslim ze problem bude v nastaveni toho oscilatora
No super, takže vieme že systém žije. V čom je problém? Zle nastavený config, treba jasne definovať externý oscilátor, prípadne povypínať nepotrebné periférie, nastaviť multiplexované piny správne.
Ako som písal v úvode datasheet je tvoj najlepší kamarát v tomto.
Žiaľ v Cčku ti neporadím neprogramujem v ňom aj keď som sa už párkrát odhodlával (starého psa novým kúskom ...) Programujem v ASM a Basicu.
Tu by sa mohol angažovať nejaký Cčkar z fóra.
1
Obrázok 1

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 04 Jan 2024, 22:06

Datasheet je tvůj nejlepší kamarád vždy u každého procesoru i každé periferie, kterou připojuješ. AVRka programuju už léta, ale bez datasheetu procesoru se neobejdu ani dneska. Sice už nemusím hledat, jaké má procesor periferie, zhruba i vím, jak se programují, ale datasheet při ruce mám vždycky a vždycky do něj kouknu, protože vím co chci nastavit a v datasheetu si najdu, jak to udělat (do jakých registrů a co zapsat). V Cčku už se nemusím starat o inicializaci SP (Stack pointer) registru procesoru (to za mně udělá Cčko), nemusím se starat o mazání paměti (totéž) ani o inicializaci tabulky přerušovacích vektorů, ale musím si nastavit používané periferie (minimálně IO piny a timer/counter), přerušení atd. K tomu se prostě datasheet vždy hodí.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 05 Jan 2024, 18:18

Tak som sa dokopal to skusit v Ccku. V simulatore to bezi, skus to nahrat do svojho PICu ci to pobezi aj v reale. Je to nakonfigurovane na externy 24MHz krystal. Ledka na porte RC5 by mala blikat v intervale 250ms ON, 500ms OFF.
Prikladam .HEX, main.c, ako aj config.h. Hadam ta to posunie v tvojom snazeni vpred.
18F44K22_RC5_Blink.hex
(352 Bajtov) 16 stiahnutí
conbits.h
(4.02 KiB) 26 stiahnutí
main.c
(344 Bajtov) 31 stiahnutí
0

Používateľov profilový obrázok
budvar10
Pokročilý člen
Pokročilý člen
Príspevky: 989
Dátum registrácie: 15 Dec 2014, 10:55
Bydlisko: Košice

Re: PIC18F44K22 programovanie

Príspevok od používateľa budvar10 » 05 Jan 2024, 19:02

balu napísal:
04 Jan 2024, 21:28
Ani AVRka se bez main a nekonečné smyčky v něm neobejdou. Je totiž úplně jedno, jaký procesor použiješ.
AVR GCC automaticky vkladá do epilógu funkciu stop_program, pokiaľ to nie je užívateľom zakázané resp. nastavené aby sa to nerobilo. Je to prázdna nekonečná slučka na úplnom konci programu. Je to akási poistka, normálne by sa tam program nikdy nemal dostať. Jednoduchý program to kľudne môže využiť.

A bez mainu program nejde ani zkompilovať.

Je to vlastnosť C/C++.

Predpokladám, že aj PIC má niečo také. Myslím, že by mal mať, ale nikdy som s tým nerobil.

To len, ak by to niekoho zaujímalo.
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 05 Jan 2024, 19:08

@Lennox - Prosím Tě, rád bych se zeptal na ten conbits.h. Protože MPLAB nepoužívám, tak mě zajímá tenhle soubor, resp. jeho obsah. #pragma neovlivňuje kód - to je soubor vygenerovaný MPLABem pro jeho konfiguraci ?
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 05 Jan 2024, 19:10

budvar10 napísal:
05 Jan 2024, 19:02
balu napísal:
04 Jan 2024, 21:28
Ani AVRka se bez main a nekonečné smyčky v něm neobejdou. Je totiž úplně jedno, jaký procesor použiješ.
AVR GCC automaticky vkladá do epilógu funkciu stop_program, pokiaľ to nie je užívateľom zakázané resp. nastavené aby sa to nerobilo. Je to prázdna nekonečná slučka na úplnom konci programu. Je to akási poistka, normálne by sa tam program nikdy nemal dostať. Jednoduchý program to kľudne môže využiť.

A bez mainu program nejde ani zkompilovať.

Je to vlastnosť C/C++.

Predpokladám, že aj PIC má niečo také. Myslím, že by mal mať, ale nikdy som s tým nerobil.

To len, ak by to niekoho zaujímalo.
No vidíš - člověk se pořád učí ...

A nehodil kompilátoru tím returnem do téhle pojistky tak trochu vidle ? 🤔

Edit: Vlastně asi ne ... stop_programm je na konci kódu, nikoliv mainu...
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 05 Jan 2024, 19:24

balu napísal:
05 Jan 2024, 19:08
@Lennox - Prosím Tě, rád bych se zeptal na ten conbits.h. Protože MPLAB nepoužívám, tak mě zajímá tenhle soubor, resp. jeho obsah. #pragma neovlivňuje kód - to je soubor vygenerovaný MPLABem pro jeho konfiguraci ?
Áno, v tom conbits.h sú základné nastavenia pre MCU.
Aby som túto základnú konfiguráciu nemusel písať otrocky ručne, tak v MPLABE je funkcia kde si to naklikáš a necháš vygenerovať header file, ktorý následne prilinkuješ.
Tu sa nastavujú základné parametre MCU ako typ oscilátora, PLL, WDT, ochrana proti čítaniu, zápisu atď.
ps. v MPLABE som robil teraz 1.krát v živote, čo ti poviem je to :snakeman:
1
Obrázok 1
Naposledy upravil/-a Lennox v 05 Jan 2024, 19:27, upravené celkom 1 krát.

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 540
Dátum registrácie: 21 Feb 2022, 12:06

Re: PIC18F44K22 programovanie

Príspevok od používateľa balu » 05 Jan 2024, 19:26

Děkuju za vysvětlení.
0

Používateľov profilový obrázok
epoxid
Okoloidúci
Okoloidúci
Príspevky: 36
Dátum registrácie: 17 Sep 2014, 19:52
Bydlisko: Piestany
Vek: 38

Re: PIC18F44K22 programovanie

Príspevok od používateľa epoxid » 08 Jan 2024, 21:18

Lennox - hex funguje aj kod co si poslal, uz som si to skusil vytvorit sam a vsetko zatial ide, uz mi ostava len dostudovat C . Dakujem za pomoc :)
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 08 Jan 2024, 21:58

epoxid napísal:
08 Jan 2024, 21:18
Lennox - hex funguje aj kod co si poslal, uz som si to skusil vytvorit sam a vsetko zatial ide, uz mi ostava len dostudovat C . Dakujem za pomoc :)
Tak to ma teší :thumbup: .

Sme na tom však rovnako, dokopal som sa aj ja na to Cčko. Pre mňa úplne nová platforma RISC-V procák CH32V003.

Len tak pre zábavu a aby sa človek čo to nové naučil. Vývojová doska za pár centov ako aj procáky.
https://www.aliexpress.com/item/1005005 ... 1802Rse5bZ
Vývojové prostredie som zvolil zatiaľ Embeetle.
https://embeetle.com/
Uvidíme ako to pôjde.
0

Používateľov profilový obrázok
Miko6005
Stály člen
Stály člen
Príspevky: 108
Dátum registrácie: 15 Dec 2018, 00:35

Re: PIC18F44K22 programovanie

Príspevok od používateľa Miko6005 » 08 Jan 2024, 22:52

Pre mňa úplne nová platforma RISC-V procák CH32V003.
Zaujimave, v tom datasheete od toho kontrolera je len "memory address map" ako ziadne registre nic o nich kde su, co je v nich atd. To sa uz ako nie je "in"? Asi som zaostal na to svojom ASM-ku...
0
Nuclear battery for electric cars !!!

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 08 Jan 2024, 23:22

Nuž, dnes to je samé HAL (Hardware Abstraction Layer) nikoho nezaujímajú nejaké registre :mrgreen:
Tiež si na to ťažko zvykám, preto toto beriem len ako pokus. Pri svojich projektoch ostávam pri PIC a ASM a ľahkom prístupe do registrov :D
Nerád :fortuneteller: čo a ako ten procák vlastne robí.
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: PIC18F44K22 programovanie

Príspevok od používateľa maskrtnik01 » 09 Jan 2024, 15:07

No, priamy prístup na registre má svoje čaro. Zato také usb by som nechcel programovať nanovo od registrov až po high-level funkcie.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 09 Jan 2024, 18:14

maskrtnik01 napísal:
09 Jan 2024, 15:07
No, priamy prístup na registre má svoje čaro. Zato také usb by som nechcel programovať nanovo od registrov až po high-level funkcie.
Súhlasím, bolo to myslené zo žartu. Som začínal na 8051, potom som prešiel na PIC a tam som sa nejak zakempoval a neposúval sa ďalej.

Akurát dnes priniesol kuriér "vývojový kit" tak idem na to ako v začiatkoch blikanie LEDkou, vstupy, prerušenia, timre atď. Uvidím ako dlho ma to bude baviť.
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: PIC18F44K22 programovanie

Príspevok od používateľa maskrtnik01 » 09 Jan 2024, 19:58

No čo sa týka základných periférií...clock tree, timery, uart, spi,... tak som to myslel doslova - je to určitý druh zábavy lúskať registre. Aj tak to isté treba robiť, keď človek rieši cez spi/i2c externý io - lúskať registre. Akurát nie sú mapované do pamäte, ale treba posielať r/w commandy.

Iné je ako som spomínal usb, alebo aj eth/wifi. Už som trochu pozeral do hotového kódu na usb/cdc. Kopa súborov, strácal som sa aj v tom, čo je kde presne a čo čo volá. A to tam ešte nie je tcp/ip stack.
0

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 09 Jan 2024, 21:23

Pre mňa je to čo si popísal ešte jedna veľká zahmlená neznáma, snažím sa to pochopiť z rôznych zdrojov z netu.

Čo sa týka toho WCH procáku, nemá zmysel sa púšťať do low level programovania je to extra zložité, teda aspoň pre mňa.
Nakopol som dosku, hodil na ňu headre, nakonfiguroval programátor a dal sa do skúšania. Hneď na šupu základné ovládanie portov, blikanie, vstupy, volanie prerušení, základný timer som prelúskal. Ide to celkom dobre zatiaľ.
Uvidím keď sa rozhodnem ho nasadiť do "reálneho" projektu či budem mať na to nervy :D .
WCH_mcu.jpg
0

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2574
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: PIC18F44K22 programovanie

Príspevok od používateľa maskrtnik01 » 09 Jan 2024, 21:42

Nie som na to odborník, aj keď niečo už mám za sebou. Pozrel som sa v krátkosti na to wch, nepôsobí na mňa vôbec desivo.
0

romiadam
Ultimate člen
Ultimate člen
Príspevky: 4418
Dátum registrácie: 09 Apr 2008, 00:00
Bydlisko: Wicklow, Irsko
Vek: 47

Re: PIC18F44K22 programovanie

Príspevok od používateľa romiadam » 10 Jan 2024, 19:25

Ja som po dlhom otalani presiel z ASM na C. Dokonca z MPLAB IDE na MPLAB X IDE a uz ani za nic na svete by som sa nevratil spat, lebo robit vacsie programy v ASM je samovrazda (robil som PID regulator aj kalkulacie v ASM, delenie a nasobenie 32 bitoveho cisla v ASM - ina smovrazda - ale spravil som to)
Casovo je to neporovnatelne, no ASM a MPLAB IDE ma naucili o com procesor je ako funguje. Je to dobre vediet, ale nie je to nutnost.

Code configurator je bozia pomoc u microchipu. "Za 3 minuty" (ak uz poznas MCU) mas nakonfigurovane periferie a cele MCU.

https://onlinedocs.microchip.com/pr/GUI ... 42928767F6

Zoznam podporovanych MCU MPLAB code configuratorom:
https://ww1.microchip.com/downloads/aem ... 1_82_1.pdf

PIC18F44K22 MPLAB code configurator podporuje, takze mas stastie.

Pozri tu ake je to jednoduche:
https://www.youtube.com/watch?v=JxSSVtTj_fA
1
Obrázok 1
Prepáčte mi za diakritiku a preklepy - väčšinou píšem z mobilu a ENG klavesnice.
(výroky nemenovaného člena fóra:) ...základy elektrotechniky ovládam dokonale, tak napr. taký tyristor neviem ako presne funguje

Lennox
Stály člen
Stály člen
Príspevky: 291
Dátum registrácie: 12 Sep 2019, 22:51
Bydlisko: Bratislava

Re: PIC18F44K22 programovanie

Príspevok od používateľa Lennox » 10 Jan 2024, 20:56

romiadam napísal:
10 Jan 2024, 19:25
Code configurator je bozia pomoc u microchipu. "Za 3 minuty" (ak uz poznas MCU) mas nakonfigurovane periferie a cele MCU.
Tak to je fasa, toto som nepoznal. Takto si budem vedieť pozrieť tie vygenerované makrá ako vlastne fungujú a používať ďalej v natívnej forme.

No díki ti chlape :thumbup:
0

Napísať odpoveď