Обсуждаем контроллеры компании Atmel.
Вс ноя 25, 2018 09:36:31
Попробуйте записать и запустить нижеследующую программу
- Код:
; Turn off global interrupt
cli
; Reset Watchdog Timer
wdr
CLR R16
OUT MCUSR,R16
LDI R16,1<<WDCE|1<<WDE
OUT WDTCR, r16
CBR R16,1<<WDE
OUT WDTCR,R16
RJMP PC
;*************************
.EXIT
Или просто внедрить её в Ваш код.
Вс ноя 25, 2018 11:43:20
Похоже, дело в МК. Попробовал делать выход на порты PB.0 b PB.1 - вообще нет реакции светодиода. А т.к. другого МК под рукой не оказалось, то придется подождать 2-3- дня, пока съезжу в магазин. Главное, что, как все говорят, в коде ошибок нет, значит должен работать.
Вс ноя 25, 2018 14:53:21
В свете открывшихся с выходом версии 2.0.8.1 перспектив(последний пост страницы 285), а так же в связи с приближающимися новогодними праздниками, предлагаю перевод справки по использованию RAINBOW. Может кому и поможет.
- Вложения
-
- Rainbow_2081.pdf
- (124.69 KiB) Скачиваний: 626
Вт ноя 27, 2018 16:40:41
Прошу помочь победить маленький кусочек
Похоже, среда игнорирует баг с End If
Config Pinb.3 = Input
Config Pinb.4 = Input
Config Portb.2 = Output
Gerkon Alias Pinb.3
Pusk Alias Pinb.4
Rele Alias Portb.2
Do
If Pusk = 0 Then : Set Rele : End If
If Pusk = 1 Then
If Gerkon = 0 Then : Reset Rele : End If
End If
Loop----------
Почему то не хочет по некоторым именам к битам регистров обращаться.
$regfile = "m32def.dat"
$crystal = 8000000
$hwstack = 80
$swstack = 95
$framesize = 100
Tccr1a.com1a1 = 1
Tccr1a.com1b1 = 1
Tccr1a.com1a0 = 1
Tccr1a.com1b0 = 1
Tccr1b.ctc1 = 1
Tccr1a.pwm11 = 0
Tccr1a.pwm10 = 1
Tccr1b.wgm13=0 'не жрёт
Пт ноя 30, 2018 09:41:31
Это не баг. Допускается как
If a > b then c = 0
так и
if a > b then
c = 0
end if
То есть одиночный оператор после if может не заканчиваться end if, если написан в одну строку.
Вт дек 04, 2018 21:57:42
Спасибо. Работает такая запись. Но у меня однажды была ошибка, при которой несанкционированно выполнялся кусок кода до ближайшего end if, а если его заремарить, то устройство буквально сходило с ума, выполнялись совершенно произвольные куски кода, при этом работали прерывания и динамическая индикация. Компилятор никаких ошибок не выдавал.
По поводу timer1. Если посмотреть файл m32def.dat, то там четвертый бит регистра TCCR1B назван не WGM13, а CTC11. Запись
Tccr1b.CTC11 = 0 - корректна.
Ср дек 05, 2018 19:18:51
Итоги моих опытов. Купил новый МК, взял другой программатор, вместо монтажной платы собрал схему на картонке с помощью пайки. Результат - ноль. Проверил в Протеусе - все работает, как и замышлялось. В железе пока не хочет. Последний подход к инструменту - спаял схему на печ.плате с использованием МК в корпусе SO-8. Схема вроде подала признаки жизни, но ведет себя непонятно как. Но разбираться с ней уже нет времени, т.к. убываю на месяц в командировку. Так что придется пока отложить её до лучших времен.Но эта схемка мне нужна, так что потом буду её добивать.
Ср дек 05, 2018 20:42:41
Может у Вас просто контакт в тумблере пропадает? Тогда условие
If Pusk = 0 Then Set Rele
не выполняется, и светодиод тухнет.
Чт дек 06, 2018 13:23:27
rojnov, я лично пробовал Ваш код в железе. Все работает как положено, могу видео записать.
Попробуйте сменить версию ПО. Я давно не кодю в Баскоме, потому компилировал в старенькой 1.11.9.8.
Чт дек 13, 2018 13:37:01
Привет всем)
Есть контроллер atmega8
В баскоме прописываю тактовую частоту 4000000
Во фьюзах выставлена тактовая частота 4 мГц с задержкой 64
Пишу команду wait 1
Но задержка больше чем секунда - это видно даже по банальному включению светодиода.
В чем может быть проблема?
Спасибо
Чт дек 13, 2018 14:21:38
Доброго времени.
Внутренний генератор конечно штука не точная, а задержки типа wait еще хуже, но больше - это сколько? В два раза? В десять? Можно скрин фьюзов? И код.
Пт дек 14, 2018 10:43:02
$regfile = "m8def.dat"
$crystal = 4000000
$framesize = 128
$hwstack = 40
$swstack = 40
Config Portb.1 = Output
Portb.1 = 0
Do
wait 1
Portb.1 = 1
Wait 1
Portb.1 = 0
Loop
End
Где жуткие уходы от 1 секунды?
Без кода и фузов сюдой не лезь.
Пт дек 14, 2018 13:18:16
А фузы только выставлены, или еще и записаны в МК? Или может там вместо 4 стоит 2 или вовсе 1 МГц.
Сб дек 15, 2018 00:53:14
CKDIV8. При включенном бите , тактовая частота делится на 8.
Сб дек 15, 2018 00:58:39
Microtech, Конкретно в 8-й Меге этого фьюза нет.
Сб дек 15, 2018 13:57:30
Да, ошибся.
Там CKSEL2 похожий бит. В любом случае, надо проверить правильность установки локфьюзов.
Сб дек 29, 2018 11:02:42
Приветствую всех и с наступающим Н.Г.
Маленький вопрос. Подключаю ЖК-индикатор 2*16, стандартный. Делаю конфигурацию по образцу:
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Вопрос: надо ли отдельно конфигурировать эти же порты на выход, типа "Config Portd.3 = Output" или
достаточно сконфигурировать только ЖКИ?
Сб дек 29, 2018 12:18:05
rojnov писал(а):достаточно сконфигурировать только ЖКИ?
Вполне достаточно!
Сб дек 29, 2018 12:27:28
Спасибо!
Вт янв 01, 2019 22:17:42
Всех с 2019! Тут собственно возник вопрос как работает рандом в AVR и bascom? Что он он совсем не рандомный это я знаю но вот на сколько он не рандомный относительно других мк?
Мне нужен рандом для составления списка устройств автоматической/прозрачной адресации. Разные устройства находятся на разных системах на 2.4ГГ, на 430, и даже ИК. Что бы всем не пытаться связаться с устройством которого нет сам трансивер составляет список и услышав ИД из списка связывается и устройством. Трансивер запрашивает идентификатор и устройства его передают, но вот тут в дело вступает рандом, передача идет через случайной промежуток времени рассчитывая на то что пакет от какого то устройства пройдёт этим устройствам скажет молчать и снова запросит ИД и так пока все не замолчат если все будут рандомить по одинаковому то не чего не пройдёт. То есть в одно время получат запрос и можно сделать при таком глупом рандоме что бы все девайсы генерили разное время передачи?
Вообще это фундаментальная проблема составления списка как запросить ИД у устройств и что бы они не мешали друг другу. То есть трансивер сам сам составляет список устройств и сервер не говорит трансиверу какие адреса работают через него и не обращается к устройству через какой то трнансивер, это и есть автоматический режим.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.