Matthias Mikysek
08.12.2005, 18:05
Hallo,
ich habe ein problem mit dem SOCKETSTAT Kommando ! ES IST LAHM:,
ca. 38µs bei einem M64 @16Mhz.
Unten seht Ihr eine loop die alle 52µs von einer Timer0 ISR unterbrochen wird. In der loop werden zwei subs bedient die ca. 16µs brauchen. In der ISR wird mittels SOCKETSTAT auf Daten im W3100A gecheckt. wenn welche da sind wird die loop verlassen und der Timer angehalten.
Aber wie gesagt ist SOCKETSTAT mit ca 38µs zu langsam.
Hat wer ne ASM Routine die das scneller kann?
....
Enable Timer0
do
Gosub Rxsop
If Sopflg = 1 Then Gosub Do_rx
loop until tcpbuff > 0
disable timer0
tcpbuff = 0
print "exited"
...
Timer_irq:
Timer0 = Timervorgabe
tcpbuff = Socketstat(0 , Sel_recv)
....
Return
.....
Danke!
Matthias
ich habe ein problem mit dem SOCKETSTAT Kommando ! ES IST LAHM:,
ca. 38µs bei einem M64 @16Mhz.
Unten seht Ihr eine loop die alle 52µs von einer Timer0 ISR unterbrochen wird. In der loop werden zwei subs bedient die ca. 16µs brauchen. In der ISR wird mittels SOCKETSTAT auf Daten im W3100A gecheckt. wenn welche da sind wird die loop verlassen und der Timer angehalten.
Aber wie gesagt ist SOCKETSTAT mit ca 38µs zu langsam.
Hat wer ne ASM Routine die das scneller kann?
....
Enable Timer0
do
Gosub Rxsop
If Sopflg = 1 Then Gosub Do_rx
loop until tcpbuff > 0
disable timer0
tcpbuff = 0
print "exited"
...
Timer_irq:
Timer0 = Timervorgabe
tcpbuff = Socketstat(0 , Sel_recv)
....
Return
.....
Danke!
Matthias