Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: I2C в cvavr
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
nopox
Здравствуйте!
Необходима помощь вот с чем: имею МК 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. Если да, то в чем моя ошибка? Код в приложенном файле.

А вот и файл
alexeyv
Цитата
Вопросы вот в чем: могут ли данные библиотеки работать с xmega a1. Если да, то в чем моя ошибка?


Если вопрос по "библиотекам" , то где же они сами? Или Вы думаете что мы телепаты?
nopox
Стандартные библиотеки. Пришлось изменить расширения, тк форум запрещает загрузку с оригинальными.

Сегодня выспался и вродь разобрался... Для xmeg'и надо пользоваться только ds1621_twi.h. Он использует аппаратный TWI.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.