I2C v AT91SAM7
Tomáš Hamouz
hamouz na alsoft.cz
Středa Červen 22 17:08:06 CEST 2011
Zdravím konferu
nemá zde někdo zkušenosti s ARM procesory Atmel AT91SAM7 ?
Při používání I2C ze začátku vše běží jak má, ale po nějaké době
(různé, zatím jsem nenašel souvislost) se I2C interface zblázní a
odmítá mi přijmout více než 1 byte.
Projevuje se to tak, že správně odešle začátek, ale po příjmu jednoho
bytu se tento nepotvrdí a periférie přestane posílat data.
Frame vypadá tedy takto:
<start>
adresa zařízení + write
interní adresa (1-2 byty, podle periférie)
<repeated start>
adresa zařízení + read
1. datový byte
<nack>
Nejhorší na tom je že ze začátku to běží, až po nějaké době se to
zkazí a už se to nevzpamatuje.
Zkusil jsem na začátku každé operace udělat reset periférie, ale to
pak neběží vůbec, netuším proč, v DS jsem žádnou informaci o trvání
resetu nenašel. Zůstane to zatuhlé a na něco to čeká. Když tam dám
debug výpisy, abych zjistil kde to tuhne tak to běží (s výše uvedenou
chybou).
Kudy se vydat při hledání chyby?
Tomáš
Další informace o konferenci Hw-list