AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
26.08.2022, 02:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
|
PORTD.3
Соорудил я тут один дивайс на процессоре AtMega8, он собирает информацию с большой кучи датчиков, обрабатывает ее и выводит свой вердикт на дисплей. Все тип-топ, работает как надо.
Но в течение последних дней я понял, что у шефа в запасе очень много хотелок по обработке и мне не хватает памяти восьмой атмеги. Причем уже катастрофически, а что будет дальше?...
Надо взять атмегу побольше. Ну, я с плеча размахнулся и взял AtMega1284P. А чо там мелочиться? На год вперед на все хотелки хватит.
А фигвам. Не заработало. И как всегда у меня бывает, странным образом. Прямо в Протеусе не заработало. Ножка PORTD.3 мертвая. На нее ничего не выводится.
Я для теста выбросил из программы вообще все. Оставил вывод одной фразы на дисплей. Не работает.
Подменил ножку, вместо portd.3 взял portb.4 (она у меня свободная пока) - работает как надо. Но это ж плату резать надо, я ее уже отлутил. Да и какого черта, чем portd.3 хуже? Надо бы ее заставить подчиняться.
Кто-нибудь может идею подать, чего ей не хватает? Только идея типа "выбрось бейсик" не принимается. Мне лень менять среду, а это требует уважения Я для Ардуино пишу на си, а для этих мне бейсика выше крыши хватает.
Программу и модель прилагаю.
|
|
|
|
26.08.2022, 06:06
|
|
Прописка
Регистрация: 17.03.2015
Сообщений: 298
Сказал спасибо: 0
Сказали Спасибо 224 раз(а) в 127 сообщении(ях)
|
Re: PORTD.3
Сообщение от spamkerdyk
|
Ножка PORTD.3 мертвая. На нее ничего не выводится
|
Для начала, убедитесь, что отключены альтернативные функции.
|
|
|
|
26.08.2022, 09:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
|
Re: PORTD.3
Сообщение от ProtAS-13
|
Для начала, убедитесь, что отключены альтернативные функции.
|
Я вам открою маленький секрет. Никакой я не программист, я просто беру подходящий сэмпл и переписываю его под свои нужды. А соответственно никаких сколько-нибудь глубоких знаний.
Да, я подозревал, что мне мешает UART TXD, который сидит на этой ножке. Но, во-первых я понятия не имею как его отключить. Если знаете - подскажите пожалуйста. А во-вторых на соседней тоже UART RXD, но ей он почему-то не мешает (возможно потому, что он ресивер).
Добавление:
Пересмотрел кучу документации и форумов. Въехал, что за работу UART отвечает UCSRB (их там больше, но мне вроде нужен этот). И чтобы запретить TXD нужно UCSRB.3=0.
А Bascom говорит, что такая "переменная" ему неведома. Ща попробую поискать что за глюк, бо Bascom, говорят, умеет работать с регистрами непосредственно.
(Ну неохота в Си забираться. Си только со справочником, а бейсик в самый раз оперативно хотелки править на лету).
Последний раз редактировалось spamkerdyk; 26.08.2022 в 11:33.
|
|
|
|
26.08.2022, 11:42
|
|
Заблокирован
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,715
Сказал спасибо: 189
Сказали Спасибо 3,199 раз(а) в 2,074 сообщении(ях)
|
Re: PORTD.3
Цитата:
|
Я вам открою маленький секрет. Никакой я не программист, я просто беру подходящий сэмпл и переписываю его под свои нужды
|
Дальше можно не продолжать
|
|
|
|
26.08.2022, 11:53
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: PORTD.3
Сообщение от spamkerdyk
|
Пересмотрел кучу документации и форумов. Въехал, что за работу UART отвечает UCSRB (их там больше, но мне вроде нужен этот). И чтобы запретить TXD нужно UCSRB.3=0.
|
Я бы для начала проверил монтаж, нет ли "сопли" на PORTD.3
USART по умолчанию выключен, и линия порта должна находиться в обычном режиме.
А в состоянии сброса что на PD3?
PS я с бейсиком таким не знаком. Что означают
Код:
|
$baud = 19200
$baud1 = 19200 |
эти строки? Не инициализируют ли они USARTы?
__________________
[ жизнь приятна и красива, если выпить литр пива ]
Последний раз редактировалось nml; 26.08.2022 в 12:00.
|
|
|
|
26.08.2022, 12:52
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: PORTD.3
spamkerdyk, таки начните с чтения всего пакета документации на чип - DS, AN, errata,… Иногда приходится не один раз пройтись по ним для понимания происходящего…
При смене камня никогда не разводите под него плату до завершения всех ознакомительных тестов в железе - тут очень хороши платки разных переходником и припои с висмутом…
Если находите рабочий вариант с другими ногами - именно его и используйте при полной формальной идентичности ног, Вы вполне можете скоро найти замечание в errata про Ваш случай…
Без RTFM и методом тыка - ну только чисто случайное стечение звезд и планет Вам поможет…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
26.08.2022, 12:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2008
Адрес: Москва Щукино
Сообщений: 1,490
Сказал спасибо: 359
Сказали Спасибо 863 раз(а) в 362 сообщении(ях)
|
Re: PORTD.3
Б,... сорри. Нет слов, кроме матерных. Ну почему у меня всегда ошибки - только в цирке показывать, народ ржать будет.
Ну конечно это инициализация UART-ов. Их там аж две штуки.
Нет, ну перед глазами же маячили... а я их не заметил. Остолоп...
Выкинул - все заработало. По умолчанию же UART-ы запрещены... а я их инициализировал.
Мне так плату развести оказалось удобнее, а сэмпл механически из прошлого проекта взял, а в нем порты были. Тьфу, еще раз.
А насчет соплей, я же написал: в Протеусе. Там соплей вроде не бывает
Все, закрыта тема. Спасибо, ткнули носом дурака.
-------
mike-y-k, ну я не совсем же методом слепого тыка делаю. Я хотя и охарактеризовал себя как не программиста, на самом деле устройство процессоров худо-бедно знаю, а что не знаю, смотрю в справочнике. У меня работающих проектов уже накопилась куча. Мне просто сильно лень с нуля писать. Хотя и так бывает. А что, программисты разве свои прошлые наработки не используют? А ошибки - ну вы видите, какого обычно характера? Просто я один в группе и не с кем даже словом перекинуться.
Последний раз редактировалось spamkerdyk; 26.08.2022 в 13:03.
|
|
|
|
26.08.2022, 12:59
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,381
Сказал спасибо: 1,962
Сказали Спасибо 1,328 раз(а) в 578 сообщении(ях)
|
Re: PORTD.3
Сообщение от spamkerdyk
|
Нет, ну перед глазами же маячили...
|
Дык, сколько раз убеждался сам - чем дурнее ошибка - тем дольше ее будешь искать
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
26.08.2022, 13:43
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,258
Сказал спасибо: 11,170
Сказали Спасибо 3,859 раз(а) в 2,929 сообщении(ях)
|
Re: PORTD.3
spamkerdyk, наступив на грабли и отключившись на чтение документации очень часто приходишь к совсем неожиданным результатам…
Ну а эта ошибка - следствие лени, за которую нещадно наказывали и сам продолжаю эту традицию…
Одна строка кода без комментария и вся работа идет без оплаты…
А уж места инициализации чего угодно описываются и выделяются особо тщательно…
На тему перетаскивания - тут вопрос отдельный и требует своего подхода, но явно не на Basic для меня, но тут уже разворот про фломастеры…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:46.
|
|