Avr lecke 33

Most már nem kell lökdösni, de nyomon kell követnünk az állapotukat. Először is, hozzon létre egy pozitív frontot, amely magas szinten áll az SCK lábán

PORTB | = (1<

A bal egérgombbal 1 ponttal állítsa be az új bit helyét. Ha ez az első ciklus, akkor rendben van, ez a változó nulla, ezért ne írjon semmilyen feltételt

PORTB | = (1<

eredmény <<=1; //сдвигаем влево байт, чтобы записать очередной бит

Most, ha a MISO lábfej szintje 1-nek felel meg, akkor a változó jobb sora

eredmény <<=1; //сдвигаем влево байт, чтобы записать очередной бит

ha ((PINB (1<

eredmény = eredmény | 0x01; írja be a bit olvasását a MISO port lábáról

Ezután az SCK negatív élét és várjon 1 órát

eredmény = eredmény | 0x01; írja be a bit olvasását a MISO port lábáról

(1<

asm ("nop"); // 1 ciklus várakozás

Végezze el a hurkot, és adja vissza az eredményt a funkcióból

asm ("nop"); // 1 ciklus várakozás

visszatérési eredmény; // visszaadja az eredményt

Most meg kell adnunk a parancs átviteli függvényt SD-ben.

Nyissunk meg egy példát a datashitban

Avr lecke 33

Minden csapat rendelkezik egy indexel. Ennek a parancsnak 8-as indexe van, mivel CMD8-nak nevezik. Vannak különbségek a parancsok típusaiban is. De ezt később még mindig érdekli ez a típus, és ezt a parancsot később át kell adni nekünk.

Látjuk, hogy a parancs továbbítása 48 bitből áll, azaz 6 bájtból. Az első sor a bit helyzetét mutatja a parancsban, a második - a bit értékeit, a harmadik - az értéket és a negyedik - a paraméter magyarázatát.

A kezdő bit mindig 0.

Az adási bit 1.

A parancsindex - ebben a parancsban 8.

akkor tartsd be a fenntartott biteket - akár 20 darabot is, amelyek mindegyike nulla.

Aztán ott vannak a paraméterek, az ellenőrzőösszeg 7 bitje és a stop bit - mindig 1.

Tehát meg kell adnunk a parancs átadásának funkcióját

A bájtok átvitelére és fogadására vonatkozó funkcióink után fogjuk írni, mivel ezeknek a funkcióknak az új funkcióját fogjuk használni

aláíratlan karakter SD_cmd (char dt0, char dt1, char dt2, char dt3, char dt4, char dt5)

Itt van hány paraméter. Csakúgy, ahogy bájtunk van a csapatban. Aztán többet megtudunk róluk

aláíratlan karakter SD_cmd (char dt0, char dt1, char dt2, char dt3, char dt4, char dt5)

Kapcsolódó cikkek