-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: CMPS03 und PicBasic

  1. #1
    michel
    Gast

    CMPS03 und PicBasic

    Kann jemandem mir kurz erklären wie ich ein CMPS03 ( Kompass sensor ) mit PICBasic programieren kann ( also Werte ablesen ) und auf was ich aufpassen muss wenn ich ein 16f877 benutzen.
    Danke

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    31.10.2003
    Beiträge
    45
    Hi, ich hab das deutsche Datenblatt bzw. Beschreibung dazu erst mal in den Download Bereich gestellt, das hatte noch gefehlt.

    Schau mal hier http://www.robot-electronics.co.uk/htm/cmps2axe.htm, vielleicht findest Du da was. Hier sind Beispiele zu vielen Controllern http://www.robot-electronics.co.uk/shop/Examples.htm

    Ansonsten kann Jörg sicher noch was zu schreiben, er hat die Module ja im Angebot.


  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo,

    Ansonsten kann Jörg sicher noch was zu schreiben, er hat die Module ja im Angebot.
    Hmm, und ich kann jetzt zu jedem der gebräuchlichen Controller mit jedem verwendbaren Compiler was schreiben

    Aber ich werd's trotzdem mal machen. Das CMPS03 ist ja relativ einfach anzusteuern, das einzige Problem ist das I2C Interface richtig hinzubekommen. Für den Kompasswert braucht man nur ein 16bit-Register auszulesen.

    Dazu habe ich mir mal die Hilfedatei zum PicBasic (Proton+) angesehen und das Beispiel daraus angepasst.
    Kann das hier aber weder compilieren noch ausprobieren, noch habe ich irgendwelche Ahnung von Basic, also keine Garantien dass das funzt.
    Ich weiß auch nicht, ob der PicBasic das Hardware-I2C des PIC16F877 nutzt, oder ob das softwaremäßig emuliert wird.

    DIM VAR1 as WORD ' We'll read 16-bits
    DIM Address as WORD ' 16-bit address required
    SYMBOL Control 192 ' Adresse CMPS03
    Address = 2 ' Read the value at address 2
    VAR1 = BUSIN Control , Address ' Read the word from the CMPS

    Evtl. muss noch High- und Lowbyte von VAR1 vertauscht werden, keine Ahnung wie man das in Basic macht.
    Aber dann sollte das also gehen. Stutzig werde ich nur, wenn ich in der Hilfe solche Bemerkungen stehen, wie:
    Because of the subtleties involved in interfacing to some I2C devices, the compiler's standard BUSIN, and BUSOUT commands were found lacking somewhat. Therefore, individual pieces of the I2C protocol may be used in association with the new structure of BUSIN, and BUSOUT
    . See relevant sections for more information.

    Da ich das aber unmöglich für alle Controller und Compilervarianten machen kann und werde, möchte ich alle bitten, die eine brauchbare Implementierung eines kurzen Testprogramms (Minimalroutinen) für verschiedene Controller haben, mir diese zur Verfügung zu stellen. Ich werde die Programme dann als Beispiele auf meiner Webseite zur allgemeinen Nutzung zur Verfügung stellen.

    HTH und Viele Grüße
    Jörg

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Da ich das aber unmöglich für alle Controller und Compilervarianten machen kann und werde, möchte ich alle bitten, die eine brauchbare Implementierung eines kurzen Testprogramms (Minimalroutinen) für verschiedene Controller haben, mir diese zur Verfügung zu stellen. Ich werde die Programme dann als Beispiele auf meiner Webseite zur allgemeinen Nutzung zur Verfügung stellen.
    Aber Du bist doch unser Experte! Scherz - natürlich kann niemand alle Microcontroller kennen und Beispiele dazu liefern, versteht sich! Die Idee kurze kurze Beispiele zu posten finde ich auch gut. Allerdings wäre es schön wenn die Beispiele auch hier im Forum, zum Beispiel in diesem Software, Algorithmen und KI gepostet werden könnten. Am besten immer gleich mit aussagekräftigem Betreff z.B. "Beispielcode für PIC und CMPS03 ". Dann hätten vielleicht noch mehr User gleich was von. Außerdem wird der Beitrag dann bald auch über die Suchmachinen erreichbar - was wieder einigen hilft.

    Gruß Frank

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hi Frank,

    bitte nicht flasch verstehen, wenn hier jemand nach einer Variante fragt, wo ich mit einem Codebeispiel helfen kann, dann poste ich das natürlich gern auch hier.

    Andererseits macht es keinen Sinn, das Forum mit zig Varianten von dem gleichen Programm vollzuspammen nur für den Fall das es mal interessant sein könnte.
    Ich find aber die Idee von Gerry (Devantech) nicht schlecht, auf einer Seite tabellarisch Beispiele zu verlinken. Der Link darauf wurde hier ja auch schon mehrfach genannt. Ich möchte perspektivisch das auch anbieten, schon allein weil ich der deutsche Distributor für die Teile bin und damit auch in der Pflicht stehe.

    Viele Grüße
    Jörg

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Nein Jörg,
    hab ich schon richtig aufgefasst. Ich finde es nur sinnvoll es hier ruhig in das Forum Software, Algorithmen und KI zu posten! Das Forum ist ja extra für solche Beispiele gedacht, von daher wäre es kein vollspammen. Und wenn es zuviel Beispiele für den Kompass werden sollten, dann kann ich das immer noch zusammenfassen oder halt unseren Grundlagenbereich etwas ergänzen. Wir haben da ja auch ein Bereich wo Sensoren aufgelistet werden, da könnte ich das schon gut einbauen. Also ruhig Codefetzen posten.
    Nicht nur was das Kompassmodul betrifft, als einfache Algorithmen wie Multiplikation, Division von Fließkommazahlen bei unterschiedlichen Microprozessoren u.s.w.! Ich denke irgend jemanden wird es sicher helfen. Gerade Einsteiger suchen immer wieder so was vergebens.

    Gruß Frank

  7. #7
    Gast
    Danke fuer die Antwort, habe leider nix gefunden was brauchbar ist. Ich habe alle möglichkeiten der Komandos I2CWRITE un IC2READ von
    PICBASIC COMPILER probiert aber ohne Erfolg...probiere jetze der PWM Ausgang auszuwerten ....

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    02.11.2003
    Ort
    Göttingen
    Beiträge
    13
    Versteh ich nicht. Dachte man kann die Kommandos einfach per I2C Bus, wie üblich, senden und empfangen. I2C Routinen gibt es doch eigentlich genug für jeden Controller

  9. #9
    Gast
    ich verstehe es auch nicht

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.11.2003
    Ort
    Dresden
    Alter
    52
    Beiträge
    409
    Hallo,

    Ich habe alle möglichkeiten der Komandos I2CWRITE un IC2READ von
    PICBASIC COMPILER probiert aber ohne Erfolg...probiere jetze der PWM Ausgang auszuwerten ....
    wahrscheinlich gibt es mehrere PICBASIC Varianten, das was ich mir angesehen habe, ist von der Firma Crownhill, nennt sich Proton+ Picbasic und hat kein I2CWRITE und I2CREAD.
    Schreib doch einfach mal, wie du's gemacht hast, dann kann man vielleicht doch helfen.

    Versteh ich nicht. Dachte man kann die Kommandos einfach per I2C Bus, wie üblich, senden und empfangen. I2C Routinen gibt es doch eigentlich genug für jeden Controller
    sicher, nur heißen die überall anders, wollen teilweise die Adressparameter um ein bit verschoben, nutzen mal die Hardware und mal nicht.

    Es ist nur eben so, dass man sich in die Entwicklungsumgebung seiner Wahl samt Controller seiner Wahl teilweise ganz schön tief reinknien muss, um die I2C Routinen vernünftig nutzen zu können.
    Allerdings gibt es auch Entwicklungsumgebungen, da ist es mit einem einfach i2cread oder wie auch immer die Funktion heißt, getan.

    Viele Grüße
    Jörg

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •