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

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Сообщение Секретный кот »

kot_fedot писал(а):для переменных, наверное, надо использовать регистры МК. Как это сделать?

Никак. Только в SRAM или EPROM. Или пишите ассемблерную вставку.
Даже остановленные часы два раза в сутки показывают правильное время.
kot_fedot
Родился
Сообщения: 2
Зарегистрирован: Пн мар 30, 2009 12:38:15
Откуда: Тольятти

Сообщение kot_fedot »

Ну, я так и предполагал... Спасибо! Мур-р-р!
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Ура, разобрался :))) оказываеться просто все мои пульты дома не RC5 а чтото другое....Собрал на TINY2313 RC5 ПДУ и всё заработало :))
Как только мои пульты прикошачить или нужно токо с кодом RC5??? :roll:
Изображение
Вложения
SDC12044.JPG
(45.63 КБ) 746 скачиваний
Аватара пользователя
Секретный кот
Поставщик валерьянки для Кота
Сообщения: 2106
Зарегистрирован: Ср сен 17, 2008 14:32:15
Откуда: Старые Васюки
Контактная информация:

Сообщение Секретный кот »

константин_KoSS_89 писал(а):Как только мои пульты прикошачить или нужно токо с кодом RC5??? :roll:

Для использования команды GETRC5 – только RC5, каким бы это ни казалось странным :)))
А чтобы прикошачить свои пульты, нужно либо изучать их протоколы, либо делать обучаемый приём. В обоих случаях писать свою обработку, скорее всего на асме. Я как-то начинал заниматься вторым вариантом (обучаемый приёмник), но пока забросил.
Даже остановленные часы два раза в сутки показывают правильное время.
pomidor
Открыл глаза
Сообщения: 70
Зарегистрирован: Сб дек 27, 2008 15:40:06

Сообщение pomidor »

2константин_KoSS_89

AN #149 - Sony Remote Control Decoding with BASCOM AVR
http://www.mcselec.com/index.php?option ... &Itemid=57

AN #157 - Implementation of IR NEC protocol
http://www.mcselec.com/index.php?option ... &Itemid=57

итд гуглем
sunny-space
Родился
Сообщения: 2
Зарегистрирован: Вт авг 25, 2009 13:10:35
Откуда: Тула
Контактная информация:

Сообщение sunny-space »

Народ а кто делал управление по RC5 на меге16. А то я сделал и не работает. На тиньке повторил с той же программой всё работает отлично.
Если с тинькой хоть я за спиной щёлкал отойдя от стола на пару метров светодиод загорался в любом случаи, то с мегой даже, если в притык, то не работает. Попробовал вывести результат нажатия кнопок в терминал компилятора, то выводит, то нет. И вот думаю может во фьюзах проблема или ещё в чём вообщем кто что скажет?
Attiny2313:
прошитые fuse:

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

spien
sut1,sut0
cksel0, cksel1, sksel3

кварц 16 Мгц
ATmega16:
прошитые fuse:

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

bootsz0, bootsz1
ccort
spien
sut1,sut0

кварц 16 Мгц
прога:

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

$regfile = "m16def.dat"
 $crystal = 16000000
$lib "mcsbyte.lbx"
Config Rc5 = Pinb.4
Config Pinb.3 = Output
Config Portd.0 = Output
Speaker Alias Portd.0
Dim Address As Byte
Dim Command As Byte
Enable Interrupts
$hwstack = 32
$swstack = 10
$framesize = 40

 Do
 Getrc5(address , Command)
 If Address = 0 Then
 Command = Command And &B01111111
 End If
 If Command = 12 Then
 Reset Portb.3

 End If

 If Command = 1 Then
 Set Portb.3
 Else

 Reset Portb.3
 End If

 If Command = 2 Then
 Set Portb.3
 Wait 1
 Reset Portb.3
 Wait 1
 Set Portb.3
 Wait 1
 Reset Portb.3
 End If
 If Command = 3 Then
 Set Portb.3
 End If
 Loop
pomidor
Открыл глаза
Сообщения: 70
Зарегистрирован: Сб дек 27, 2008 15:40:06

Сообщение pomidor »

2sunny-space
а если фузы меги16 прошить как у тиньки (в вашем случае) на внутренний 8 МГц генератор, не пробовали? Может в этом собака где-нить порылась
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Поправте если я неправ, но вот это

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

$hwstack = 32 
$swstack = 10
$framesize = 40

Это помоему лишнее, покрайней мере на mega8
sunny-space
Родился
Сообщения: 2
Зарегистрирован: Вт авг 25, 2009 13:10:35
Откуда: Тула
Контактная информация:

Сообщение sunny-space »

pomidor писал(а):2sunny-space
а если фузы меги16 прошить как у тиньки (в вашем случае) на внутренний 8 МГц генератор, не пробовали? Может в этом собака где-нить порылась

пробовал, ни чего не изменилось
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

Сообщение dimon-790 »

Уважаемые коты а кто и как,борется с зависаниями мк?зачастую, приходится собирать девайсы кот-ые работают круглосуточно, и эта проблема имеет место быть(в смысле зависания).
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

во первых питание - очень тщательно отобрать. Два кондера в параллель по питанию. Да и питать через дроссели можно. Во вторых разводка - дорожки покороче, пошире, желательно без углов (это ваще т из ВЧ техники, но все равно). Кварц как можно ближе к чипу, ноги кондерами на землю подтянуть. Ну и если помехи сильные, то экранированием.
Это аппаратная защита. А программно нужно еще доработать код, чтобы он обнулял счетчик watchdog, и фузами этот самый ватчдог включить. Тогда при зависании МК перезапустится.
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

Сообщение dimon-790 »

WildCat,с аппаратной частью всё понятно,а вот про watchdog если можно поподробнее или ссылочку. Заранее спасибо
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

Сообщение dimon-790 »

Всё,разобрался с ватчдогом 8) ещё раз спасибо!
Аватара пользователя
WildCat
Собутыльник Сэра Мурра
Сообщения: 2918
Зарегистрирован: Вт янв 10, 2006 00:26:45
Откуда: Челябинск

Сообщение WildCat »

кстати ватчдог для долгофункционируещего автономного устройства - просто необходимость. иногда даже внешние ставят, на простой логике, чтоб ломаца было нечему.
Аватара пользователя
pavel123
Грызет канифоль
Сообщения: 268
Зарегистрирован: Чт май 17, 2007 09:44:13
Откуда: Украина, г. Кривой Рог

Сообщение pavel123 »

Пожалуйста, многоуважаемые коты, поподробней про ватчдог.
Шо это такое и счем его едят.
Посмотрел в хелпе, что то не нашол, а ой как интересно узнать...
Просю-сю-сю.... :)) :)) :))
Аватара пользователя
Gryphon
Нашел транзистор. Понюхал.
Сообщения: 152
Зарегистрирован: Пн ноя 03, 2008 12:08:42
Откуда: Владивосток
Контактная информация:

Сообщение Gryphon »

На официальном сайте (mcselec.com) есть документалка (нужно знание английского) в разделе закачек. Называется BASCAVR.PDF пользуюсь уже год, там все подробно расписано и рассказано.
Вы получаете от людей больше, если им противоречите
Аватара пользователя
dimon-790
Мучитель микросхем
Сообщения: 442
Зарегистрирован: Пт авг 29, 2008 09:22:37
Контактная информация:

Сообщение dimon-790 »

WildCat писал(а):кстати ватчдог для долгофункционируещего автономного устройства - просто необходимость. иногда даже внешние ставят, на простой логике, чтоб ломаца было нечему.

Видал, такие ставили в АОНы на Z80 ,статейки в журналах "радио" были по зтому поводу.В АВР-ках помоему это уже лишнее... :roll: хотя как знать...
Аватара пользователя
Shuriks
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт дек 30, 2008 20:51:09
Откуда: Россия, г. Брянск
Контактная информация:

Сообщение Shuriks »

константин_KoSS_89 писал(а):Поправте если я неправ, но вот это

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

$hwstack = 32 
$swstack = 10
$framesize = 40

Это помоему лишнее, покрайней мере на mega8


Нет ... Ты не прав... Эти величины напрямую зависят от доступной памяти ОЗУ. Т.е. от количества переменных , количества вызова подпрограмм и т.д.
И эти правила действуют для всех контроллеров .. так у всех есть ОЗУ.

:)
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Спосибо за разяснение.
Ктонебудь может подсказать программу для пульта и приёмника пропорционального управления моделью комнатного верталёта?
Задача: пульт реализует обработку двух переменных резисторов(накрайний случай переключателя и двух кнопок) и передаёт на приёмник посредством IR излучения. Приёмник в свою очередь принимает и реализует два ШИМ сигнала. и.т.д.
Может ктото подобное делал? я набрасал, что думал, но неработает, да и идея программы тупая, использовал протакол RC5. неполучаеться связать програмный ШИМ и приём IR команд, вобще запутался. БрррррМяяяуу.....
Omul
Родился
Сообщения: 1
Зарегистрирован: Вс сен 13, 2009 07:32:45

Как прервать исполнение команды WAIT?

Сообщение Omul »

Для проекта нужен отсчет времени и запоминание его для дальнейшего употребления.

Написал код:

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

On Int0 Key

Key:
B = Getatkbd()
Return




Times:
Cls
Enable Int0
B = 0
For Deleylong = 2 To 999
Lcd "Enter,¨Пробел"
Lowerline
Lcd "Сек-"
Locate 2 , 6
Lcd Deleylong
Wait 1
Cls
If B = 13 Then
Bittime = 0
Exit For
Else
If B = 32 Then
Deleylong = 1
Exit For
End If
End If
Next
Disable Int0
Return


Код работает, но прерываение не хочет прерывать оператор WAIT - то есть чтобы время запомнилось, приходится УДЕРЖИВАТЬ клавишу ENTER в течении 1 секунды, а не КРАТКОВРЕМЕННО НАЖАТЬ ее. Как это победить, а то не очень красиво?
Ответить

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