halll zusammen,
kann jemand mir einmal helfen, um die Datenaustauschen zwischen zwei UART zu erreichen?
mein chips ist atmega 324p und er hat 2 UART.
also, ich schreibe String von PC nach Atmegas UART0, danach möchte ich diese String von UART0 nach UART1 versenden.
ich schreibe eine kurze Code, aber es lauft nicht.
aus UART1 kann ich nur immer 0 bekommen,
das heißt, keine Daten von UART0 empfangr werden.
ich weiße nicht warum.
kann jemand mir einmal helfen, um die Datenaustauschen zwischen zwei UART zu erreichen?
mein chips ist atmega 324p und er hat 2 UART.
also, ich schreibe String von PC nach Atmegas UART0, danach möchte ich diese String von UART0 nach UART1 versenden.
ich schreibe eine kurze Code, aber es lauft nicht.
Code:
$regfile = "m324pdef.dat" 'Prozessortyp
$crystal = 8000000 'Taktfreqwuenz
$hwstack = 40
$swstack = 16
$framesize = 32
$baud = 9600
Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Com2 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Config Serialin = Buffered , Size = 20 'Config Empfangsbuffered Für Uart0
Config Serialin1 = Buffered , Size = 20 'Config Empfangsbuffered Für Uart1
Open "COM2:" For Binary As #1
Enable Interrupts
Dim A As Byte
Dim B As String * 1
Dim Buf As String * 20
Dim C As Byte
Dim D As String * 20
Main:
Do
A = Ischarwaiting()
If A = 1 Then Gosub Lesendaten
Print #1 , D
Gosub Datenversenden
Loop
End
Lesendaten: ' auslesen die Daten,
Do 'die von pc eingeschrieben werden.
B = Inkey()
If B = Chr(13) Then
D = Buf
Print Buf
Buf = ""
Else
Buf = Buf + B
End If
Loop
Return
Datenversenden: 'Datenversenden Von Uart0 Nach Uart1
C = Ischarwaiting(#1)
Select Case C
Case 0 : Print #1 , C
Case 1 : Print #1 , "Daten aus UART0 ist" ; D
End Select
Return
das heißt, keine Daten von UART0 empfangr werden.
ich weiße nicht warum.