Здравствуйте!
Необходима помощь вот с чем: имею МК xmega128a1 ua, к TWI порта С которого (выводы 0 и 1) подключен DS1621. Обе линии подтянуты к питанию DS1621 (3.3В) через резисторы 4,3 кОм, расстояние между микросхемами 5-7 см. Адрес ds1628 - 0(A0-A1 заземлены).
Как начинающий решил писать в CVAVR. Нашел библиотеки I2C и DS1621. Соответственно, они требуют перед #includ -ом хэдэров (i2c.h или ds1621.h) определить порт подключения с помощью следующей вставки:
/*I2C connected to PORTC*/
/* SDA to PIN0 */
/* SCL to PIN1 */
#asm
.equ __i2c_port = 0x02 ;адрес порта
.equ __sda_bit = 0 ;номер вывода
.equ __scl_bit = 1 ;номер вывода
#endasm
При этом адрес порта С данного МК - 0x064, а модуля TWIC - 0x0480. При вводе данных значений CVAVR ругается при построении, что они за пределами значений какой-то функции из *.asm файла проекта. Подходят только значения от 0x02 до 0x19 включительно. Пробовал перебирать, МК останавливается на выполнении функции ds1621_init(0,15,65,0) (в качестве индикатора выполнения процедур инициализации использую вывод символов на ЖКИ). Соответственно, ничего не работает.
Вопросы вот в чем: могут ли данные библиотеки работать с xmega a1. Если да, то в чем моя ошибка? Код в приложенном файле.
А вот и файл