|
AT91SAM9263 и I2C, Не запускается. |
|
|
|
Oct 26 2011, 14:54
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 6-07-05
Пользователь №: 6 587

|
Не идут синхроимпульсы через TWCK. Сконфигурировал аппаратный TWI по даташит, пытаюсь записать байт, если выполнить пошагово в отладчике, то после AT91C_BASE_TWI->TWI_THR = data; обмен идет нормально. Если выполнять код без остановки, то проходят 2 - 3 синхроимпульса, потом на порту устанавливается единица, причем процесс носит случайный характер, может застрять в 0 или 1, также варьируется количество синхроимпульсов.
Даже не знаю в какую сторону копать , ПулАП установлен 2,5кОм.
Если поставить останов на while, обмен также идет нормально, если после while, опять начинается ерунда, как будто процессор мешает работе модуля TWI, если ядро остановить отладчиком, то все нормально.
AT91C_BASE_TWI->TWI_THR = data; while(!(AT91C_BASE_TWI->TWI_SR & AT91C_TWI_TXCOMP)); return;
Сообщение отредактировал sashad - Oct 26 2011, 14:56
|
|
|
|
|
 |
Ответов
|
Nov 6 2011, 10:25
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(DpInRock @ Nov 4 2011, 16:27)  Неча на TWI пенять. Работает безукоризненно. Да вообще-то это известный факт что TWI на всей линейке at91 не работает как надо http://lxr.free-electrons.com/source/drive...es/Kconfig#L287Цитата config I2C_AT91 tristate "Atmel AT91 I2C Two-Wire interface (TWI)" depends on ARCH_AT91 && EXPERIMENTAL && BROKEN help This supports the use of the I2C interface on Atmel AT91 processors. This driver is BROKEN because the controller which it uses will easily trigger RX overrun and TX underrun errors. Using low I2C clock rates may partially work around those issues on some systems. Another serious problem is that there is no documented way to issue repeated START conditions, as needed to support combined I2C messages. Use the i2c-gpio driver unless your system can cope with those limitations.
Сообщение отредактировал sasamy - Nov 6 2011, 10:26
|
|
|
|
Сообщений в этой теме
sashad AT91SAM9263 и I2C Oct 26 2011, 14:54 sashad Пришлось сделать програмный I2C Nov 3 2011, 18:38 aaarrr Цитата(sashad @ Nov 3 2011, 22:38) Пришло... Nov 3 2011, 19:31 Aleph Попробуйте сразу после
Цитата(sashad @ Oct 26... Nov 4 2011, 09:07 aaarrr Цитата(DpInRock @ Nov 4 2011, 16:27) Рабо... Nov 4 2011, 19:23 Aleph Цитата(aaarrr @ Nov 4 2011, 20:23) Работа... Nov 4 2011, 23:01 SimpleSoft Если посылаете 1 байт то сразу засылайте STOP, а п... Nov 5 2011, 07:47 DpInRock ЦитатаРаботает непредсказуемо на всей линейке AT91... Nov 5 2011, 08:46 aaarrr Цитата(DpInRock @ Nov 5 2011, 12:46) Если... Nov 5 2011, 09:21 DpInRock Логично предположить, что если TWI работает с сотн... Nov 5 2011, 10:57 aaarrr Цитата(DpInRock @ Nov 5 2011, 14:57) Логи... Nov 5 2011, 12:32 DpInRock ЦитатаДа вообще-то это известный факт
Вот эта ветк... Nov 6 2011, 10:48 sasamy Цитата(DpInRock @ Nov 6 2011, 14:48) Пока... Nov 6 2011, 12:21  DmitryM Цитата(sasamy @ Nov 6 2011, 16:21) Пробле... Nov 7 2011, 04:12   aaarrr Цитата(DmitryM @ Nov 7 2011, 08:12) Решае... Nov 7 2011, 08:03    DmitryM Цитата(aaarrr @ Nov 7 2011, 12:03) ... Nov 7 2011, 19:26     aaarrr Цитата(DmitryM @ Nov 7 2011, 23:26) Мы го... Nov 7 2011, 19:43      DmitryM Цитата(aaarrr @ Nov 7 2011, 23:43) Если в... Nov 8 2011, 05:29       aaarrr Цитата(DmitryM @ Nov 8 2011, 09:29) ...не... Nov 8 2011, 10:30        DmitryM Цитата(aaarrr @ Nov 8 2011, 14:30) Почему... Nov 8 2011, 12:56         aaarrr Цитата(DmitryM @ Nov 8 2011, 16:56) Ну ды... Nov 8 2011, 14:06          singlskv Цитата(aaarrr @ Nov 8 2011, 17:06) Дык уд... Nov 8 2011, 18:28  aaarrr Цитата(sasamy @ Nov 6 2011, 16:21) Пробле... Nov 7 2011, 09:16 *rust* Полностью разделяю точку зрения aaarrr. Могу конкр... Nov 11 2011, 09:40 sonycman Цитата(*rust* @ Nov 11 2011, 13:40) Заста... Dec 29 2011, 07:22
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|