Dobrý den
jsem ještě vcelku začátečník s programováním avr a chtěl jsem se zeptat co to jsou a jak se používají konfigurační bity u mikroprocesorů (momentálně pracuji s atmega 8).
Předem děkuji všem za odpověď.
Dobrý den
jsem ještě vcelku začátečník s programováním avr a chtěl jsem se zeptat co to jsou a jak se používají konfigurační bity u mikroprocesorů (momentálně pracuji s atmega 8).
Předem děkuji všem za odpověď.
No pouzivaji se k tomu co pises.. ke konfiguraci jednotlivych periferii co procesor obsahuje...
Prakticky kazda periferie ma sadu konfiguracnich bajtu + obvykle i datove na urcitejch mistech v pameti... V C/C++ kompilatorech (ale vlastne i v assembleru pomoci tusim definici) pak muzes pristupovat k aliasum jako PORTB/PINB/DDRB a ovladat smer jednotlivych pinu na portu, pull up rezistory pro vstupni piny... PINB zase nacita aktualni stav na pinech... (muze se lisit od PORTB - obzvlaste u vstupnich pinu)
a tak dale
#1 colin
To co napsal KIIV je naprosto správně, zkusím napsat příklad:
PORT B se konfiguruje pomocí bajtu kterej má alias PORTBDIR a každý bit v tom bajtu má svůj význam. Třeba první bit nastavuje, jakej bude mít PIN_B0 na tom mikru směr (0=vstup, 1=výstup), druhý pin PIN_B1 to samý atd. takže když budeš chtít mít na portu B dvě tlačítka a 6 led diod, kterýma budeš svítit, tak uděláš:
PORTBDIR = 0 // na zacatek nuly do celeho bytu
PORTBDIR = !PIN_B0 + !PIN_B1 + PIN_B2 + PIN_B3 .. //B0 + B1 vstupy, ostatní vystupy
// ty nuly se samozřejmě nastavovat nemusi, kdyz je to v predchozim kroru nulovany :)
no a potom se zaměř na bitové operace, zejména &= a |= .. tím se dá nastavit třeba jeden konkrétní bit.
Pozn.: Názvy registrů se mohou v jednotlivých typech MCU lišit :)
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku