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 Sebastian - 2.09.2008 20:55)
Als Antwort auf Re: Suche Hilfe zum I2C gg. kleine Bezahlung von UlliS - 1.09.2008 17:22
Ich nutze:
CC-Pro 128 Application 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
>


    Antwort schreiben


Antworten:

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