Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: RS232 IRQ Kategorie: Programmierung Basic (von Christoph - 19.01.2007 7:59)
Als Antwort auf Re: RS232 IRQ von a - 18.01.2007 16:26
Ich nutze:
C-Control Pro Mega128
Hab das mal so geschrieben, aber das funktioniert nicht, da bleibt das Programm irgendwo stecken.
Die Daten auf der seriellen Schnittstelleschreib ich mit einem Terminalprogramm hienein

Sub main()
Dim puffer1(156) As Byte
Dim serial, input, ii As Integer
Dim abc(156),so(150),ms(20),as(20) As Char
so="test"
Serial_Init_IRQ(0,puffer1,100,50,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600)
AbsDelay(20000)
ii=Serial_IRQ_Info(0,RS232_FIFO_RECV)
For serial=1 To ii
abc(serial)=Serial_Read(0)
Next
Msg_WriteChar(ii)
For serial=1 To ii
Serial_Write(0,abc(serial))
Next
If Str_SubStr(so,abc) > 1 Then
as="empangen"
For serial=0 To 7
    Serial_Write(0,as(serial))
Next
Else
ms="error"
For serial=0 To 5
    Serial_Write(0,ms(serial))
Next
End If
End Sub


> Hallo.
>
> Dein Empfangspuffer ist größer als die zu empfangende Meldung?
>
> Check mit Serial_IRQ_Info(0,RS232_FIFO_RECV) wieviel wirklich empfangen wurde (ccpro-Hilfe).
> (RS232-port 1 funktioniert mit IRQ nicht, steht irgendwo im Forum)
>
> Die Schleifenabfrage würde ich nicht nehmen, besser mit Zähler und
> Abfrage ob Serial_ReadExt<256.   (s. Bsp. forum-eintrag=916)
>
> Wenn möglich, gehe mit der Baudrate runter.
>


    Antwort schreiben


Antworten:

Re: RS232 IRQ (von a - 19.01.2007 14:45)