
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, wenn du schon Assembler kannst, erledigst du das Einlesen am besten auch gleich damit. Cu Rene, alias Topmail > Hi, > > habe schon einiges mit der C-Control gebastelt, auch hier in letzter Zeit schon öfters gelesen und stehe jetzt vor einem Problem: > > Ich muss über die serielle Schnittstelle 10 Werte einlesen. Die kommen aus einem Visual Basic Programm. > Sehen etwa so aus.: > > Byte 1: "a009 067" > Byte 2: "068 072" > Byte 3: "075 087" > Byte 4: "089,099" > Byte 5: "119 127" > Byte 6: "134 139" > Byte 7: "009 087" > Byte 8: "124 189" > Byte 9: "009 087" > Byte 10: "124 189b" > > Das a und b sende ich nur mit um das erste und letzte Byte zu erkennen, kann ich auch weglassen. > Jetzt muss ich diese 10 Werte in 20 Werte ändern. > a1 = 9 > a2 = 67 > a3 = 68 > ... > a20 = 189 > > das ganze muss sehr schnell gehen (einlesen und umwandeln), weil ich danach die werte in einer assemblerroutine benötige. Diese Routine wartet auf einen sync an port 2 und zählt danach die externen Takte an port 3 um dann auf port 4 bits auszugeben und zwar an den 20 werten. > > Ich möchte also mit einem Visual basic Programm bits auf einer speziellen seriellen Leitung setzen. > Das auslesen des Syncs und setzen der Bits geht schon recht gut im Assembler, nur das einlesen und umwandeln will noch nicht. > Das Format der gesendeten daten kann noch geändert werden. > Es sind halt 20 Zahlen die übertragen werden sollen und in Variabeln übergeben werden sollen. > Es darf aber nicht auf Werte am RS232 gewartet werden, denn wenn der Sync kommt, dann muss die Assemblerroutine laufen und "alle" bisherigen bits setzen. > > Es gibt 255 Takte zwischen den syncs, ich setze aber nur max bis bit 200, habe dann 55 takte zeit zum lesen und wandeln. Liegt kein wert am rs232 an nimmt er halt die alten werte. Am rs232 werden die werte nicht oft geändert. > > Könnt Ihr mir da evtl helfen? Wäre auf jeden Fall für jeden Ansatz dankbar. > > Gruß > > Thorsten |
| Antwort schreiben |