- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: I2C macht PIC Anfänger Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    21.03.2013
    Beiträge
    87
    Versuch es mal mit einem CCS Compiler.
    Da gibt es einfache und funktionierende Befehle für solche und andere Probleme.
    Eine kostenlose Demo gibt es auch.

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo Indeas, vielen Dank für den Hinweis.
    Ich bekomme das unter Linux nicht gebacken mit dem CCS, schon versucht. Ich müsste doch bestimmt auch wieder umdenken/umlernen, wie ich dann den Code schreibe.

    Ich denke ich bleibe da beim XC-8 Compiler "free" von Microchip, bevor ich mir noch selbst mehr Fussangeln auslege

    Gruss und Dank

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Gretchenfrage @ Gerhard:
    Wie hältst du's mit den PullUp-Widerständen an den I2C-Leitungen? Sind die vielleicht doppelt (also auf beiden Boards je einmal) und recht niederohmig?

    Gruß
    Christian
    Geändert von RoboHolIC (11.07.2017 um 22:58 Uhr) Grund: Visier-hochschieb-und-lächel

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Hallo RoboHolIC !
    Ich kann Dir die Gretchenfrage beantworten, mit 4k7 bis 7k5 getestet.
    Keine auf beiden Boards schon vorhanden, sonder extern angeschaltet sind. Das Problem scheint anderswo zu liegen.
    Werde das Test-Projekt nochmals neu anfassen, beginnen.

    Gruss und Dank

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.023
    Du hast doch schon erfolgreich per I2C externe Bausteine angesprochen, richtig? Du könntest doch als Master erstmal bewährte eigene Source verwenden und mit dem anderen Controller den I2C-Slavecodse entwickeln. Dann fehlt allerdings die Behandlung der Write Collision.
    Vielleicht geht das aber auch zu weit am Ziel vorbei.
    Gruß
    Christian.

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    74
    Beiträge
    1.175
    Blog-Einträge
    1
    Ja das habe ich .....nun habe ich noch was entdeckt, was bestimmt wieder zu den Anfängerfallen gehört.

    Im Datenblatt vom PIC16F877A spricht man von von SSPSTAT, SSPCON1 und SSPCON2 Registern. Mit dem SSPCON1 kann der XC8 Compiler aber gar nichts anfangen, da muss ich dann SSPCON bzw. SSPCONbits.xxx usw. schreiben, beim SSPCON2 kann ich getrost SSPCON2 bzw. SSPCON2bits.xxx verwenden.
    Na ich komme mir vor wie "Columbus auf Entdeckungsreise", nicht wissend in welche Falle man mit dem nächsten Schritt tritt...

    Kommt Zeit kommt Rat und neue Entdeckungen.

    Vielen Dank für Eure Mithilfe !!!

    Gerhard

    Nachtrag : Ich habe jetzt eine gute dokumentierte Anleitung für PIC I2C gefunden, da werde ich mich mal belesen
    Geändert von oderlachs (12.07.2017 um 10:15 Uhr)
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Zitat Zitat von oderlachs Beitrag anzeigen
    Im Datenblatt vom PIC16F877A spricht man von von SSPSTAT, SSPCON1 und SSPCON2 Registern. Mit dem SSPCON1 kann der XC8 Compiler aber gar nichts anfangen,
    Das Datenblatt ist diesbezüglich nicht konsistent, in der Überschrift der Tabelle wird der Name SSPCON1 verwendet und im Text SSPCON. Der exakte Name des Registers ist letztendlich egal, so lange die Adresse 0x14 im eingebundenen Header pic16f877a.h richtig deklariert ist. Das kannst du einfach mit STRG-Klick auf den Registernamen feststellen. Der richtige Header kommt über xc.h und Projektsettings rein. Die Zeile #include <pic16f877a.h> würde ich löschen. Es könnte vielleicht problematisch sein, wenn in den Projektsettings ein anderer Chip ausgewählt wurde als der includierte Header.

    Nachtrag:
    Dir alten Hasen ist dir das Debuggen wahrscheinlich nicht fremd, Oder?
    Ich benutze gerne eine LED als Debug Ausgabe, vielleicht zunächst blinken lassen um zu schauen ob der PIC anläuft und mit welcher Frequenz. Die Option FOSC=XT passt z.B. nicht zu 8MHz Quarz, FOSC=HS wird im Datenblatt empfohlen. Mit einer Debug LED kannst du auch leicht feststellen, wo das Programm hängen bleibt, ob das Interrupt ausgelöst wird usw.
    Mit PicKit 3 auf 16F877A hast du auch die Möglichkeit ein Breakpoint in der Software zu setzen und in der Schaltung zu debuggen.
    Geändert von witkatz (12.07.2017 um 11:57 Uhr)

Ähnliche Themen

  1. Problem mit mySmartUSB light, µC macht nix...
    Von Kunkel im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 31.03.2010, 00:54
  2. Ein Anfänger macht Neuanfang
    Von moiko im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 13
    Letzter Beitrag: 09.03.2009, 21:31
  3. Eagle - Problem, er macht automatisch Verbindungen
    Von Elektronik303 im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 5
    Letzter Beitrag: 06.06.2008, 13:16
  4. Anfänger Meine Schaltung macht merkwürdige Sachen
    Von The KOR im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 11.05.2008, 13:18
  5. Anfänger Problem
    Von smookie im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 21.06.2006, 16:56

Berechtigungen

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

12V Akku bauen