Persze hosszú távon a bonyolúlt SW a kifizetődő úgyis...csak ez az I2C bootloder új még nekem, ha kész a HW akkor majd megnézem, hogy mi hozható ki ebből, bár kész HW-nél muszáj lesz így összehozni, mert másképp nem fog menni...
Köszönöm a tippet!
Kód: Egész kijelölése
Addrbus.0 Alias Porta.0
Addrbus.1 Alias Porta.1
Addrbus.2 Alias Porta.2
Addrbus.3 Alias Porta.3
Addrbus.4 Alias Porta.4
Sub Read_rtl8019as(regaddr)
Config Databus = Input
Databus = &HFF
Addrbus.0 = Regaddr.0
Addrbus.1 = Regaddr.1
Addrbus.2 = Regaddr.2
Addrbus.3 = Regaddr.3
Addrbus.4 = Regaddr.4
Waitus 1
Reset Ior_pin
Waitus 1
Byte_read = Dataline
Waitus 1
Set Ior_pin
Waitus 1
End Sub
'///////////////////////////////////////////////////////////////////////////////
'Író rutin
Sub Write_rtl8019as(regaddr , Regdata)
Addrbus.0 = Regaddr.0
Addrbus.1 = Regaddr.1
Addrbus.2 = Regaddr.2
Addrbus.3 = Regaddr.3
Addrbus.4 = Regaddr.4
Config Databus = Output
Databus = Regdata
Waitus 1
Reset Iow_pin
Waitus 1
Set Iow_pin
Waitus 1
Config Databus = Input
Databus = &HFF
End Sub
'///////////////////////////////////////////////////////////////////////////////
'RTL8019AS inicializalas
Sub Init_rtl8019as
Config Databus = Input
Databus = 255
Config Addrbus = Output
Addrbus.0 = 0
Addrbus.1 = 0
Addrbus.2 = 0
Addrbus.3 = 0
Addrbus.4 = 0
Config Reset_pin = Output
Config Iow_pin = Output
Config Ior_pin = Output
Set Iow_pin
Set Ior_pin
Set Reset_pin
Waitms 2
Reset Reset_pin
Call Read_rtl8019as(rstport)
Call Write_rtl8019as(rstport , &HFF)
Waitms 10
'check for good soft reset
Call Read_rtl8019as(isr)
Call Write_rtl8019as(cr , &H21)
Waitms 2
Call Write_rtl8019as(dcr , Dcrval)
Call Write_rtl8019as(rbcr0 , &H00)
Call Write_rtl8019as(rbcr1 , &H00)
Call Write_rtl8019as(rcr , &H04)
Call Write_rtl8019as(tpsr , Txtstart)
Call Write_rtl8019as(tcr , &H02)
Call Write_rtl8019as(pstart , Rxstart)
Call Write_rtl8019as(bnry , Rxstart)
Call Write_rtl8019as(pstop , Rxstop)
Call Write_rtl8019as(cr , &H61)
Waitms 2
Call Write_rtl8019as(curr , Rxstart)
For Hulp1 = 1 To 6
Call Write_rtl8019as(hulp1 , Mymac(hulp1))
Next Hulp1
Call Write_rtl8019as(cr , &H21)
Call Write_rtl8019as(dcr , Dcrval)
Call Write_rtl8019as(cr , &H22)
Call Write_rtl8019as(isr , &HFF)
Call Write_rtl8019as(imr , Imrval)
Call Write_rtl8019as(tcr , Tcrval)
End Sub