Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Suche Hilfe zum I2C gg. kleine Bezahlung Kategorie: Programmierung Basic (von UlliS - 2.09.2008 21:59)
Als Antwort auf Re: Suche Hilfe zum I2C gg. kleine Bezahlung von Sebastian - 2.09.2008 20:55
Ich nutze:
C-Control Pro Mega32, C-Control Pro Mega128, CC-Pro 32 Application Board, CC-Pro 128 Application Board, eigenes Board
> Hi Ulli,
>
> vielen Dank für dein Beispiel. Das spart mir, glaube ich, ne ganze Menge Zeit. Wie machen wir das
> mit der Bezahlung? Meine E-mail habe ich übrigens hinterlegt.
>
> GruÃ?
> Sebastian
>
>
> > > Hi Ulli,
> > >
> > > sind die Pullup-Widerstände unbedingt notwendig? Ich habe schon öfter hier im Forum gelesen, dass
> > > man noch zusätzliche Pullup-Widerstäde einbauen muss, wenn man die I2C-Schnittstelle nutzt.
> > > Warum eigentlich?
> > >
> > > Hättest du Lust, mir deinen Quellcode mal zu schicken?
> > >
> > > GruÃ?
> > > Sebastian
> > >
> > >
> > > > > Hi,
> > > > >
> > > > > hat jemand schon mal die I2C-Schnittstelle des Boards verwendet und wäre bereit, mir
> > > > > (gegen Bezahlung) ein paar Tipps zu geben, wie man so etwas genau macht. Irgendwie stehe ich bei
> > > > > diesem Thema noch wie der Ochse vorm Berg, obwohl ich schon seit über zwei Wochen daran sitze.
> > > > >
> > > > > Ich möchte gerne mehrere Ultraschallsensoren zum Laufen bringen, die über eine I2C-Schnittstelle
> > > > > verfügen.
> > > > >
> > > > > hier mal das Datenblatt der Sensoren:
> > > > >
> > > > > http://www.robotikhardware.de/download/srf10doku.pdf
> > > > >
> > > > > Das Demoprogramm, das hier beiliegt, habe ich schon so weit übertragen. Aber im Moment klappt
> > > > > es noch nicht. Ich bin mir auch nicht sicher, ob ich den Sensor überhaupt richtig am Board
> > > > > angeschlossen habe.
> > > > >
> > > > > Da bräuchte ich schon mal den ersten Tipp.
> > > > >
> > > > > Wenn sich jemand bereit findet - Meine E-mailadresse habe ich oben angegeben.
> > > > >
> > > > > Sebastian
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > > Hallo Sebastian,
> > > >
> > > > wo genau hängt es den?
> > > > Ich hatte mal Probleme mit den Firmware Abfrage bei Sensor bereit für Messung.
> > > > Setz dafür mal ein AbsDelay(60) ein.
> > > >
> > > > Prüfe auch mal di e Pullup Widerstände nach.
> > > >
> > > > Ansonst müsste das ganze funktionieren, ich selber benutze meist die SRF02 Sensoren.
> > > >
> > > > Grü�e Ulli
> > > >
> >
> > Hallo Sebastian,
> >
> > hier der Code zum SRF02
> >
> > '----------------------------------------------------------------------------------
> > '----- DEMO ----- DEMO ----- DEMO ----- DEMO ----- DEMO ----- DEMO ----- DEMO -----
> > '----------------------------------------------------------------------------------
> > 'Projektname:       SRF02.cprj
> > 'Benötigte Libs´s:  IntFunc_lib.cc
> > 'Routinen:          SRF02.cbas
> > 'Autor:             Ulli Sommer
> > 'Datum:             04.04.2008
> > 'Funktion:          SRF02 der Fa. Devantech auslesen (Ultraschall Sensor)
> > '
> > '
> > '----------------------------------------------------------------------------------
> >
> >
> > Dim SRF02_Slaveid As Byte
> > Dim LSB As Byte
> > Dim MSB As Byte
> > Dim Entfernung As Word
> > Dim Ausgabe As Word
> > Dim Bezeichner(10) As Char
> >
> >
> >
> > Sub main()
> >
> >     I2C_Init(I2C_100kHz)
> >     SRF02_Slaveid = &HE0
> >
> >     Bezeichner = " cm"
> >
> >     Do While True
> >
> >       Ausgabe = SRF02_Entfernung(SRF02_Slaveid)
> >
> >       Msg_WriteWord(Ausgabe)
> >       Msg_WriteText(Bezeichner)
> >       Msg_WriteChar(13)
> >       'AbsDelay(100)
> >
> >    End While
> >
> > End Sub
> >
> >
> > Sub SRF02_Entfernung(Slaveid As Byte) As Integer
> >
> >     Dim Lob As Byte
> >     Dim Hib As Byte
> >     Dim Firmware As Byte
> >     Dim Temp As Byte
> >     Dim Slaveid_read As Byte
> >     Slaveid_read = Slaveid + 1
> >
> >    'Messvorgang in starten
> >    I2C_Start()
> >    I2C_Write(Slaveid)
> >    I2C_Write(0)
> >    I2C_Write(81)
> >    I2C_Stop()
> >
> >    AbsDelay(250)                    'Warte auf Messung
> >
> >    I2C_Start()
> >    I2C_Write(Slaveid)
> >    I2C_Write(2)
> >    I2C_Stop()
> >
> >    I2C_Start()
> >    I2C_Write(Slaveid_read)
> >    MSB = I2C_Read_ACK()
> >    LSB = I2C_Read_NACK()
> >    I2C_Stop()
> >
> >    Entfernung = Makeint(LSB , MSB)  'Bytes zusammenfassen
> >
> >    Return Entfernung
> >
> > End Sub
> >
> >
> > 'Sub-Routine um High-Byte und Low-Byte zusammenzufügen
> > Sub Makeint(A As Byte , B As Byte) As Word
> >   Dim tmp As Word
> >   tmp = A                           'High-Byte übernehmen
> >   tmp << 7                          'um 7 Bit nach links schieben
> >   tmp = tmp + B                     'Low-Byte hinzufügen
> >   Return tmp
> > End Sub
> >
> >
> > Grü�e Ulli
> >

Hallo Sebastian,

das kostet doch nix ;-)
Viel SpaÃ? damit....

Grü�e Ulli


    Antwort schreiben


Antworten:

Re: Suche Hilfe zum I2C gg. kleine Bezahlung (von Sebastian - 8.09.2008 21:40)