Fórum témák
» Több friss téma |
Kedves forumozók. A segítségeteket kérném. Magasségmérőt próbálok beprogramozni egy Atmega 328p-vel. A felhasznált szenzor egy Parralax MS5607, aminek a kimenete egy 24bites érték, és képes komunikálni i2c és spi buson is. Napok óta próbálkozom komunikációra bírni a szenzort de nem akar sikerülni i2c-vel. A program eljut addig a pontig amikor a szenzorbol kikellene olvasnia az elso bájtot és itt megáll. Terminallal próbáltam figyelni hogy melyik pontba akad meg, méghozzá úgy hogy kiírattam egy számot uarton minden parancs után - ha megnézitek a programot akkor a 8-as szám kiírása előtt akad meg.Tudna valaki segíteni miért akad meg a kiolvasásnál és hogy hol lehet a probléma? A kódom mellékeltem és a felhasznált könyvtárat is. AVR studiot használok.
Szia, én az Ack-NoAck páros helytelen használatára gyanakszom egyelőre.
Én a BMP180-at használtam az Arduino IDE alatt, ott semmi problémám nem volt
Szia szerintem egy I2C_stop függvényt ki kell venned, ami a BEFORE READ alatt található. Így kell kezelned az I2C portot:
1. kiküldöd a start jelet, majd slave adress + Write 2. kiküldöd a word adresst (0x00) ezzel beállítod, hogy melyik bájtot akarod olvasni a slaveből 3. ITT NEM ÁLLÍTOD LE A KOMMUNIKÁCIÓT !!!, hanem újabb start jelet küldesz (Repeated start + Slave adress + Read) 4. ezután olvashatod sorban a bájtokat 5. az utolsó bájtot NACK-al fogadod 6. itt küldöd ki a stop jelet A hozzászólás módosítva: Dec 22, 2014
próbáltam átírni a programot ahogy te javasoltad, de az eredmény azonos, vagyis az első bájt fogadásánál a program megakad és nem fut tovább, idáig eljut vagyis terminalon a számokat 7ig írja ki. Mellékeltem a foráskódot, ahogy módosítottam.
Szia hát nemtudom esetleg próbáld ki ezeket az i2c függvényeket, én ezt szoktam használni, csak simán bemásolod a forráskódba. Ne felejtsd el itt beállítani a TWBR regisztert.
Sziasztok!
Tudna-e segíteni valaki abban hogy atmel studio6-ban hogy kell beállítani azt hogy az atmega328p külsö 16Mhz-es kvarcról járjon? Maximum 8Mhz-et találtam benne. Elöre is köszönöm: Majlaci |
Bejelentkezés
Hirdetés |