[an error occurred while processing this directive]
Ответ: как в чем?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено CyberRevenger 28 февраля 2003 г. 14:23
В ответ на: Ответ: в чем работаеш и как инициализируеш переменные? отправлено superkeks 28 февраля 2003 г. 14:01

В AVR Studio 3.55, программа на асме, я устанавливаю прерывание от TWI активным и по его возникновении читаю регистр статуса TWI интерфейса twsr, если код соответствует чтению из twi, то считываю из внешней срам байт и запихиваю его в twrd примерно так:

Int_from_I2C:
lds r16,twsr
cpi r16,0xA8
breq tx_byte
cpi r16,0xB8
breq tx_byte
lds r16,twcr
ori r16,0x80
sts twcr,r16
reti;

tx_byte:
lds r16, 0x1100 ;0x1100 начальный адрес с которого начинается вн. срам
sts twrd,r16
lds r16,twcr
ori r16,0x80
sts twcr,r16
reti;
потом устанавливаю бит twint в регистре twcr и выхожу из прерывания.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru