Микроконтроллеры | Помогите с AtMega48 |
|
---|---|---|
Собираю одно устройство на atmega48, и для проверки пытаюсь запрограммировать в контроллер примерно такую программу, чтобы она вывела лог. 1 во все разряды порта B (программу для самого устр-ва еще не написал): .include "m48def.inc" Но программа не работает, логические 1 не появляются (генератор контроллера работает, программирование идет нормально, пробовал подавать сигнал сброса - не помогает). |
|
|
Ни в чем. Должна работать. Попробуйте запрограммировать Fuse Bits на внутренний генератор, проверьте программу в этой ситуации. Альтернативные функции по порту B не задействованы? |
|
|
Фьюзы запрограммированы так: OSCCAL = B4 CKSEL = 2, то есть, уже используется внутренний генератор Факт работы генератора установлен по программируемости контроллера (без генератора не должен программироваться, насколько я знаю) P.S. Что за дополнительные функции, и как они могут повлиять? |
|
|
Попробуйте вот так: На всех выходах должен быть меандр с частотой Fclk/6. |
|
|
Да, без какого-нибудь (не обязательно внутреннего) генератора программирование невозможно. Насчет дополнительных функций - выходные линии микроконтроллеров могут использоваться не только портами, но и другими компонентами (USART, ШИМ и прочее). В таких случаях совместное использование этой линии и портом, и дополнительным устройством может оказаться либо невозможным, либо должно выполняться с определенными ограничениями. За редким исключением, линию, на которой задействована альтернативная функция, нельзя использовать в качестве выводной (соответствующий бит DDRx не должен взводиться), иначе последствия могут быть непредсказуемыми. Судя по даташиту и фьюзам, в этом плане все у Вас нормально. Попробуйте взводить не все биты линии, а один (сначала ldi r16,0x01, при следующем прогоне - 0x02 и т.д.), если при каких-то комбинациях заработает - можно будет разбираться дальше. Повторю еще раз - программа правильная, должна работать |
|
|
Во-первых, не понятно, что творится на Ресете? Он подтянут к 1? А, вообще, неужто так сложно прогнать программу в AVRstudio? Сразу всё увидишь. |
|
|
6 и 7 порта В заняты кварцем. Я бы попробовал другой порт. |
|
|
В AVRStudio прогнал, там работает нормально. Между ножкой "Reset" и +5в подключен резистор на 4,7 к. Такое должно быть сопротивление? |
|
|
Спасибо за помощь, все заработало. |
|
|
Petrovich: Дело было в программировании МК, в его памяти программы оказывались не те коды. Предварительное стирание МК все исправило |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |