Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TWI в AVR32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > AVR32
voltAVR32
Подскажите пожалуйста!
UC3A отправляет адрес, и вроде как принимает байты которые ему посылает другое устройство (проверил осцилом),
вопрос в том как мне с этими данными работать?
Взял атмеловский пример для работы по TWI, данные как я понимаю должны быть в строке char data_received[];
но когда я вывожу строку на дисплей их там нет sad.gif.
vibro
Цитата(voltAVR32 @ Aug 13 2009, 09:12) *
Подскажите пожалуйста!
UC3A отправляет адрес, и вроде как принимает байты которые ему посылает другое устройство (проверил осцилом),
вопрос в том как мне с этими данными работать?
Взял атмеловский пример для работы по TWI, данные как я понимаю должны быть в строке char data_received[];
но когда я вывожу строку на дисплей их там нет sad.gif.

Я примерно так работаю с TWI:
Код
        uint8_t TWIRead;
        twi_options_t opt;
        twi_package_t packet;

        static const gpio_map_t TWI_GPIO_MAP = {
                    {AVR32_TWI_SDA_0_0_PIN, AVR32_TWI_SDA_0_0_FUNCTION},
                    {AVR32_TWI_SCL_0_0_PIN, AVR32_TWI_SCL_0_0_FUNCTION}
         };

        gpio_enable_module(TWI_GPIO_MAP, sizeof(TWI_GPIO_MAP) / sizeof(TWI_GPIO_MAP[0]));

        opt.pba_hz = FOSC0;
        opt.speed = 50000;
        opt.chip = 0x20;

        twi_master_init(&AVR32_TWI, &opt);

        packet.chip = 0x20;
        packet.addr = 0;
        packet.addr_length = 0;
        packet.buffer = (void*) &TWIRead;
        packet.length = 1;
        twi_master_read(&AVR32_TWI, &packet);
voltAVR32
а как использовать данные вот например если ты решишь вывести на дисплей
код будет примерно таким:
int tmp1 = TWIRead[0];
dip204_set_cursor_position(11,1);
dip204_write_data(tmp1);
или как то ещё?
vibro
Для начала можно так:

sprintf(string, "%d", TWIRead[0]);
dip204_write_data(string);
voltAVR32
всё равно не работает, а можешь показать код для функции twi_master_read(&AVR32_TWI, &packet);
в примере он в twi.c
voltAVR32
Проблему решил, просто взял другой пример и он заработал. Спасибо за помощь!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.