www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kopassmodul cmps03 über I²C mit BASCOM


Autor: Matthias Theiser (Firma: HTBLuVA WY AUT) (poti)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

Verstehe nicht warum bei mir am Anfang jedes neuen Projektes nie etwas 
auf Anhieb klappen kann. Versuche momentan den Winkel eines 
cmps03-Kompassmoduls über I²C einzulesen. Das Ganze soll ja mit BASCOM 
SEHR EINFACH funktionieren ... angeblich! Irgend etwas mache ich falsch. 
Alles klapp wunderbar bis ich die Funktion für den Winkel aufrufe. Mir 
kommt vor wie wenn das Programm in der Funktion stecken bleibt! Kann das 
sein ???

Hier mal mein Code:


Declare Function Rn_cmps_himmelsrichtung() As Word

' ---------------RN-Mega128Funk übliche ------------------

$regfile = "m128def.dat" ' Bei Mega 128 "
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000 
'Quarzfrequenz
$baud = 19200                                               'Baudrate 
für Funkmodul
$baud1 = 9600                                               'Baudrate 
für MAX

Config Scl = Portd.0                                        'Ports fuer 
IIC-Bus
Config Sda = Portd.1

Config Ping.0 = Output                                      'Spannung an 
LCD aktivieren
Lcdpower Alias Portg.0

Config Pine.2 = Output
Rdy_hostempfangsbereit Alias Porte.2                        'Auf Low 
setzen wenn Empfangsbereit für Datenvom Funkmodul

Config Pine.5 = Input
Bsy_funkmodulsendebereit Alias Porte.5                      'Ist Low 
wenn Funkmodul frei zum senden
Open "com2:" For Binary As #2                               'Ausgabe 
über zweite serielle Schnittstelle (MAX)

Sound Portg.2 , 400 , 450                                   'BEEP bei 
RN-Mega128Funk
Sound Portg.2 , 400 , 250                                   'BEEP bei 
RN-Mega128Funk
Sound Portg.2 , 400 , 450                                   'BEEP bei 
RN-Mega128Funk

' ---------------------------------------------------

Config Pinf.6 = Output
Lcd_rw Alias Portf.6
Lcd_rw = 0
Lcdpower = 1
Waitms 500
Config Lcd = 20 * 2
Config Lcdpin = Pin , Db4 = Portf.3 , Db5 = Portf.2 , Db6 = Portf.1 , 
Db7 = Portf.0 , E = Portf.5 , Rs = Portf.7
Config Lcdbus = 4
Initlcd
Cls

Cursor Off

Dim Himmelsrichtung As Word

I2cinit

Do

   Himmelsrichtung = Rn_cmps_himmelsrichtung()

   Cls
   Lcd Himmelsrichtung

   Wait 1

Loop

End

Function Rn_cmps_himmelsrichtung() As Word
Local Lob As Byte
Local Hib As Byte
Local Cmps_slaveid As Byte
Local Cmps_slaveid_read As Byte

   Cmps_slaveid = &HC0
   Cmps_slaveid_read = Cmps_slaveid + 1

   'Register auswählen
   I2cstart
   I2cwbyte Cmps_slaveid
   I2cwbyte 2
   I2cstop

   I2cstart
   I2cwbyte Cmps_slaveid_read
   I2crbyte Hib , Ack
   I2crbyte Lob , Nack
   I2cstop

   Rn_cmps_himmelsrichtung = Makeint(lob , Hib)
End Function





Im Anhang ebenfalls zu finden!
Wichtig ist eigentlich nur die Mainloop und die Funktion. Ich bitte euch 
vielmals mir zu helfen ... DANKE !!!

Autor: Robi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falsches Forum.
http://www.roboternetz.de
die haben das Teil gebaut.

Autor: Matthias Theiser (Firma: HTBLuVA WY AUT) (poti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Was soll das denn heißen ?

Könnte mir nocht trotzdem wer helfen ?

Gibt sicher einige Chiefs in Sachen I²C und BASCOM oder ?

Autor: ES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ab ins http://www.bascom-forum.de/
Da gehören solche Fragen hin.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.