Страница 1 из 1

Attiny 2616 (джип на RC-5 управлении) Bascom

Добавлено: Чт дек 26, 2013 14:18:33
antoman
Здравствуйте, нужна помощь специалиста )

Имеется:
MK Attiny 2616-PU
ИК приеемник 36 Кгц
3 драйвера LB1642

Нужно:
запрограмировать контроллер на управление с пульта

вот код программы:

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

$crystal = 8000000
$lib "mcsbyte.lbx"                                          '

Dim Address As Byte
Dim Command As Byte

Config Porta = Output

Red Alias Portb.3
                                      

Config Rc5 = Pinb.6 , Timer = 0 , Wait = 56                 

On Int0 Button                                              
Config Int0 = Falling                                       
Enable Int0
Enable Timer0
                                             

Button:
 Do

  Disable Int0
  Enable Interrupts

Getrc5(address , Command)
                                 
  Enable Interrupts                                       
  If Address >= 0 And Address < 32 Then                    
      Command = Command And &B01111111
      Red = 1                                               

Select Case Command                                         

   Case 1 : Porta = &B01100000
   Case 2 : Porta = &B00100000
   Case 3 : Porta = &B10100000
   Case 4 : Porta = &B01000000
   Case 5 : Porta = &B00000000
   Case 6 : Porta = &B10000000
   Case 7 : Porta = &B01010000
   Case 8 : Porta = &B00010000
   Case 9 : Porta = &B00000100
   Case 30 : Porta = &B00000100
   Case 31 : Porta = &B00001000
End Select


      End If
 Enable Int0
    Wait 2000

      Red = 0
Loop

Return


End
код взял из готового для AtTiny2313 и переделал под свои ноги + добавил команды вывода на драйвера

при симуляции зависает на GetRC5 (adress, Command).

буду благодарен за ваши замечания

Re: Attiny 2616 (джип на RC-5 управлении) Bascom

Добавлено: Чт дек 26, 2013 16:12:42
vem566
Столкнулся с тем же. Посмотрел в инете, почитал и сделал так:

Config Rc5 = Pind.2 , Wait = 2000 ' приемник на прерывании INT1
Config Timer1 = Timer , Prescale = 1
On Timer1 Rc5in

Rc5in:
Red = 1
Getrc5(address , Command)
If Address >= 0 And Address <= 32 Then
Kod = 1
End If
Red = 0
Return

Заработало.
Red - просто порт для светодиода как контроль приема команды а после приема в переменных address и command сидят адрес и команда. В основном цикле можно обрабатывать.

Re: Attiny 2616 (джип на RC-5 управлении) Bascom

Добавлено: Пт янв 03, 2014 19:48:51
antoman
vem566 писал(а): Заработало.
Учёл, поправил в компиляторе.
При симуляции всё так же виснет на строке GetRc5...
Попробовать в железе смогу через месяц, но почему то нет уверенности в работоспособности кода.
Подскажите, уважаемый, для какого контроллера ваша програма?

Re: Attiny 2616 (джип на RC-5 управлении) Bascom

Добавлено: Сб янв 04, 2014 09:47:58
vem566
Atmega8.
Насколько помню, в протеусе не работало ни разу. А в железе после такой конфигурации без проблем. Проверил все пульты в доме. На выход порта вешал 8 светодиодов и выводил команду. Только в железе с задержкой работало. Скорее всего схема ждала повтор команды. Как то особо не заморачивался как и почему так. Спортивный интерес, не более.