реклама на сайте
подробности

 
 
> SAM7S256 + TWI (write, non ISR), выручайте, вроде все просто но нифига не понимаю ничего
Romario
сообщение Mar 25 2007, 17:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 26-06-04
Пользователь №: 192



набросал из flowchart'а мануаловского. запустить на передачу. иду по шагам в ADS AXD

Код
SAM256_TWI->THR  = 0; // *
SAM256_TWI->CR   = 1; // START


на операторе '*' по TWI начинается постоянно идти данные (вообше постоянно!)

ладно, переделал по другому:

Код
SAM256_TWI->CR   = 1; // START
SAM256_TWI->THR  = 0;

что-то выплюнула.

идем далее,

Код
      SAM256_TWI->THR  = 0;
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);
      
      SAM256_TWI->THR  = 1;
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);
      
      SAM256_TWI->THR  = 2;
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);


выплевывает, НО! каждый раз одно и тоже
и причем ни 0 и ни 1 и ни 2 в независимости от того что пишу в SAM256_TWI->THR.

нашел какой то пример, в нем так:

Код
      SAM256_TWI->CR   = 1; // START
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);
      SAM256_TWI->THR  = 0;
      
      SAM256_TWI->CR   = 1; // START
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);
      SAM256_TWI->THR  = 1;
      
      SAM256_TWI->CR   = 1; // START
      do {     sr = SAM256_TWI->SR;
      } while((sr & 4) == 0);
      SAM256_TWI->THR  = 2;


один фиг, все равно выплевывает мусор и причем один и тот же.

Кстати еще интересно:
в отладчике SAM256_TWI->SR равен 0x0000010D
во первых откуда бит 3 в '1' и потом TXCOMP выставляется в 1 хотя STOP не посылал.


Короче не могу я врубится в этот TWI. Сдаюсь!
Помогите рабочим примером для записи хотябы!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016