o.k. so etwas habe ich mir gedacht.
wo müsste ich das tx0 einbauen?
Code:
Mcp2515_read_register Txb0ctrl '&HA0
'Print "SPI_read_Status0: " ; Canin
If Canin.3 = 0 Then Gosub Send_buffer0
Mcp2515_read_register Txb1ctrl '&HA0
'Print "SPI_read_Status1: " ; Canin
If Canin.3 = 0 Then Gosub Send_buffer1
Mcp2515_read_register Txb2ctrl '&HA0
'Print "SPI_read_Status2: " ; Canin
If Canin.3 = 0 Then Gosub Send_buffer2
dann springt er in die einzelen buffer
z.B.
Code:
'--------- senden mit Buffer 0
Send_buffer0:
Hilf1 = Id / 8
Idh = Hilf1
Hilf1 = Idh * 8
Hilf1 = Id - Hilf1
Hilf1 = Hilf1 * 32
Idl = Hilf1
'Priorität einstellen bit 1-0 11=>höchste / 10=>hoch
' 01=>niedrig / 00=> niedrigste
Mcp2515_bitmodify Txb0ctrl , &B00000011 , &B00000011
'Standard ID einstellen
Mcp2515_write_register Txb0sidh , Idh
Mcp2515_write_register Txb0sidl , Idl
'Nachrichtenlänge einstellen (DFL)
Mcp2515_write_register Txb0dlc , Dfl
'Daten
Mcp2515_write_register Txb0d0 , Db0(1)
Mcp2515_write_register Txb0d1 , Db0(2)
Mcp2515_write_register Txb0d2 , Db0(3)
Mcp2515_write_register Txb0d3 , Db0(4)
Mcp2515_write_register Txb0d4 , Db0(5)
Mcp2515_write_register Txb0d5 , Db0(6)
Mcp2515_write_register Txb0d6 , Db0(7)
Mcp2515_write_register Txb0d7 , Db0(8)
'nachricht versenden
Reset Css
Waitus 10
Mcphilf = Spi_rts0
Spdr = Mcphilf
Do
Loop Until Spsr.spif = 1
Waitus 10
Set Css
'Print "gesendet Buffer-0"
Waitms 50
Return
wieso sind das eigentlich 3 Buffer?
Lesezeichen