Strana 2 z 2

Re: PIC18F44K22 programovanie

Napísané: 04 Jan 2024, 21:54
od používateľa Lennox
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.

Re: PIC18F44K22 programovanie

Napísané: 04 Jan 2024, 22:06
od používateľa balu
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í.

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 18:18
od používateľa Lennox
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) 18 stiahnutí
conbits.h
(4.02 KiB) 28 stiahnutí
main.c
(344 Bajtov) 33 stiahnutí

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 19:02
od používateľa budvar10
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.

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 19:08
od používateľa balu
@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 ?

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 19:10
od používateľa balu
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...

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 19:24
od používateľa Lennox
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:

Re: PIC18F44K22 programovanie

Napísané: 05 Jan 2024, 19:26
od používateľa balu
Děkuju za vysvětlení.

Re: PIC18F44K22 programovanie

Napísané: 08 Jan 2024, 21:18
od používateľa epoxid
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 :)

Re: PIC18F44K22 programovanie

Napísané: 08 Jan 2024, 21:58
od používateľa Lennox
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.

Re: PIC18F44K22 programovanie

Napísané: 08 Jan 2024, 22:52
od používateľa Miko6005
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...

Re: PIC18F44K22 programovanie

Napísané: 08 Jan 2024, 23:22
od používateľa Lennox
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í.

Re: PIC18F44K22 programovanie

Napísané: 09 Jan 2024, 15:07
od používateľa maskrtnik01
No, priamy prístup na registre má svoje čaro. Zato také usb by som nechcel programovať nanovo od registrov až po high-level funkcie.

Re: PIC18F44K22 programovanie

Napísané: 09 Jan 2024, 18:14
od používateľa Lennox
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ť.

Re: PIC18F44K22 programovanie

Napísané: 09 Jan 2024, 19:58
od používateľa maskrtnik01
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.

Re: PIC18F44K22 programovanie

Napísané: 09 Jan 2024, 21:23
od používateľa Lennox
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

Re: PIC18F44K22 programovanie

Napísané: 09 Jan 2024, 21:42
od používateľa maskrtnik01
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.

Re: PIC18F44K22 programovanie

Napísané: 10 Jan 2024, 19:25
od používateľa romiadam
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

Re: PIC18F44K22 programovanie

Napísané: 10 Jan 2024, 20:56
od používateľa Lennox
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: