Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Вопрос по апноте AVR311 - TWI Slave Implementation, точнее по исходнику от туда.

Отправлено Dikoy 24 марта 2008 г. 09:45


Есть там прерывание __interrupt void TWI_ISR( void ), в котором разгребаются все события TWI. Чтение данных идёт в буфер:
TWI_buf[TWI_bufPtr]
Из него же они отправлояются.
Вопрос такой - из текста апноты я понял, что в буфере, в итоге, будет сидеть не только само сообщение, но и адрес получателя первым байтом...
Так ли это, может кто разяснить?
Ибо мне он нахрен не нужен в буфере...

Ну и второй вопрос.
С трудом понял, как задаётся собственный адрес получателя. Есть строчки:
<code>
#define TWI_ADR_BITS 1 // Bit position for LSB of the slave address bits in the init byte.

// Own TWI slave address
TWI_slaveAddress = (0x10<<TWI_ADR_BITS);
TWI_slaveAddress2 = (0x11<<TWI_ADR_BITS); // Alternativ slave address to respond to.
TWI_slaveAddressMask = TWI_slaveAddress ^ TWI_slaveAddress2; // XOR the addresses to get the address mask.
</code>
Для чего нужен TWI_slaveAddress2?.. И вообще, механизм задания адреса тут мне непонятен... Обычно, дал ему число от 1 до 127, он и радуется. Ноль - общий адрес. А почему тут так?..


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 38:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru