Van egy tizenéves 2.0 alaplapom, és megpróbálom használni ezt az LCD-t a TTL sorozaton keresztül.
Kaptam, hogy jól működjön az Arduino uno-val, és mintát készítsek az Arduino-kódról, de tizenéves és C nyelven szeretném csinálni.
A tizenéves az ATmega32u4-et használja, és itt található az adott chip adatlapja.
Az adatlapon, a 186. oldaltól kezdve, megtalálja a USART szakaszt. A 192. oldalon található egy minta kód C nyelven az USART inicializálásának módjáról. Pár vonalon zavart vagyok, és segítségre lehet szükségem.
Először is, nem világos, mi legyen az adatátviteli sebesség száma. Az LCD-képernyőm 9600 baudot igényel 1 indító bit, 1 stop bit, nincs paritásbit és 8 adatbit. Az ATmega32u4 adatlap 189. oldalán kiszámoltam, hogy mi legyen az adatátviteli sebesség, mely a tizenéves és az LCD kombináció esetén legyen 103, mert a chip frekvenciája 16 MHz, az átviteli sebesség pedig 9600. Ez szintén egyezik az ATmega32u4 adatlap 213. oldalán található táblázat száma. Tehát ez a helyes szám, amelyet átadnának az USART_Init függvénynek a változóhoz baudban?
Az átviteli sebességet beállító két sorban is zavaros vagyok. Megértésem szerint az ATmega32u4 adatlap 209. oldala alapján az adatátviteli sebesség regiszterek magas és alacsony regiszterekre vannak osztva, de a magas regiszterben csak a 8:10 biteket használják, így ez egy 12 bites kombinált regiszter. . Tehát visszatérve a kódra, nem értek néhány dolgot:
- Miért van az aláíratlan karakter típusa, mert azt hiszem, az UBRRHn-nek bináris jelölésben kell lennie?
- Én sem értem a részt (baud >> 8), mert ha baudra kitöltesz 103-at, akkor kapsz (103 >> 8), és ez nem stimmel. Valaki meg tudja magyarázni nekem ezt a sort? Köszönöm.
- A baudnak a 103 12 bites bináris verziójának kell lennie, amely 00001100111? Ha igen, hogyan írnák a kódot?
A teensy webhelyén találtam néhány kódmintát (http://www.pjrc.com/teensy/uart.html), amelyek konfigurálják az UART-ot, és így állítják be az átviteli sebességet:
Ha összekötöm a számokat, ez így néz ki:
- A 208-as szám eltér a 103-tól, ezért nem értem, honnan veszik az egyenletet annak kiszámításához.
- Az UBRRn-t csak az ATmega32u4 adatlapja említi a 188. és a 189. oldalon. Úgy tűnik, hogy az értéke UBRRHn és UBRRLn. Úgy tűnik, hogy a fenti kód megpróbálja mindkettőt egyszerre beállítani, de mint int. Annyira össze vagyok zavarodva, hogy nem kell-e bináris jelölésben lennie?
Nos, várom, hogy túllépjek ezen a púpon, és folytathatom az LCD táncomat.:)
- A BTS streaming sorozatokat indít koreai nyelvtanulás céljából
- Öt potenciális ellenfél Canelo számára, és hogyan állnának szembe a mexikói középsúlyú bajnokkal
- Állítható gyomor lufi hogyan működik ez a súlycsökkentő kezelés
- 15 tipp és trükk a fogyás gyors megismeréséhez
- MCT olaj fogyáshoz Hogyan működik és milyen előnyökkel jár a La Opinion