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 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