Hallo,
kann man die Slavelib nicht so configurieren, das die mit Hardware- TWI läuft, dann brauchts nämlich keinen Timer ?!
Timer ist nur für Soft-TWI, der Mega8 kann das aber schon Hardwaremässig.
Hallo,
Ich will mit einer mega8 ein Servo ansteuern. Dies soll über I2C geschehen.
Dazu habe ich mir die i2cslave.lib von MCS Electronics gekauft. Die Lib greift auf den Timer0 zu.
Mein Problem besteht nun darin, das ich den Servobefehl nicht anwenden kann, da er auch auf den Timer0 zugreift. Die Lösung wäre das Servo über Timer1 anzusteuern. Hat jemand nen Quelltext dazu?
Hallo,
kann man die Slavelib nicht so configurieren, das die mit Hardware- TWI läuft, dann brauchts nämlich keinen Timer ?!
Timer ist nur für Soft-TWI, der Mega8 kann das aber schon Hardwaremässig.
Ganz kurz ne zwischen Frage:
Kann man das so machen, oder kann man keine Servoposition abfregen?
servo(1) = 50
waitms 2000
servo(1) = 150
if servo (1) = 110 then .....
Dim A As Word
Dim B As Word
Dim C As Word
Config Servos = 2 , Servo1 = Porta.0 , Servo2 = Porta.1 , Reload = 10
Config Pina.0 = Output
Config Pina.1 = Output
Config Pina.2 = Output
Enable Interrupts
A Alias Servo(1)
B Alias Servo(2)
Move:
Do
A = 51
A = 52
A = 53
A = 54
A = 55
A = 56
A = 57
A = 58
A = 59
A = 60
A = 61
A = 62
A = 63
A = 64
A = 65
A = 66
If A = 51 Then B = 101
If A = 52 Then B = 102
If A = 53 Then B = 103
If A = 54 Then B = 104
If A = 55 Then B = 105
If A = 56 Then B = 106
If A = 57 Then B = 107
If A = 58 Then B = 108
If A = 59 Then B = 109
If A = 60 Then B = 110
If A = 61 Then B = 111
If A = 62 Then B = 113
If A = 63 Then B = 114
If A = 64 Then B = 115
If A = 65 Then B = 116
If A = 66 Then B = 117
Waitms 1000
A = 65
A = 64
A = 63
A = 62
A = 61
A = 60
A = 59
A = 58
A = 57
A = 56
A = 55
A = 54
A = 53
A = 52
A = 51
If A = 51 Then B = 101
If A = 52 Then B = 102
If A = 53 Then B = 103
If A = 54 Then B = 104
If A = 55 Then B = 105
If A = 56 Then B = 106
If A = 57 Then B = 107
If A = 58 Then B = 108
If A = 59 Then B = 109
If A = 60 Then B = 110
If A = 61 Then B = 111
If A = 62 Then B = 113
If A = 63 Then B = 114
If A = 64 Then B = 115
If A = 65 Then B = 116
If A = 66 Then B = 117
Waitms 1000
Loop
[/code]
Zitat von linux_80
Kannst du mir eventuell einen Tip geben, wie man die lib so configuriert?
Danke schon mal für die schnelle Antwort.
Beim Bascom isses meistens so, daß es zwei Libraries gibt, eine für SW-I2C und eine für HW. letztere muß man ev. durch "$LIB= " dazutun.
Name dieser Lib (muttu gucken) wahrscheinlich irgendwas mit "xx_TWI.LBX" . Das ist aber Spekulation.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo,
man kann, besser gesagt, es wird gleich eine passende LIB mit dem Namen "i2C_twi-slave.lbx" mitgeliefert. Da werden dann keine Timer verschwendet und die Library ist auch insgesamt leichter zu handhaben.Zitat von linux_80
@sulu
Die Sevoposition läßt sich so nicht auslesen.
@dynamex2k
Wie die Libs benutzt werden, steht in den Beispielprogrammen und den PDFs.
Grüße
Henrik
@Hrei, wie immer ein Wissender: Ist bei der Bascom-Slave Library eigentlich ein Multimasterbetrieb abgedeckt ?
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo Robert,
Leider, leider nein . BTW: Es werden auch nur die kompilierten Versionen der LIBs mitgeliefert. Für Modifikationen etwas unbequem.Zitat von PicNick
Grüße
Henrik
*grmpf*, danke. D.h., ich muß mir das eh' selber schreiben. (Für die paar € hätt sich das nicht ausgezahlt). Naja, vielleicht kann's ja dann noch wer brauchen. Schönen Feiertag noch !
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
habe das ganze mit der hardware twi gelöst
funktionier super.
danke für eure Hilfe
Lesezeichen