| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Вопрос по чтению/записи eeprom mega16 на си
25.10.2008, 23:13
|
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
|
Вопрос по чтению/записи eeprom mega16 на си
приветствую!
пробую записывать и считывать значения еепром на мега16. использую cavr и прот. 7.2.6. есть пару вопросов:
1. можно ли делать тип данных для чт/зап еепрома не unsigned char, а unsigned int? например, так:
/* Pointer to EEPROM */
unsigned int eeprom *ptr_to_eeprom;
unsigned int data;
data=*ptr_to_eeprom++;
2. надо ли преобразовывать числа из 10-чной с/с в 16-ю перед записью и наоборот после чтения?
3. надо ли перед операцией чт/зап. запрещать прерывания?
|
|
|
|
26.10.2008, 02:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
1. eeprom на первом месте пожалуй. можно любые переменные использовать которые компилер поддерживает.
2. нет. числа как числа.
3. наверно нет - надо посмотреть листинг что там CVAVR компилит - может он сам запрещает прерывания и с даташитом сверится.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
26.10.2008, 08:54
|
|
|
Вид на жительство
Регистрация: 15.03.2005
Сообщений: 348
Сказал спасибо: 17
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
|
не юзайте 2 первые ячейки. возможен сбой.
|
|
|
|
26.10.2008, 12:22
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,815
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
|
Сообщение от xerox2
|
|
не юзайте 2 первые ячейки. возможен сбой.
|
как и всех остальных .....
проверка после записи, тройное избыточное сохранение и мажоритарное сравнение при считывании РУЛЯТ...
|
|
|
|
27.10.2008, 11:50
|
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
|
почему-то при записи int (число 7459 = 0x1D23) в eeprom в ячейки 1 и 2 записывается 23, а в 3 и 4 - 1D. Так и должно быть?
|
|
|
|
27.10.2008, 17:31
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,552
Сказал спасибо: 75
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Странно как-то. Прицепи проект.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
27.10.2008, 22:56
|
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
|
|
Сообщение от avr123-nm-ru
|
|
Странно как-то. Прицепи проект.
|
см. первый пост.
мне уже сказали, что это из-за того, что AVR 8-разрядный МК, а int - 16 бит, поэтому пишется сначала младший, а потом старший ))
|
|
|
|
29.10.2008, 18:46
|
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 181
Сказал спасибо: 1
Сказали Спасибо 31 раз(а) в 31 сообщении(ях)
|
Работа с eeprom mega16
еще такой вопрос:
как на Си (CAVR) сразу считывать (записывать) информацию с определенной ячейки? (например записано FE1D CD02, пропустить FE1D и сразу прочитать CD02)?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 04:12.
|
|