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

Обсуждаем контроллеры компании Atmel.
Ответить
Держит паяльник хвостом
Аватара пользователя
Сообщения: 965
Зарегистрирован: Ср авг 26, 2009 08:24:50
Откуда: 1300км от Пупа

Сообщение kip96 »

Ну хотя бы ссылку на али на девайс. А то что по фотке гадать.
Все делают ошибки, только мудрецы - новые, а дураки - старые.
Реклама
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 28, 2018 13:27:24

Сообщение Mavlid »

В терминале тоже 9600 стоит?
Реклама
Родился
Сообщения: 19
Зарегистрирован: Чт дек 13, 2018 13:32:29

Сообщение torneb »

[uquote="kip96",url="/forum/viewtopic.php?p=3572226#p3572226"]Ну хотя бы ссылку на али на девайс. А то что по фотке гадать.[/uquote]
По типу такого

US $0.57 | PL2303 USB к RS232 ttl модуль связи преобразователя
https://s.click.aliexpress.com/e/RcWxU5G
Их там на рубль пучок-все стандартные
Mavlid писал(а):В терминале тоже 9600 стоит?
Да.
Причем пробовал две разные терииналки-в баскоме и внешнюю.Результат одинаковый
Родился
Сообщения: 19
Зарегистрирован: Ср ноя 28, 2018 13:27:24

Сообщение Mavlid »

Если частота мк в программе и установленные фьюзы правильные то надо искать проблему в переходнике,у меня такой,работает замечательно
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 19
Зарегистрирован: Чт дек 13, 2018 13:32:29

Сообщение torneb »

[uquote="Mavlid",url="/forum/viewtopic.php?p=3572282#p3572282"]Если частота мк в программе и установленные фьюзы правильные то надо искать проблему в переходнике,у меня такой,работает замечательно[/uquote]
В,общем не в переходнике дело,а в настройке СОМ порта программно.
Если вписать в листинг вот такую строку

Код: Выделить всё

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0   
То все работает корректно,мусор не сыпется и терминал возвращает правильные буквы.В том числе и кириллицу
Реклама
Опытный кот
Сообщения: 883
Зарегистрирован: Вс мар 17, 2013 18:54:07

Сообщение nikin_n »

Патч BASCOM-AVR 2081 (Win10) Распечатать
Мы сделали патч для BASCOM-AVR версии 2081.
Этот патч на самом деле является обновленной версией среды IDE, которая решает проблему на WIN10, о которой сообщили некоторые клиенты.
Хотя вы можете нажать на эту ошибку, обновление IDE является лучшей альтернативой.
Поскольку тестирование обновления 2082 занимает больше времени, чем планировалось, мы выпускаем этот патч.
https://www.mcselec.com/index.php?optio ... &Itemid=65
Реклама
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

Удавалось кому поднять USB на Xmega?
Может кто знает библиотеки для работы с оным!
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Добрый вечер всем! Возникла необходимость связать макетную плату AVR-USB-162 (AT90USB162) с другим устройством по UART. Набрал код, зашил - не тут то было. Стал разбираться, искать причину. Сначала ткнул осциллом, Rx и Tx явно отличаются по длине. Набрал простой код из хелпа, который тупо шлет инфу на компорт. Получил кракозябры, как у товарища из этого поста. Стал подбирать скорость порта на компе, получилось, что при $baud = 9600 в прошивке и 1200 в компорту компа - сообщения стали приходить правильны. Т.Е. в восемь раз медленнее работает камень. Стал проверять дальше... Набрал код с прерыванием по Timer1 и отправкой по прерыванию сообщения на порт с инкрементом в единицу. Плюс мигающий светодиод, для наглядности. В общем путем расчетов и проверок получилось, что для периода в 1 секунду:
Config Timer1 = Timer , Prescale = 64
Const Timer1pre = 49914

65536-49914=15622, 15622*64=999808 грубо 1 МГц и это при $Crystal=8000000
и собственно кварц 8 МГц т.е. теже восемь раз. Не пойму почему лыжи не едут... Ошибка в компиляторе ?
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

Деление на 8 в фюзах уберите.
Изображение
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Так программит сам баском, там нету настроек таких.... По крайней мере не нашел я прямого доступа к фъюзам
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

в таком случае укажите референсную частоту кристалла

$crystal = 1000000 '

есть и в баскоме тоже настройка фюзов.
Изображение

На худой конец с USBASP точно есть.
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Спасибо за пендель! Нашел в баскоме CONFIG CLOCKDIV. В некоторых чипах этот бит установлен по-умолчанию.
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

Он с завода установлен.
Контактная информация:
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Ну да, в датафаке написано, потом уже нашел. За то хелп Баскома пишет The options to set the clock divisor is available in most new chips. Under normal conditions the clock divisor is one. Thus an oscillator value of 8 MHz will result in a system clock of 8 MHz. With a clock divisor of 8, you would get a system clock of 1 MHz. Странно, что не предусмотрена проверка подобных битов или хотя-бы предупреждение компилятора о необходимости проверки о_О
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

alexx60rus писал(а):Нашел в баскоме CONFIG CLOCKDIV.
Это программное управление делителем частоты. Напишите в начале кода.

Код: Выделить всё

CONFIG CLOCKDIV = 1
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Так я ж написал - нашел. Вопрос у меня возник, почему бит установлен, а в баскоме ни где не видно. Понятно , что надо читать датафак и всё такое, но как то странно, что критичные настройки и нет предупреждения при компиляции... Ну буду знать теперь )))
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2313
Зарегистрирован: Чт ноя 15, 2012 20:47:59
Откуда: Крымск

Сообщение Adagumer »

alexx60rus писал(а): почему бит установлен, а в баскоме ни где не видно.
А что должно быть видно? Сообщение "Поверь биты конфигурации!"
Дело в том что код можно путём небольшой правки транслировать под любой ближайший чип в котором может и не быть делителя на 8!
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Так в этом и проблема, что неизвестно состояние битов. Если б я шил программатором, то нет вопросов вообще. Там всё видно. А из баскома через флип- абсолютно негде посмотреть, что он там пихает, куда и в каком состоянии. Окошко с загрузкой проскакивает и понеслось выполнение программы.
Собственно есть еще вопрос - имеется железка, которая шлет на RS232 пакетами данные без перерыва. 10 пакетов по 11 байт. Каждый пакет вида: [0х55] [0х5(0-9)] [data] ...... [data] [CRC]. Я написал программу обработки входящих данных по прерыванию Urxc. Задача программы- ускорять или замедлять мигание светодиода. Через терминал руками ввожу - всё обрабатывается правильно, подключаю к девайсу, начинается белиберда. Мигать оно вообще перестает, такое ощущение, что зацикливается где то.
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

alexx60rus писал(а):Так в этом и проблема, что неизвестно состояние битов.
Компилятору они тоже неизвестны. Для этого нужно подключить МК и прочитать их. В разных МК они могут быть по разному заданы.
alexx60rus писал(а):А из баскома через флип- абсолютно негде посмотреть, что он там пихает, куда и в каком состоянии.
Т. е. через USB загрузчик? Конфигурационные биты нужно изменять программатором. Загрузчику они недоступны. Это одно из ограничений AVR.
Родился
Сообщения: 10
Зарегистрирован: Пт мар 25, 2011 17:46:25

Сообщение alexx60rus »

Да, Flip через USB загрузчик.
Ответить

Вернуться в «AVR»