Обсуждаем контроллеры компании Atmel.
Ответить

Re: BASCOM AVR в вопросах и ответах

Ср дек 07, 2022 08:50:36

Доброго времени
Хм.. тоже проблема с SIM800.
Только немного иная.
Контроллер Atmega164PA общается c SIM800C по аппаратному UART (2-ому). Передача от контроллера к модулю SIM800C происходит в штатном режиме, модуль отвечает, но сообщения приходят битые или вовсе не приходят. Частота atmega 9216000, скорость передачи 9600. Подключался USB-TTL напрямую к выводу SIM800C - сообщения приходят без ошибок. Не могу разобраться в чем дело. Согласование уровней реализовал как в datasheet на SIM800C (см. картинку ниже), использовал транзисторы BC817. Может в них проблема? Хотя осциллографом смотрел до и после - все идеально.

PS: сейчас набрел на интересную функцию "Config Serialin = Buffered", попробую с ней вечером поэкспериментировать.

Изображение

Re: BASCOM AVR в вопросах и ответах

Сб янв 21, 2023 20:47:46

Приветствую! Правлю код на BASCOM-AVR, нужно в программу часов дописать подпрограмму перебора цифр, т.е. в конце каждой минуты должен быть быстрый перебор от 0 до 9, в течении 3 секунд, вызов подпрограммы я реализовал, как реализовать сам перебор не могу придумать, думал через Waitms, но Waitms останавливает всю программу как я понял.

Re: BASCOM AVR в вопросах и ответах

Пн янв 23, 2023 09:11:22

Приветствую! Правлю код на BASCOM-AVR, нужно в программу часов дописать подпрограмму перебора цифр, т.е. в конце каждой минуты должен быть быстрый перебор от 0 до 9, в течении 3 секунд, вызов подпрограммы я реализовал, как реализовать сам перебор не могу придумать, думал через Waitms, но Waitms останавливает всю программу как я понял.

через прерывание по таймеру1
Не останавливают.Часы реального времени все равно ж работают.Или у вас без них?

Re: BASCOM AVR в вопросах и ответах

Пн янв 23, 2023 19:57:29

SAU, Динамическая индикация замирает и ничего не отображается. Часовая микросхема отдельно работает.
Можно пример кода?

Re: BASCOM AVR в вопросах и ответах

Пн янв 23, 2023 21:26:19

Может выложите исходник,варианты могут быть разные и точно подсказать вам будет сложно

Re: BASCOM AVR в вопросах и ответах

Пн янв 23, 2023 22:30:34

SAU, Динамическая индикация замирает и ничего не отображается. Часовая микросхема отдельно работает.
Можно пример кода?

Делал паялку с люминисцентными индикаторами.Там как раз динамическая индикация.
В общем, в главном цикле ,при проходе выставляется 1 цифра и счетчик цифр увеличивается на единицу.
По достижении последней цифры индикатора,счетчик вновь выставляется в 1.
Если будет неярко- можно поиграться с задержкой после зажигания цифры.
В любом случае суммарная задержка у вас будет меньше секунды
Во втором архиве - часы с двумя индикаторами.Вначале выводятся часы, через 3 секунды минуты.Потом повторяются.
Есть еще новогодняя приблуда на лампах.Там каждый столбец по очереди перебирается от 0 до девятки, потом пару секунд текущий год, потом вновь перебираются и выводится будущий год.Затем все повторяется.Если интересно - выложу
Вложения
ГДЕ.rar
(168.64 KiB) Скачиваний: 68
абв.rar
(34.27 KiB) Скачиваний: 73

Re: BASCOM AVR в вопросах и ответах

Чт фев 16, 2023 08:13:21

Здравствуйте. Кто нибудь может скомпилировать файл bas в hеx? А то при нажатие на кнопку компиляция в программе bascom-avr всё равно создаётся файл bas. Или кто может подскажет как скомпилировать.

Re: BASCOM AVR в вопросах и ответах

Чт мар 02, 2023 19:59:07

Добрый вечер.
Прошу помочь с разрешением одной загадки. Написал небольшой

код для проверки работы Timer0 у ATtiny 85. Все работает

нормально, каждую секунду вспыхивает контрольный светик.
Код:
$regfile = "attiny85.dat"
$crystal = 1200000
$hwstack = 10
$swstack = 10
$framesize = 20

Config Portb = Output
Dim A As Byte

Config Timer0 = Timer , Prescale = 64
On Timer0 Pr

Led Alias Portb.4

Enable Interrupts
Enable Timer0
A = 0
Start Timer0

Do

If A = 77 Then                                              'прошла 1 сек
   Set Led
   Waitms 1000
   Reset Led
   Waitms 1000
   A = 0
End If

Loop

Pr:
Incr A
Return

Но тот же кусок кода, вставленный в другую прогу, не хочет

работать (первый цикл IF-End IF). Тот же МК, те же порты. Не

могу понять, в чем дело. Может кто глянет свежим взглядом.

Из-за этого стоит один проект.
Код:
$regfile = "attiny85.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 16
$framesize = 32

Config Portb = Output
Dim A As Byte
Dim T As Word

Config Timer0 = Timer , Prescale = 64
On Timer0 Pr

Led Alias Portb.5
Rele1 Alias Portb.0
Rele2 Alias Portb.1

Enable Interrupts
Enable Timer0
A = 0 : T = 0
Start Timer0

Do
If A = 77 Then                                              ' прошла 1 сек
   Incr T
   Set Led
   Waitms 500
   Reset Led
   A = 0
End If

If T = 28 Then
   Set Rele2
End If

If T = 30 Then
   Set Rele1
End If

If T = 32 Then
   Reset Rele2
   T = 0
End If

Loop

Pr:
Incr A
Return

Re: BASCOM AVR в вопросах и ответах

Чт мар 02, 2023 20:32:47

Убрать ожидание Waitms, а для условия переключения используйте счет времени для одного отчета таймера /с соотв. прескалером/.

Re: BASCOM AVR в вопросах и ответах

Чт мар 02, 2023 20:51:31

Я не понял идею. Таймер мне нужен для отсчета секунды, светик - индикатор работы. В первом-то примере все работает нормально. Почему не работает во втором?

Re: BASCOM AVR в вопросах и ответах

Чт мар 02, 2023 21:08:16

Не могу найти пример, все примеры на C/C++.
Направление поиска: задержкa без delay (Waitms).

Re: BASCOM AVR в вопросах и ответах

Пт мар 10, 2023 09:39:48

Проблема решена, тема закрыта.

Re: BASCOM AVR в вопросах и ответах

Пт мар 10, 2023 11:34:59

rojnov, разве мы не узнаем, как получилось? (В противном случае теряется смысл форумов вопрос/ответ).

Re: BASCOM AVR в вопросах и ответах

Пт мар 10, 2023 18:01:09

Да все оказалось просто. На схеме подписал неправильно порты у МК, соответственно не те порты были указаны в коде. В общем, получилась опечатка, которую долго не мог обнаружить. А сама идея и код правильные.

Re: BASCOM AVR в вопросах и ответах

Ср апр 05, 2023 13:06:55

Приветствую всех.

Подскажите как указать адрес компиляции кода проекта.

Re: BASCOM AVR в вопросах и ответах

Пт июл 07, 2023 15:31:36

Всем привет !
Есть несколько штук 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 мегу.
Кто может помочь или возможно стыкался с подобным, подсобите по возможности ! Заранее благодарю.

Re: BASCOM AVR в вопросах и ответах

Пн окт 23, 2023 12:02:45

Здравствуйте, может кто-нибудь подсказать или показать пример, какие команды используются для синхронизации трех таймеров в авр мега в bascom.

Re: BASCOM AVR в вопросах и ответах

Пт янв 05, 2024 10:08:02

Всех с новым годом. Хочу рассказать одну историю. Года два

назад покупал ATtiny 2313 в корпусе SO20. Оставалось 7 штук,

лежали в пакетике, ждали своей очереди. И вот дошла до них

очередь. Оказалось, все нерабочие. Две штуки при попытке

программирования выдают ошибку при любом обращении - эти на

выброс. С остальными - интереснее. Для проверки взял

заведомо рабочую прошивку термометра, стал заливать с

помощью AVRDude. Фьюзы читаются, програмируются. Флеш-память

читается, очищается, программируется. Но МК не работает. На

индикаторе термометра не горит ни один светодиод. И так себя

ведут все пять МК. Может, кто-то сталкивался с таким или

знает, как можно оживить МК. Было бы интересно узнать. А то

как-то жалко выбрасывать 5 контроллеров, особенно учитывая

их цену в последнее время.

Re: BASCOM AVR в вопросах и ответах

Пт янв 05, 2024 11:38:13

не очень понятно.
А как fuses установлены?
Кварц какой? Конденсаторы на его линиях есть?
/Reset к +Питания подтянули?

А вообще, всё, что я покупал на Али последние 2 года - как "русская рулетка". Оптосимисторы три партии - на выброс. МК atmega8a - у половины сторожевой таймер работает не на своей частоте: ставлю 2048ms, а срабатывает на 1300-1500ms. И так далее... Включая банальные светодиоды: выводы перепутаны!

Re: BASCOM AVR в вопросах и ответах

Пт янв 05, 2024 11:53:23

rojnov, как рекомендация: создайте простую программу, для простого действия, не скопировав ее откуда-то, где можно будет в той или иной степени проверить работоспособность МК. Запишите hex известным способом, програмa. Например blink на все пинах и подключите светодиод + резистор к GND. Потом делайте выводы об имеющихся МК. В противном случае использование внешнего кода имеет много неизвестных.

... Включая банальные светодиоды: выводы перепутаны!

Это интересно. Если можно, пожалуйста, объясните подробнее.
Ответить