SPI komunikace mezi Atmel Tiny2313 a RF modulem HOPE

Hledám někoho kdo by mi byl schopen poradit s naprogrováním SPI lomunikace TINY2313 a RF modulů (příjmač i vysílač) od fy HOPE
hoperf.com/rf_fsk/rf_transmitter.htm

Díky

:arrow_right: administrator: přejmenováno z "SPI komunikace ATMEL -RF moduly"

To co mají na webu(programming guide) ti nestačí? Potřebuje to akorát přepsat pro tiny tj. přepsat definice a zkontrolovat hw možnosti (nastavit USI pro SPI mód).
Pokud bys chtěl obousměrnou komunikaci, tak na to je transceiver hoperf.com/rf_fsk/rfm12b.htm

Abych pravdu řekl, tak tedy nestačí. Jsem totiž začátečník a začal jsem používat MikroPascal a “C” vůbec neumím. Potřeboval bych proto trochu polopaticky naznačit postup, nebo uvedené C příklady přeložit do češtiny. Ale to už to troch přeháním, je mi to jasné.
Díky

Nezbývá než poradit, že pokud jsi s Pascalem opravdu teprve začal - tak s ním radši skonči a znovu začni s C. Myslím,že neprohloupíš. Ale hlavně najdeš mnohem víc lidí schopných a ochotných ti poradit - aspoň na tomto fóru jsou jak jsem si všiml samí Céčkaři (vyjma některých skalních asemblerářů).
V opačném případě musím souhlasit s pityym - v jejich pr. guide máš opravdu všechno potřebné pro sepsání programu - komunikační protokol a diagram je stejný pro všechny a v jakém jazyce si ho napíšeš je úplně jedno.

Koukám do pdfka od transceiceru RFM12.
Program v C vždy začíná funkcí “main()”. V ní je na začátku inicializace procesoru, tady je pak pro tebe důležitá část - inicializace transceiveru “RF12_INIT(void)”. Pak je tam spousta hatmatilky, další důležitá část se nachází v mainu v cyklu while(). Jeho obsah se provádí periodicky dokud je pslněná podmínka (tady až do vypnutí procesoru). Zde je vidět co se musí provést pro odeslání dat (ten checksum nebude nutný, ale užitečný). Pokud tedy umíš odeslat byte po spi, měl bys to dát do kupy.

Jak píše lou, určitě bych se na C mrknul, pro mcu je to víceméně standard. Správně napsaný program je často s minimálními úpravami použitelný i na úplně jiném procesoru. Např. portování programu z avr na x51 spočívalo v podstatě jen přepsání definic a inicializačních rutin procesoru, výkonná část programu zůstala stejná. Naproti tomu pascal, arduino a další věci jsou víceméně okrajové a na platformě závislé výtvory. Né že by nešly použít jinde, ale nejsou pro jiný hw k dispozici. Když už výrobce čehosi dá k produktu příklad zdrojáku, většinou jde o C.

“…přeložit do češtiny.” - to jsi mě pobavil :smiley: Při psaní programu pro jiný mcu než pro který máš knížku v češtine(AVR, x51, PIC, víc jak 3 pro každou rodinu bych si netipnul) se bez zkoumání datasheetu neobejdeš. Naprostá většina jich je v AJ.

Vážení pánové lou a piityy,

díky za odpovědi i když mne moc nepotěšily. Svorně mi radíte udělat to, čemu se usilovně bráním mnoho let a čemu se asi na stará kolena neubráním. Všechny klady Céčka znám, ale kdysi jsem se naučil Pascal a do méně čitelného a možná i logického Céčka se mi už pak nechtělo. A protože jsem Pascalu (Delphi) používal v oblasti zpracování dat, nedalo se o výhodách Céčka vůbec mluvit, alespoň ze začátku. Nerad, ale musím připustit, že pro práci s MCÚ tomu je asi zcela obráceně.

Co se týče překladu do češtiny, tak to je nedorozumění. Tím překladem jsem měl na mysli překlad C-kódu do srozumitelné řeči člověku Céčka neznalého. Něco na ten způsob jako začala jedna z vašich odpovědí.

Na závěr bych vás, pánové, poprosil o doporučení asi dost polopatického manuálu k tomu zatracenému Céčku, může být i v anglině.

S pozdravem Pascal je mrtvý ať žije … fuj, fuj,fuj.
epes

Např. na builderu je o C seriál. builder.cz/serial3.html Ten je ovšem zaměřen na systémové programování. Je tam tedy pro jednočipaře pár zbytečných dílů (jako práce se soubory, parametry funkce main, na malých procesorech i alokace paměti - značně zvětší výsledný kód). Naopak několik zásadních dílů je až později (Modifikátory paměťové třídy, bitové operace, programové moduly). Pozor hned v prvním dílu - rozsahy a velikosti datových typů na jednočipech nesedí (int je u avr gcc 2B, long 4B, char je někdy nutno předepsat jako “signed char” pokudmá být se znaménkem - dle nastavení projektu). Podrobnější info je v dokumentaci překladače.

Pokud půjdete do C, určitě se tu ještě uvidíme :smiley: (běžné problémy s “volatile”, nechtěné optimalizace…)

Tak jsem si pročet prvních 5 dílů a jejda - člověk se má stále co učit :smiley:
Třeba “continue” jsem snad nikdy nepoužil a ten pro mne atypický for také ne…

Určitě bysme v případě zájmu našli i nějaký jednodušší komentovaný příklad na hraní.

Nic si z toho nerob, tiez som sa volakedy naucil po slovensky a dnes to uz vobec nestaci :slight_smile:

toto je absolutne najlepsi serial o C na AVR.

mikrocontroller.net/articles … C-Tutorial

pre zmenu v nemcine :slight_smile: :slight_smile: :slight_smile:

ale je to absolutne zrozumitelne a prehladne. Az sa divim, ze to nikto neprelozil (mozno preto, ze je to tak zrozumitelne, ze ani nie je co prekladat :slight_smile: ). A urcite sa neuc ine C-cko ako GCC (WINAVR).
Tak ako je C rozsirene spomedzi vsetkych progamovacich jazykov najviac medzi jednocipakmi, tak je GCC najviac rozsirene napriec roznymi platfomami. Ziadne okliestene alebo obmedzene trial verzie. Na to sa - ak nechces v skorej buducnosti kupovat profesionalne prostredie za tomu zodpovedajucu cenu - jednoducho nedaj nachytat.
Ak uz venovat cas nejakemu studiu, tak tomu, ktore mozes vyuzit na 8b (AVR), 32b(ARM7, Cortex-M3, …), Linux alebo Windows.

Pánové,
díky za rady a doporučení, především za typ na kompilátor , na ten jsem se zapomněl včera zeptat.

S pozdravem