avrei un problema con il chip ATmega644PV.
Se uso la seconda UART (la UART1) il micro scrive i dati su entrambi le UART 0 e 1
I ho scritto il seguente codice:
- Code: Select all
$regfile = "M644Pdef.dat"
$baud = 9600
$baud1 = 9600
$crystal = 7372800
$framesize = 32
$swstack = 10
$hwstack = 40
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
Open "COM1:" For Binary As #1
Open "COM2:" For Binary As #2
Enable Interrupts
Do
Print #1 , "UART0"
Waitms 100
Print #2 , "UART1"
Waitms 100
Loop
Close #1
Close #2
End
Sulla COM1 ho solo i dati su #1.
Sulla COM2 ho i dati su #1 and #2.
se invece la setto come softuart funziona bene.
- Code: Select all
$regfile = "M644Pdef.dat"
$baud = 9600
$crystal = 7372800
$framesize = 32
$swstack = 10
$hwstack = 40
Config Com1 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
Open "COM1:" For Binary As #1
Open "comd.3:9600,8,N,1" For Input As #2
Open "comd.2:9600,8,N,1" For Output As #3
Enable Interrupts
Do
Print #1 , "UART0"
Waitms 100
Print #3 , "UART1"
Waitms 100
Loop
Close #1
Close #2
Close #3
End
Qualcuno potrebbe aiutarmi?
E' successo a qualcuno di voi?
ciao