Доброго времени Хм.. тоже проблема с SIM800. Только немного иная. Контроллер Atmega164PA общается c SIM800C по аппаратному UART (2-ому). Передача от контроллера к модулю SIM800C происходит в штатном режиме, модуль отвечает, но сообщения приходят битые или вовсе не приходят. Частота atmega 9216000, скорость передачи 9600. Подключался USB-TTL напрямую к выводу SIM800C - сообщения приходят без ошибок. Не могу разобраться в чем дело. Согласование уровней реализовал как в datasheet на SIM800C (см. картинку ниже), использовал транзисторы BC817. Может в них проблема? Хотя осциллографом смотрел до и после - все идеально.
PS: сейчас набрел на интересную функцию "Config Serialin = Buffered", попробую с ней вечером поэкспериментировать.
Приветствую! Правлю код на BASCOM-AVR, нужно в программу часов дописать подпрограмму перебора цифр, т.е. в конце каждой минуты должен быть быстрый перебор от 0 до 9, в течении 3 секунд, вызов подпрограммы я реализовал, как реализовать сам перебор не могу придумать, думал через Waitms, но Waitms останавливает всю программу как я понял.
Приветствую! Правлю код на BASCOM-AVR, нужно в программу часов дописать подпрограмму перебора цифр, т.е. в конце каждой минуты должен быть быстрый перебор от 0 до 9, в течении 3 секунд, вызов подпрограммы я реализовал, как реализовать сам перебор не могу придумать, думал через Waitms, но Waitms останавливает всю программу как я понял.
через прерывание по таймеру1 Не останавливают.Часы реального времени все равно ж работают.Или у вас без них?
SAU, Динамическая индикация замирает и ничего не отображается. Часовая микросхема отдельно работает. Можно пример кода?
Делал паялку с люминисцентными индикаторами.Там как раз динамическая индикация. В общем, в главном цикле ,при проходе выставляется 1 цифра и счетчик цифр увеличивается на единицу. По достижении последней цифры индикатора,счетчик вновь выставляется в 1. Если будет неярко- можно поиграться с задержкой после зажигания цифры. В любом случае суммарная задержка у вас будет меньше секунды Во втором архиве - часы с двумя индикаторами.Вначале выводятся часы, через 3 секунды минуты.Потом повторяются. Есть еще новогодняя приблуда на лампах.Там каждый столбец по очереди перебирается от 0 до девятки, потом пару секунд текущий год, потом вновь перебираются и выводится будущий год.Затем все повторяется.Если интересно - выложу
Здравствуйте. Кто нибудь может скомпилировать файл bas в hеx? А то при нажатие на кнопку компиляция в программе bascom-avr всё равно создаётся файл bas. Или кто может подскажет как скомпилировать.
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Чт мар 02, 2023 20:51:31
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:0
Я не понял идею. Таймер мне нужен для отсчета секунды, светик - индикатор работы. В первом-то примере все работает нормально. Почему не работает во втором?
Заголовок сообщения: Re: BASCOM AVR в вопросах и ответах
Добавлено: Пт мар 10, 2023 18:01:09
Встал на лапы
Зарегистрирован: Вс мар 27, 2011 07:48:48 Сообщений: 127 Откуда: г. Екатеринбург
Рейтинг сообщения:2
Да все оказалось просто. На схеме подписал неправильно порты у МК, соответственно не те порты были указаны в коде. В общем, получилась опечатка, которую долго не мог обнаружить. А сама идея и код правильные.
Всем привет ! Есть несколько штук ATmega644-20PU(в smd корпусе), задумал себе сделать линейный блок питания, прикрутил от сотика экран, ЦАП и далее усилитель на биполярных транзюках, а и диф.усилок задействовал на шунт. Проблема появилась при наладке АЦП ! подключаю напряжение стабильное 3 вольта, смотрю на показания АЦП вывожу коэффициент, далее подаю уже 12 вольт и этот коэффициент уже не подходит, напруга получается не 12 вольт если умножить на коэффициент а аж 12.6, подымаю напряжение до 16 вольт и уже если умножить на этот коэффициент показания АЦП то выходит 16.8 вольт. Думаю ладно, подаю напругу 12 вольт, смотрю на АЦП нахожу новый коэффициент, подаю 16 вольт и умножаю показания АЦП на новый коэффициент и снова врет на 0.6 вольт, опускаю напряжение до трех вольт, умножаю показания АЦП на этот коэффициент и тут уже напряжение не завышено а занижено на 0.8 вольт ! В общем нет линейности, плату пересмотрел несколько раз, ставил новый аналогичный чип все тоже самое, АЦП использовать пытался в режимах Free и Single(читал АЦП средствами вернее командами самого басика через GETADC, так и через прерывания со вставками ASM), менял опорное, 1.1, 2.56, 5 вольт все тоже самое с АЦП творится ! Работаю с разными мегами(8,16,32,328) таких проблем нет, есть нелинейность но она постоянна на протяжении от 0-1023, а тут капец. Плюнул, урезал в программе функционал и заменил мегу 644-ю на 16-ю, и что вы думаете АЦП ведет себя как положено. Хочу разобратся что может быть с АЦП 644меги, не выкидывать-же. Курил датащит на эту микру, все тоже самое(ну или почти) что и про 16,32 мегу. Кто может помочь или возможно стыкался с подобным, подсобите по возможности ! Заранее благодарю.
не очень понятно. А как fuses установлены? Кварц какой? Конденсаторы на его линиях есть? /Reset к +Питания подтянули?
А вообще, всё, что я покупал на Али последние 2 года - как "русская рулетка". Оптосимисторы три партии - на выброс. МК atmega8a - у половины сторожевой таймер работает не на своей частоте: ставлю 2048ms, а срабатывает на 1300-1500ms. И так далее... Включая банальные светодиоды: выводы перепутаны!
rojnov, как рекомендация: создайте простую программу, для простого действия, не скопировав ее откуда-то, где можно будет в той или иной степени проверить работоспособность МК. Запишите hex известным способом, програмa. Например blink на все пинах и подключите светодиод + резистор к GND. Потом делайте выводы об имеющихся МК. В противном случае использование внешнего кода имеет много неизвестных.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 949
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения