Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: TWI и AT24
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
beer_warrior
Записываю в АТ24 конфигурацию через УСАРТ:
Код
memcpy(&prg,&rx_buf[1],sizeof(set.prg));   // это текущие параметры
AT24_Write((BYTE*)&prg,0x50,offsetof(SET,prg),sizeof(set.prg)); // а это их дубль
tx_buf[0] = ANSWER_OK;
SendFrame(&tx_buf[0],1);

При записи 1,2,3...
Читаеться С1,С2,С3 или Е1,Е2,Е3... (Зависит от фазы Луны)
Проверяю:
Код
memcpy(&prg,&rx_buf[1],sizeof(set.prg));   // это текущие параметры
memset(&prg,0x55,512);
AT24_Write((BYTE*)&prg,0x50,offsetof(SET,prg),sizeof(set.prg)); // а это их дубль
tx_buf[0] = ANSWER_OK;
SendFrame(&tx_buf[0],1);


Возвращает 0х55, к процедуре записи претензий нет...
Наверное косяки в УСАРТе?
Код
memcpy(&prg,&rx_buf[1],sizeof(set.prg));   // это текущие параметры
//memset(&prg,0x55,512);
//AT24_Write((BYTE*)&prg,0x50,offsetof(SET,prg),sizeof(set.prg)); // а это их дубль
//tx_buf[0] = ANSWER_OK;
SendFrame((BYTE*)&prg,512);

Возвращает нормальное эхо.

Что бы это значило?
В других местах процедуры записи в АТ24 пашут нормально.
rezident
Я не понял что за процедуры AT24_Write и SendFrame? Это какие-то стандартные из библиотеки компилятора что вы не привели их код? Если так, то из какого именно компилятора? В них наверное реализовано выравнивание по адресам и фрагментирование на размер буфера записи AT24? Иначе как вы пишете за раз массив размером больше, чем буфер записи в м/с EEPROM?
beer_warrior
Цитата
Я не понял что за процедуры AT24_Write и SendFrame?

Самописные, но к SendFrame вопросов нет, пашет как часики.
AT24_Write это немножко подрихтоанная из BasicTWI - добавлен аргумнет адрес устройства. Интересно другое - почему данные проинициализированные в устройсте пишуться нормально, а полученные извне - бьются? Абсолютно точно установлено - УСАРТ не причем, копия в памяти нормальная.
sgrig
Я чего-то не догоняю, про что речь: TWI или USART?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.