Nec Ir Fb

also handel es sich um das Kaseikyo protokoll,

Hallo Bonze!

NEIN, doch nicht dein Signal!


ICH hatte ein Bild eingestellt das ein Kaseikyo-Protokoll aufwies..... dass war damit gemient. ;)
Sollte es wohl doch besser wieder einstellen, damit der Zusammenhang weiterhin gegeben ist. :hmmmm:


Tja, bei deinem Signal kann ich dir leider nicht weiterhelfen.



Grüße,
Cassio
 
hab nochmal geschaut also
es werden insgesamt 34bits übertragen denke ich mal
bzw auch möglich 32bits, mit start und stopp
mich wunderts nur, da im internet immer zu lesen ist das solche fbs nec protokoll nutzen,

hab den tsopso angeschlossen,
gnd an gnd, vcc, über 100ohm an 5V, zwischen GNd und Vc einen 4,7µF elko,
an data nen pullup von 10k zu 5V

Aber mal was andres bekomme ich ein Moduliertes oder Demoduliertes Signal vom Tsop zurück?

Hab auch mal 2 andere Fbs getestet, die geben auch ein signal von ca 30 bits zurück, jetzt ist die fragekann ich überhaupt meine messung verwerten?
oder ist das zufall, das da vielleicht durch die lange sample rate, das signal 2mal gesenet wird?




EDIT:
so hab nochmo bisschen rumgespielt,.

also das signal fängt mit nem
Startbit von 5ms
0 ist high+low (kurz) bzw 1,3ms
1 ist high+low (lang) bzw 2,6ms
endbit?
ich denke das sig besteht aus 32bit,.
 

Anhänge

  • fb2 Kopie.png
    fb2 Kopie.png
    6,4 KB · Aufrufe: 12
wahrscheinlich stellt sich raus das es doch der nec code ist, und ich ih aufgrund des quarzes nicht erkennen kann ,.

hätte nochn 20mhz und nen 4mhz quarz da
 
Hallo Bonze,
zeig doch mal dein aktuelles Programm.
Die Signale aus deinem Bild mit den 4 Tasten On, Off Heller und dunkler scheinen mir recht gute NEC Daten zu sein. Die letzte Aufzeichnung sieht wieder sehr seltsam aus.
Ich glaube, dass die Aufzeichnung am PC einfach nicht so gut funktioniert und es sich tatsächlich um den NEC Code handelt.
Um das zu testen und auch um zu sehen, ob dein Programm richtig arbeitet, würde ich zunächst mal alle gemessenen Zeiten abspeichern und nach Beendigung der Übertragung ausgeben lassen. Entweder am LCD oder per Print am PC.
Das können wir sicher in dein Programm einbauen.

HBA
 
ja, wie meinst du das die zeiten abspeichern, ich hab gelesen das man mit dem timer1 und dem compare register zeiten stoppen kann, event könnt ich so rusbekommen wies aussieht?
 
Wie gesagt, zeige mal das Programm, mit dem du bisher versucht hast den Code einzulesen. Dann ändern wir das so ab, dass die Zeiten ausgegeben werden.

HBA
 
Hallo Bonze!

Apropos Programm......
Darf ich mal kurz ein paar Fragen dazwischen schieben?

Welche Erfahrungen hast du mit dem DigiTrace gemacht?
Benutzt du deinen LPT-Port direkt oder hast du einen "Schutz" (z.B. einen 74HC245) zur Sicherheit dazwischen gebaut?

Die Software schlummert bei mir auf dem Rechner auch immer noch.... weil ich mir noch keinen LPT-Adapter gebaut habe. :rolleyes:


Sorry HBA.... interessiert mich gerade mal auf die Schnelle. ;)


Grüße,
Cassio
 
habs direkt angeschlossen, bin aber sehr vorsichtig, wenn ichs vorhätte öfter zu nutzen würde ich mir ein 74HC245 dazwischenbauen, funzt so aber auch, das problem ist nur das du auf jedenfall porttalk oder giveio installieren musst, dafür sonst bekommst du keinen LPt zugriff


eigentlich wollte ich code aus dem led forum nutzen, u.a.
http://www.ledstyles.de/ftopic4606-2.html?highlight=fernbedienung+shop
ich muss nur den timer 1 nutzen,timer0 macht schon software pwm
meine Hardware ist der Mega8, mit 16mhz

oder die bascom app note, wobei ich mich frage obs nicht auch besser geht,

wie prüft man ein solches signal ? mit impulsen auswerten oder mit zeit und impulsen auswerten?
und wie stellt man dann den timer ein, auf ms/s oder auf die frequenz?
btw hab mir auch mal 38khz dioden bestellt

würd das so stimmen?
16bit timerÜ?
'16.000.000/8 = 2.000.000
'2.000.000/36700= 54,5
'255-55 = 200 bzw 65535-56= 65479
'2.000.000/ 1000= 2000
=>65535-2000= 45535 ?

8bit timer
1s = 1000ms
'16mhz/64=250000
'250000/1000= 250
=> timerwert 5 ?

'2.000.000 / 1000 = 2000
Code:
$regfile = "m8def.dat"
$crystal = 16000000
$baud = 19200
$hwstack = 200                                              ' HW-Stack: Rücksprungadressen für Interrupts und Registerspeicherung
$swstack = 50                                               ' SW-Stack: Rücksprungadressen von Subs und Variableadressen
$framesize = 25

Config Pind.2 = Input
Config Portd.5 = Output

Alive_led Alias Portd.5

Dim Zeit As Byte
Dim Byte0 As Byte
Dim Byte1 As Byte
Dim Byte2 As Byte
Dim Byte3 As Byte
Dim Empfang As Byte
Dim Anzahl As Byte

'interrupts

Enable Int0
Config Int0 = Falling
On Int0 Infrared


'16.000.000/8 = 2.000.000
'2.000.000/36700= 54,5
'255-55 = 200 bzw 65535-56= 65479 bei
Config Timer1 = Timer , Prescale = 8
Enable Timer1
On Timer1 Tikers
Const Timervorgabe = 65021
Stop Timer1

Dim Tik As Word 'counter of teaks of timer
Dim Byt As Byte 'counter accepted bit
Dim Repeat_flag As Bit 'flag of repetition
Dim Start_flag As Bit 'flag of start condition
Dim Address As Byte 'byte of address
Dim Command As Byte 'byte of command
Dim Address_1 As Byte 'direct byte of address
Dim Command_1 As Byte 'direct byte of command
Dim Address_0 As Byte 'indirect byte of address
Dim Command_0 As Byte 'indirect byte of command
Dim Summa As Word

'################################################################################################################

Do                                                          'Main cycle
'Print Address ; " " ; Command                               'Lcd ADDRESS and COMMAND
If Command = 8 Then alive_led = 1                             'If pressed key "P+" - to include LED
If Command = 240 Then Alive_led = 0                         'If pressed key "P-" - to switch off LED
Waitms 10                                                   'Delay 10 e(n'
Loop
End 'End of main cycle

'################################################################################################################

 Tikers: 'work on timer
   'Timer0 = 253                                               '31250/(256-253)=10416,66 Hz (96 e(e;n')
   Incr Tik
   If Tik >= 1200 Then 'if 1200 teaks, have thrown all in source condition
   Tik = 0
   Repeat_flag = 0
   Start_flag = 0
   Address_1 = 0
   Command_1 = 0
   Address_0 = 0
   Command_0 = 0
   Address = 0
   Command = 0
   Stop Timer1
   End If
 Return
'################################################################################################################

 Infrared: 'work on interruption
 Start Timer1
 Print "ir int"
 If Tik >= 139 And Tik < 150 Then 'if has happenned from 139 before 150 teaks - "START"
  Address = 1
  Repeat_flag = 0
  Start_flag = 1
  Address_1 = 0
  Command_1 = 0
  Address_0 = 0
  Command_0 = 0
 End If

 If Tik >= 116 And Tik < 139 Then 'if has happenned from 116 before 138 teaks - "REPETITION"
  Address = 2
  Repeat_flag = 1
  Start_flag = 0
 End If

 If Tik >= 22 And Tik < 116 And Start_flag = 1 Then 'if has happenned from 22 before 115 teaks - have taken "1"
 Incr Byt

 If Byt < 9 Then
 Shift Address_1 , Left
     Address_1 = Address_1 + 1
 End If

 If Byt >= 9 And Byt < 17 Then
 Shift Address_0 , Left
     Address_0 = Address_0 + 1
 End If

 If Byt >= 17 And Byt < 25 Then
 Shift Command_1 , Left
     Command_1 = Command_1 + 1
 End If

 If Byt >= 25 Then
 Shift Command_0 , Left
     Command_0 = Command_0 + 1
 End If
 End If

 If Tik >= 10 And Tik < 22 And Start_flag = 1 Then 'if has happenned from 10 before 21 teaks - have taken "0"
 Incr Byt

 If Byt < 9 Then
 Shift Address_1 , Left
 End If

 If Byt >= 9 And Byt < 17 Then
 Shift Address_0 , Left
 End If

 If Byt >= 17 And Byt < 25 Then
 Shift Command_1 , Left
 End If

 If Byt >= 25 Then
 Shift Command_0 , Left
 End If
 End If

 Tik = 0

 If Byt = 32 Then 'if have taken 4 bytes, check correctness a receiving a command
 'if address or command 16-bit, check does not pass
 'Summa = Address_0 + Address_1
 'If Summa = 255 Then
    Address = Address_1
 'Else
 'Address = 0
 'End If

 'Summa = Command_0 + Command_1
 'If Summa = 255 Then
    Command = Command_1
 'Else
 'Command = 0
 'End If
  Byt = 0
  Repeat_flag = 0
  Start_flag = 0
  Print "Command." ; Command
  Print "Address:" ; Address
 Stop Timer1
 End If

 Return
 
Hallo Bonze,
wenn du einen vorherigen Beitrag änderst, dann bemerkt man dies nicht unbedingt, weil der kein neues Datum bekommt. Also mach' lieber einen neuen auf.
Du hast also einen Mega8 mit 16MHz.
Den Timer1 kannst du dafür nutzen.

Wenn du einen TSOPxxxx dran hängst, hast du mit der Trägerfrequenz nichts zu tun, die filtert der raus. Du bekommst an deinen Eingang nur das Nutzsignal.
Um jetzt möglichst genaue Werte zu messen, würde ich den Timer1 mit Prescaler 8 laufen lassen. Jeder Tick von Timer1 wären dann 0,5µs.
Hier habe ich mal ein kleines Testprogramm geschrieben, welches dir die Zeiten zwischen jeder Flanke (rauf und runter) in µs anzeigt. Mir ist es doch zu kompliziert, das in dein Programm zu integrieren.

Code:
$crystal = 16000000
$regfile = "m8def.dat"
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               'default use 10 for the SW stack
$framesize = 40                                             'default use 40 for the frame space
$baud = 19200

Dim Flanken_index As Word
Dim Ausgabe_flag As Byte
Dim I As Word
Dim Flanken_array(400) As Word
Dim Zeit As Word                                            'in 0,5µs Auflösung
Config Timer1 = Timer , Prescale = 8                        'hier den Timer eintragen (8-bit)
On Ovf1 Tim1_isr
Enable Timer1

Config Int0 = Change                                        'externer interrupt, jede Flanke
On Int0 Int0_isr
Enable Int0
Enable Interrupts
Flanken_index = 400
Do
   If Ausgabe_flag = 1 Then
      Ausgabe_flag = 0
      Print "Anzahl Flanken: " ; Flanken_index;
      For I = 1 To Flanken_index
         Print " " ; Flanken_array(i);
      Next I
      Print ""
      Flanken_index = 400
      Timer1 = 0
      Start Timer1
      If Gifr.intf0 = 0 Then Enable Int0                    'falls zwischenzeitlich kein INT0 aufgetreten ist
   End If
Loop

End

Tim1_isr:                                                   'wenn der Timer überläuft, hat es 16.000.000 / 8 / 65536 ~ 33ms kein IR Signal gegeben
   If Flanken_index < 400 Then                              'Flanke ist vor dem Empfang auf 400;
      Disable Int0
      Stop Timer1
      Ausgabe_flag = 1
   Else
      If Gifr.intf0 = 1 Then Gifr.intf0 = 1                 'sieht blöd aus, bewirkt aber das Löschen eines zwischenzeitlich aufgetretenen Interrupts
      Enable Int0                                           'nun kann Int0 wieder freigegeben werden. Hierdurch synchronisiert er auf den Anfang des nächstes Codes
   End If
Return

Int0_isr:                                                   'RC Impuls erkannt
   Zeit = Timer1                                            'abgelaufene Zeit speichern
   Timer1 = 0                                               'Timer1 neu starten
   Zeit = Zeit - 7                                          '-7 weil das Aufrufen der ISR etwa 56 Takte dauert, der Timer1 also um 7 weiterzählt
   Shift Zeit , Right                                       'nun stehen µs in Zeit
   If Flanken_index = 400 Then
      Flanken_index = 0                                     'start eines neuen Befehls
   End If
   If Flanken_index < 400 Then Incr Flanken_index
   Flanken_array(flanken_index) = Zeit
Return

HBA
 
ok, also mit deinem programm bekomme ich beim druck das hier ausgegeben:

On,
Anzahl Flanken: 3 20175 12979 410
Anzahl Flanken: 1 8252


OFF
Anzahl Flanken: 3 28105 12934 455
Anzahl Flanken: 1 8214
 
Das sieht aber sehr dürftig aus.
Ich habe das Programm jetzt noch nicht selber ausprobiert. Im Simulator verhält es sich wie gewünscht.
Es müssten eigentlich ungefähr 68 Flankenwerte ausgegeben werden. Bei dir sind es nur 3 und 1.
Im Moment fehlt mir ein passender IR Empfänger, um es mal in HW auszutesten.
Ich suche mal weiter und gebe dir dann Bescheid.

HBA
 
ok, habs nochma geschaut :D
also
hab das rausbekommen
Code:
Anzahl Flanken: 68 20771 9296 4102 910 186 936 154 963 154 934 184 931 158 957 1
60 935 182 933 157 958 1304 915 1299 912 1307 941 1298 912 1304 916 1301 938 130
5 915 1300 912 1305 943 1300 911 1305 915 184 932 159 957 159 935 182 933 156 95
9 158 936 181 935 155 960 1300 918 1299 913 1302 945 1299 914 1303 917
jedoch bekomme ich auch ne ausgabe, wenn ich nix drücke,.
Code:
Anzahl Flanken: 4 26996 9296 1875 910
                                         
Anzahl Flanken: 4 10339 9296 1874 911
                                         
Anzahl Flanken: 4 10338 9298 1874 910
                                         
Anzahl Flanken: 4 10342 9292 1879 914
                                         
Anzahl Flanken: 4 10340 9295 1875 916
                                         
Anzahl Flanken: 4 10336 9291 1879 914
                                         
Anzahl Flanken: 4 10288 9348 1874 912
                                         
Anzahl Flanken: 4 10339 9293 1878 914
                                         
Anzahl Flanken: 4 10336 9298 1874 910
                                         
Anzahl Flanken: 2 7023 533
                                                    
Anzahl Flanken: 2 20238 533
                                                   
Anzahl Flanken: 2 18699 530
                                                   
Anzahl Flanken: 2 10545 506
                                                   
Anzahl Flanken: 2 29070 500
                                                   
Anzahl Flanken: 2 4646 533
                                                    
Anzahl Flanken: 2 19772 499
                                                   
Anzahl Flanken: 2 10379 499
                                                   
Anzahl Flanken: 2 26114 504
                                                   
Anzahl Flanken: 2 20883 532
                                                   
Anzahl Flanken: 2 25248 504
                                                   
Anzahl Flanken: 2 21408 501
                                                   
Anzahl Flanken: 2 4124 532
                                                    
Anzahl Flanken: 2 11085 501
                                                   
Anzahl Flanken: 2 2861 534
                                                    
Anzahl Flanken: 2 31344 499
                                                   
Anzahl Flanken: 2 23073 532
 
Ok, das sieht doch schon gut aus.
Dummerweise passen die Zeiten, die du siehst, nicht zu den erwarteten Zeiten des NEC Protokolls.
Daher habe ich mein Programm mal erweitert um zu sehen, ob da wiederholbar gleiche Wert kommen.

Code:
$crystal = 16000000
$regfile = "m8def.dat"
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               'default use 10 for the SW stack
$framesize = 40                                             'default use 40 for the frame space
$baud = 19200
Portd.2 = 1
Dim Flanken_index As Word
Dim Ausgabe_flag As Byte
Dim I As Word
Dim Flanken_array(400) As Word
Dim Zeit As Word
Dim Ausgabe As Long                                         'in 0,5µs Auflösung
Dim Adresse As Byte At Ausgabe Overlay
Dim Adresse_negiert As Byte At Ausgabe + 1 Overlay
Dim Befehl As Byte At Ausgabe + 2 Overlay
Dim Befehl_negiert As Byte At Ausgabe + 3 Overlay
Config Timer1 = Timer , Prescale = 8                        'hier den Timer eintragen (8-bit)
On Ovf1 Tim1_isr
Enable Timer1
Print "test"
Config Int0 = Change                                        'externer interrupt, z.B. INT0 auf portd.2 oder INT1 auf PinD.3
On Int0 Int0_isr
Enable Int0
Enable Interrupts
Flanken_index = 400
Do
   If Ausgabe_flag = 1 Then
      Ausgabe_flag = 0
      Print "Anzahl Flanken: " ; Flanken_index
      For I = 1 To Flanken_index
         Print " " ; Flanken_array(i);
      Next I
      Print ""
      If Flanken_index = 68 Then
         For I = 5 To 67 Step 2
            If Flanken_array(i) < 300 Then
               Shift Ausgabe , Left
            Elseif Flanken_array(i) > 1000 And Flanken_array(i) < 2000 Then
               Ausgabe.0 = 1
               Shift Ausgabe , Left
            End If
         Next I
         Adresse_negiert = Not Adresse_negiert
         Befehl_negiert = Not Befehl_negiert
         If Adresse = Adresse_negiert And Befehl = Befehl_negiert Then
            Print "Empfang ok: Adresse=" ; Adresse ; "(" ; Bin(adresse) ; "), Befehl=" ; Befehl ; "(" ; Bin(befehl) ; ")"
         End If
      End If
      Flanken_index = 400
      Timer1 = 0
      Start Timer1
      If Gifr.intf0 = 0 Then Enable Int0                    'falls zwischenzeitlich kein INT0 aufgetreten ist
   End If
Loop

End

Tim1_isr:                                                   'wenn der Timer überläuft, hat es 16.000.000 / 8 / 65536 ~ 33ms kein IR Signal gegeben
   If Flanken_index < 400 Then                              'Flanke ist vor dem Empfang auf 400;
      Disable Int0
      Stop Timer1
      Ausgabe_flag = 1
   Else
      If Gifr.intf0 = 1 Then Gifr.intf0 = 1                 'sieht blöd aus, bewirkt aber das Löschen eines zwischenzeitlich aufgetretenen Interrupts
      Enable Int0                                           'nun kann Int0 wieder freigegeben werden. Hierdurch synchronisiert er auf den Anfang des nächstes Codes
   End If
Return

Int0_isr:                                                   'RC Impuls erkannt
   Zeit = Timer1                                            'abgelaufene Zeit speichern
   Timer1 = 0                                               'Timer1 neu starten
   Zeit = Zeit - 7                                          '-7 weil das Aufrufen der ISR etwa 56 Takte dauert, der Timer1 also um 7 weiterzählt
   'Shift Zeit , Right                                       'nun stehen µs in Zeit
   If Flanken_index = 400 Then
      Flanken_index = 0                                     'start eines neuen Befehls
   End If
   If Flanken_index < 400 Then Incr Flanken_index
   Flanken_array(flanken_index) = Zeit
Return

Wenn das funktioniert sollte folgendes passieren:
Zunächst werden die Zeiten wie gehabt ausgegeben.
Wenn exakt 68 Flanken erkannt wurden, wird der 5., 7., 9. usw Wert auf die Länge überprüft. Du siehst bei dir, dass die alle entweder um die 160 oder um die 1300 sind. 160 wird als 0 genommen, 1300 als 1.
In deinem Mitschnitt sind die 32 Werte dann so:
0000_0000 1111_1111 1110_0000 000_11111
Du siehst, dass die zweite Bitfolge die Negierung der ersten ist und die vierte die Negierung der dritten. Wird dass so empfangen, wird Empfang ok und die Adresse und der Befehl ausgegeben. Ansonsten wird die fehlerhaft erkannte Bitfolge ausgegeben.

HBA
 
mh so
Anzahl Flanken: 68

49174 18575 8219 1813 380 1796 386 1842 392 1855 379 1794 388 1853 381 1853 381
1791 391 1851 2670 1766 2669 1812 2620 1816 2672 1762 2668 1820 2613 1811 2675
1762 2676 1816 2613 1819 2668 1766 2669 1813 383 1801 381 1852 382 1847 387 1800
382 1849 386 1845 391 1799 384 1847 2674 1761 2672 1820 2616 1816 2669 1755 267
6 1816
Empfang ok: Adresse=0(00000000), Befehl=0(00000000)

Anzahl Flanken: 68
1806 429 1742 2728 1761 2725 1709 2724 1708 2725 1765 2721 1712 2720 1713 2723
1766 2717 1716 2717 1715 2718 1773 2715 1719 428 1799 436 1752 483 1744 437 1804
431 1755 480 1752 429 1801 434 1753 2715 1770 2716 1719 2717 1714 2717 1772 271
3 1719

Anzahl Flanken: 68

46237 18467 8329 1709 433 1806 428 1747 488 1752 428 1802 432 1753 483 1746 434
1807 428 1746 2725 1763 2725 1706 2724 1719 2716 1760 2722 1709 2727 1717 2716
1759 2723 1720 429 1803 431 1753 484 1747 433 1805 2715 1718 430 1800 434 1753 4
83 1744 2721 1710 2724 1763 2722 1709 2724 1708 495 1750 2717 1715 2717 1771 271
8 1713

Empfang ok: Adresse=0(00000000), Befehl=0(00000000)


sind denn alle zeiten in µs?
achso das sind jetzt unterschiedliche tasten
mh irgendwoie stimmt die µs/ ms/s anzeige im prog glaube ich nicht,.

und bekomme grade extreme störungen, also bekomme signale angezeigt via rs232 obwohl ich garnix mache,.
 
sind denn alle zeiten in µs?
Im Moment leider nicht, weil ich diesen Befehl auskommentiert hatte:
'Shift Zeit , Right
Mache mal das ' weg. Der steht in der Int0_isr.
Dann müssten wieder solche Werte kommen wie vorher.

und bekomme grade extreme störungen, also bekomme signale angezeigt via rs232 obwohl ich garnix mache,.
Das kann schon sein. Immer wenn der TSOP etwas empfängt kommt da auch mal was durch. Das muss man dann gegen solche Bedingungen etwas robuster machen. Ist ja im Moment nur zum Testen.

HBA
 
so, dann funzts auch wieder :D

901 1333 909 1308 934 1308 906 1312 908 1307 929 1313 909 1308 906 1309 933 165
927 1307 934 1310 904 166 926 191 927 190 897 194 927 190 923 1312 931 168 925
192 900 1334 908 1309 933 1309 905 1310 910 1307 909

Empfang ok: Adresse=62(00111110), Befehl=254(11111110)
 
Hallo Bonze,
kommt denn jetzt immer die gleicher Folge, wenn du die gleiche Tatse drückst? Und verschiedene, wenn du die verschiedenen Tasten der FB durchgehst?
Wenn ja, dann kannst den Code ja in dein Programm einbauen. Und fragst dann auf die Werte Adresse und Befehl ab.
Wenn du auch längere Tastendrücke richtig auswerten willst, müssen wir noch etwas drum herum stricken. Wenn es eine Art NEC Code ist, werden die Wiederholungen nur aus einem 4 Flanken Paket bestehen, etwa so
Anzahl Flanken: 4 .... 9000 2000 900
Die muss man dann separat verarbeiten.

HBA
 
So, hab mal alle tasten durchprobiert, und bei dennen ich ein ergebnis bekommen hab, hab ichs notiert, sieht irgendwie nach gray code aus oder?
 

Anhänge

  • fb tasten.pdf
    38,7 KB · Aufrufe: 17
Das sieht doch sehr gut aus.
Dass, was bei mir Befehl heißt, ist immer konstant auf 254.
In der Adresse ist das untere Nibble (die letzten 4 Bit) fix.
Das obere Nibble gibt den eigentlichen Befehl wieder.
Damit das klarer wird, vertauschst du vielleicht die Bezeichnung von Adresse und Befehl. Adresse muss dann immer 254 sein.
Falls dass schon alle Tasten sind, kannst du unteren 4 Bits auch raus shiften. Deine Befehle gehen dann von 1-6 und von 8-13. Diese fragst du dann im Programm ab.

HBA
 
also alle tasten sind die im pdf, jedoch bekomme ich bei manchen tasten keine adresse angezeigt, zwar die bitlängen jedoch keine auswertungen, der adresse,.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)