Никак. Только в SRAM или EPROM. Или пишите ассемблерную вставку.kot_fedot писал(а):для переменных, наверное, надо использовать регистры МК. Как это сделать?
BASCOM AVR в вопросах и ответах
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
- Реклама
- константин_KoSS_89
- Вымогатель припоя
- Сообщения: 602
- Зарегистрирован: Пн дек 29, 2008 01:40:28
- Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Ура, разобрался
оказываеться просто все мои пульты дома не RC5 а чтото другое....Собрал на TINY2313 RC5 ПДУ и всё заработало
Как только мои пульты прикошачить или нужно токо с кодом RC5???

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

- Вложения
-
- SDC12044.JPG
- (45.63 КБ) 747 скачиваний
- Секретный кот
- Поставщик валерьянки для Кота
- Сообщения: 2106
- Зарегистрирован: Ср сен 17, 2008 14:32:15
- Откуда: Старые Васюки
- Контактная информация:
Для использования команды GETRC5 – только RC5, каким бы это ни казалось страннымконстантин_KoSS_89 писал(а):Как только мои пульты прикошачить или нужно токо с кодом RC5???
А чтобы прикошачить свои пульты, нужно либо изучать их протоколы, либо делать обучаемый приём. В обоих случаях писать свою обработку, скорее всего на асме. Я как-то начинал заниматься вторым вариантом (обучаемый приёмник), но пока забросил.
Даже остановленные часы два раза в сутки показывают правильное время.
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
итд гуглем
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
- Откуда: Тула
- Контактная информация:
Народ а кто делал управление по RC5 на меге16. А то я сделал и не работает. На тиньке повторил с той же программой всё работает отлично.
Если с тинькой хоть я за спиной щёлкал отойдя от стола на пару метров светодиод загорался в любом случаи, то с мегой даже, если в притык, то не работает. Попробовал вывести результат нажатия кнопок в терминал компилятора, то выводит, то нет. И вот думаю может во фьюзах проблема или ещё в чём вообщем кто что скажет?
Attiny2313:
прошитые fuse:
кварц 16 Мгц
ATmega16:
прошитые fuse:
кварц 16 Мгц
прога:
Если с тинькой хоть я за спиной щёлкал отойдя от стола на пару метров светодиод загорался в любом случаи, то с мегой даже, если в притык, то не работает. Попробовал вывести результат нажатия кнопок в терминал компилятора, то выводит, то нет. И вот думаю может во фьюзах проблема или ещё в чём вообщем кто что скажет?
Attiny2313:
прошитые fuse:
Код: Выделить всё
spien
sut1,sut0
cksel0, cksel1, sksel3ATmega16:
прошитые fuse:
Код: Выделить всё
bootsz0, bootsz1
ccort
spien
sut1,sut0прога:
Код: Выделить всё
$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- константин_KoSS_89
- Вымогатель припоя
- Сообщения: 602
- Зарегистрирован: Пн дек 29, 2008 01:40:28
- Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Поправте если я неправ, но вот это
Это помоему лишнее, покрайней мере на mega8
Код: Выделить всё
$hwstack = 32
$swstack = 10
$framesize = 40-
sunny-space
- Родился
- Сообщения: 2
- Зарегистрирован: Вт авг 25, 2009 13:10:35
- Откуда: Тула
- Контактная информация:
- WildCat
- Собутыльник Сэра Мурра
- Сообщения: 2918
- Зарегистрирован: Вт янв 10, 2006 00:26:45
- Откуда: Челябинск
во первых питание - очень тщательно отобрать. Два кондера в параллель по питанию. Да и питать через дроссели можно. Во вторых разводка - дорожки покороче, пошире, желательно без углов (это ваще т из ВЧ техники, но все равно). Кварц как можно ближе к чипу, ноги кондерами на землю подтянуть. Ну и если помехи сильные, то экранированием.
Это аппаратная защита. А программно нужно еще доработать код, чтобы он обнулял счетчик watchdog, и фузами этот самый ватчдог включить. Тогда при зависании МК перезапустится.
Это аппаратная защита. А программно нужно еще доработать код, чтобы он обнулял счетчик watchdog, и фузами этот самый ватчдог включить. Тогда при зависании МК перезапустится.
- dimon-790
- Мучитель микросхем
- Сообщения: 442
- Зарегистрирован: Пт авг 29, 2008 09:22:37
- Контактная информация:
Видал, такие ставили в АОНы на Z80 ,статейки в журналах "радио" были по зтому поводу.В АВР-ках помоему это уже лишнее...WildCat писал(а):кстати ватчдог для долгофункционируещего автономного устройства - просто необходимость. иногда даже внешние ставят, на простой логике, чтоб ломаца было нечему.
- Shuriks
- Первый раз сказал Мяу!
- Сообщения: 24
- Зарегистрирован: Вт дек 30, 2008 20:51:09
- Откуда: Россия, г. Брянск
- Контактная информация:
Нет ... Ты не прав... Эти величины напрямую зависят от доступной памяти ОЗУ. Т.е. от количества переменных , количества вызова подпрограмм и т.д.константин_KoSS_89 писал(а):Поправте если я неправ, но вот этоЭто помоему лишнее, покрайней мере на mega8Код: Выделить всё
$hwstack = 32 $swstack = 10 $framesize = 40
И эти правила действуют для всех контроллеров .. так у всех есть ОЗУ.
- константин_KoSS_89
- Вымогатель припоя
- Сообщения: 602
- Зарегистрирован: Пн дек 29, 2008 01:40:28
- Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)
Спосибо за разяснение.
Ктонебудь может подсказать программу для пульта и приёмника пропорционального управления моделью комнатного верталёта?
Задача: пульт реализует обработку двух переменных резисторов(накрайний случай переключателя и двух кнопок) и передаёт на приёмник посредством IR излучения. Приёмник в свою очередь принимает и реализует два ШИМ сигнала. и.т.д.
Может ктото подобное делал? я набрасал, что думал, но неработает, да и идея программы тупая, использовал протакол RC5. неполучаеться связать програмный ШИМ и приём IR команд, вобще запутался. БрррррМяяяуу.....
Ктонебудь может подсказать программу для пульта и приёмника пропорционального управления моделью комнатного верталёта?
Задача: пульт реализует обработку двух переменных резисторов(накрайний случай переключателя и двух кнопок) и передаёт на приёмник посредством IR излучения. Приёмник в свою очередь принимает и реализует два ШИМ сигнала. и.т.д.
Может ктото подобное делал? я набрасал, что думал, но неработает, да и идея программы тупая, использовал протакол RC5. неполучаеться связать програмный ШИМ и приём IR команд, вобще запутался. БрррррМяяяуу.....
Как прервать исполнение команды WAIT?
Для проекта нужен отсчет времени и запоминание его для дальнейшего употребления.
Написал код:
Код работает, но прерываение не хочет прерывать оператор WAIT - то есть чтобы время запомнилось, приходится УДЕРЖИВАТЬ клавишу ENTER в течении 1 секунды, а не КРАТКОВРЕМЕННО НАЖАТЬ ее. Как это победить, а то не очень красиво?
Написал код:
Код: Выделить всё
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


