Fórum témák

» Több friss téma
Fórum » Parallax MS5607 nyomásmérés Atmega328p-vel
Lapozás: OK   1 / 1
(#) nrobee hozzászólása Dec 21, 2014 /
 
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.
(#) Medve válasza nrobee hozzászólására (») Dec 22, 2014 /
 
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
(#) gabi20 válasza nrobee hozzászólására (») Dec 22, 2014 /
 
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
(#) nrobee válasza Medve hozzászólására (») Dec 22, 2014 /
 
tudnád pontosítani, hogy mire gondolsz?
(#) nrobee válasza gabi20 hozzászólására (») 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.

i2cc.txt
    
(#) gabi20 válasza nrobee hozzászólására (») Dec 23, 2014 /
 
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.

i2c.txt
    
(#) Majlaci hozzászólása Dec 9, 2020 /
 
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
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem