Цитата(Леонид Иванович @ Sep 9 2006, 22:37)

спаисибо видел
опят asm и без обучения командам
я вот сейчас
ковыряю Basic кусок кода обучающий командам
If Learn_jumper = 1 And Tmp_flanke = 0 Then 'learnmodus nur bei Flanke, learn-Jumper muss abgezogen! werden
Tmp_flanke = 1 'Flankenerkennung
Led_red = 1 : Led_green = 1 'beide led an (orange)
Led0 = 1 : Led1 = 1 '''''''
While Learn_jumper = 1
Call Rc5_receive 'RC5 Code receive
Select Case Tmp_learn
'*** Rc5 address und Startzeit des VDR - 100er stelle **********************
Case 0 : If Address <> 255 Then 'wenn nicht leerlaufkommando
Rc5_address_eram = Address 'receivee codes speichern
Time_start = 100 * Command
Led_red = 0 : Led_green = 0 'beide led off
Led0 = 0 : Led1 = 0 '''''''''
Waitms 500 'blinken
Led_red = 1 : Led_green = 1 'beide led an (orange)
Led0 = 1 : Led1 = 1 '''''''''
Incr Tmp_learn 'zur n?chsten learnfunktion schalten
End If
'*** Startzeit des VDR - 10er stelle ***************************************
Case 1 : If Address <> 255 And Togglebit <> Tmp_togglebit Then 'wenn die adresse stimmt und sich das togglebit ge?ndert hat // off platzgr?nden entfernt -> Address = Rc5_address_eram And
Tmp = 10 * Command 'nur eine mathe operation pro zeile :-(
Time_start = Time_start + Tmp 'receivee codes speichern
Led_red = 0 : Led_green = 0 'beide led off
Led2 = 0 : Led3 = 0 '''''''''
Waitms 500 'blinken
Led_red = 1 : Led_green = 1 'beide led an (orange)
Led2 = 1 : Led3 = 1 '''''''''
Incr Tmp_learn 'zur n?chsten learnfunktion schalten
End If
'*** Startzeit des VDR - 1er stelle ****************************************
Case 2 : If Address <> 255 And Togglebit <> Tmp_togglebit Then 'wenn die adresse stimmt und sich das togglebit ge?ndert hat // off platzgr?nden entfernt -> Address = Rc5_address_eram And
Time_start = Time_start + Command 'receivee codes speichern
Time_start_eram = Time_start 'vdr startzeit im eeprom speichern
Led_red = 0 : Led_green = 0 'beide led off
Led4 = 0 : Led5 = 0 '''''''''
Waitms 500 'blinken
Led_red = 1 : Led_green = 1 'beide led an (orange)
Led4 = 1 : Led5 = 1 '''''''''
Tmp_learn = 0 'letzte learnfunktion erreicht
Exit While 'schleife verlassen
End If
End Select
Wend
Waitms 700
Led_red = 0 : Led_green = 0 'beide led off
End If 'End If learnmodus
If Learn_jumper = 0 Then Tmp_flanke = 0 'Flankenerkennung
----------------------------------------------------
перенес на с AT90S2313 на ATmega16 уже работет
пока не могу понять немецкий
что когда нажимать
8 светодиодами дополнительно моргаю
пытаюсь понять алгоритм обучения
Сообщение отредактировал artem100 - Sep 9 2006, 20:34
Эскизы прикрепленных изображений