Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
30.04.2008, 06:27
|
|
Частый гость
Регистрация: 23.06.2007
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Atmega48 засада
Здра всем!
Знамо, ввиду отстствия должной компетенции, активно прыгаю на граблях AVR. Устал прыгать, предлагаю присоединиться.
Работаю с Atmega48. AVRStudio.
1 непонятка.
запись-чтение EEPROM-а. при
том запрещаю перрывания.
читаю 200 байт, инкрементируюю каждый, пишу обратно.
вывожу на терминал результат. ресетю, и опять по кругу.
после первого цикла оказалось, что из 200 байт перезаписаловь успешно где-то в райне 120,
после второга раза перезаписалось успешно у 80, потом у 50 и т.д. на понижение. первые 5 байт без проблем перезаписываются.
в зуб ногой, не пойму, что за засада такая...
2 непонятка:
фьюзы выставлены на внутрениий генератор, но в упор не вижу 8Мгц.
UART начинает работать на рабочей железке только если я в свойстве проекта выставляю 1Мгц. Кроме того, при 8Мг _delay_ms(1000) дает вместо 1 сек - 8сек. Всего таких два макета. Пробовал синхронизировать от внешнего кварца- та же фигня...
|
|
|
|
30.04.2008, 12:25
|
|
Прописка
Регистрация: 27.11.2004
Сообщений: 175
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
по 2 непонятке
ckdiv8
стр 28 етц даташита
|
|
|
|
30.04.2008, 12:48
|
|
Частый гость
Регистрация: 02.04.2007
Сообщений: 37
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
1 покажите код
2 как указали выше, установлен фьюз "деление тактовой частоты на 8"
|
|
|
|
30.04.2008, 14:25
|
|
Частый гость
Регистрация: 23.06.2007
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Спасибо большое за подсказку!
У меня некоторый пробел в области знаний по фьюзам.
Раньше наивно полагал, что все они вынесены на отдельную вкладку моего программатора. Ан нет....
Выполнил сий код:
CLKPR=0b10000000;
CLKPR=0b00000000;
и всё стало на свои места. Буду читать даташит.
По первому вопросу. Есть некоторый внешний контроллер, который на Атмегу48 скидывает по УАРТ-у информацию.
Функция записи байтов в еепром - "правильная"(как в даташите + блокировка прерываний). Имею подозрение, что ошибка рождается где-то на стыке приемопередачи информации.
передаю инфу пакетами: 1байт-команда записи, 1байт, 1 байт-размер посылки n, 1байт-стартовый байт в еепром, n байтов.
Вот если n=1 то всё записывается отлично. Недостаток лишь в том, что на 1 записываемой байт приходится слать 3 служебных. а вот с 200 батами выходит беда. В общем, думаю, что эта проблема - результат какого-то моего недосмотра. Буду искать место засады.
Всем откликнувшимся еще раз спасибо большое.
Пойду учить матчасть...
И пользуется данная функа так:
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
at90s1200 и кварц 32,768 не стартует... в чем засада?
|
asmkey |
Микроконтроллеры, АЦП, память и т.д |
28 |
10.05.2014 14:24 |
Засада с LayOut5
|
user-x |
Proteus, KiCAD и другие ECAD |
5 |
07.05.2014 20:39 |
ATmega48 не могу разобраться с АЦП
|
jtlex2007 |
Микроконтроллеры, АЦП, память и т.д |
3 |
09.09.2008 15:04 |
FIRST USE PROTEUS 7.4 DEBUG ATMEGA48
|
shihaidong |
Микроконтроллеры, АЦП, память и т.д |
11 |
04.09.2008 19:21 |
Proteus + ATMEGA48
|
Tcom |
Микроконтроллеры, АЦП, память и т.д |
7 |
09.10.2006 14:18 |
Часовой пояс GMT +4, время: 01:04.
|
|