das sind bei mir die 3 letzten zeile:
ACI =$024 ;Analog Comparator Interrupt Vector Address
TWI=$026 ;2wire serial int
SPMR=$028 ; Store Program Memory Ready Interrupt Vector Address
dann ändere deine mal in TWI=$026
Druckbare Version
das sind bei mir die 3 letzten zeile:
ACI =$024 ;Analog Comparator Interrupt Vector Address
TWI=$026 ;2wire serial int
SPMR=$028 ; Store Program Memory Ready Interrupt Vector Address
dann ändere deine mal in TWI=$026
mit I2csend &H70 , B
mit I2creceive &H70 , X
ich habe bis jetzt immer nur mit diesen beide befehlen gearbeitet...
mit I2csend &H70 , B
mit I2creceive &H70 , X
ich habe bis jetzt immer nur mit diesen beide befehlen gearbeitet. so weit ich weiss enthalten diese befehle schon start, stop und so weiter...
hab jetzt ne neue Bascom version jetzt passt das auch mit der 2. letzten zeile. Mal sehen was er jetzt zum programm sagt.
Edit:
sieht schon besser aus also die Zeile gefällt ihm jetzt schon mal.
wie sieht das jetzt mit der sub aus?
erst mal muss ich ja
Declare Sub Master needs byte
Do
Call Sub Master needs byte
Loob
Sub Master needs byte
Print "Master needs byte : " ; Twi_btr
Twi = 65 ' twi must be filled with a value
Return
end sub
nein die sub wird automatisch aufgerufen wen die hardware TWI meldet das der master daten will einfach genau so stehen lasen wie in der demo... kanst du den slave nicht per rs232 an einen pc hängen? dann siehts du mit der demo genau welche subs aufgerufen werden...
gruss bluesmash
doch hab ich dran also muss ich auch nicht declare sub schreiben oder wie? jetzt schreibt er
We were addressed and master will send data
und was nun.
jetzt funktioniert wenigstens das schon mal.
edit:
jetzt hab ich kurz ausgesteckt dann wieder eingesteckt.
jetzt meldet er
We were addressed and master will read data
Master needs byte: 1
Hallo,
NOP = No OPeration zu deutsch: keine Operation
Dieser Befehl hat keinerlei Funktion und auch sonst keine Auswirkungen auf z.B. die Register einer CPU.
Gruß
m.artmann
das tönt ja schon tip top :) auf jedenfall merkt der slave schonmal das der master etwas von ihm will... :)
mach mal beim master nur senden...
dann sollte der slave zuerst in folgende sub springen da er merkt dass er adressiert wurde:
Twi_addressed_goread:
Print "We were addressed and master will send data"
Return
gleich darauf springt er dann sovielmal in folgende sub wie der master bytes sendet:
Twi_gotdata:
Print "received : " ; Twi
Return
und jetzt soltle auf dem bildschirm received: "empfangene zahl" stehen...
vorausgesetzt du sendest auch eine zahl... ;)
Ne er sagt nur We were addressed and master will send data
dann wieder das gleiche.
ich habe beim master jetzt dies geschrieben:
Dim B As Byte , X As Byte
Print "TWI master"
B = 125
Do
' increase value
I2csend &H70 , B ' send the value
Print X ; " " ; Err ' show error
Waitms 500 'wait a bit
Loop
End
edit:
aber auch wenn ich im master nun die scl und sda pins umstelle dann meldet der slave immer noch master will send data. kann das sein dass die scl und sda pin falsch konfiguriert sind?