- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 8 von 8

Thema: PIC18F SPI über MSSP

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Beiträge
    355
    Also im Moment sende ich einfach 0xAA (10101010) alle 100ms bei einer clock Frequenz von 8MHz (ein 7,81MHz), an den uC Leitungen hängt bei den Messungen jetzt nichts dran (es funktioniert ja auch mit dem 595). Die CS-Leitung ist 2.52µs low und das Byte wird in 1µs übertragen.
    Besonders zeitkritisch ist es jetzt nicht, allerdings wundert mich es schon ein wenig.
    Die SPI Frequenz ist jetzt gleich der Frequenz der CPU, möglicherweise dauert das setzen des Ausgangsbits für CS einfach ein paar Taktzyklen und bei geringerer SPI Frequenz ist der Effekt dann nicht so gravierend.

    Ich möchte im Endeffekt das Display einer Binäruhr multiplexen (also so um die 24 LEDs).
    MfG Torrentula

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Na da mach Dir mal über die paar Takzyklen keine Sorgen, das ist völlig okay und spielt nicht annähernd eine Rolle bei deiner Anwendung.
    Und richtig, der PIC braucht ja für die Befehle entsprechend Zeit.
    Das würde in Assembler ungefär so aussehen.

    Code:
      movf    data,W        ; Daten ins W Register laden
      bcf     LATC,0        ; Chip Select Low
      movwf   SSPBUF        ; Daten ins Schieberegister
      bcf     PIR1,SSPIF    ; Interrupt Flag löschen
    wait:
      btfss   PIR1,SSPIF    ; scip, wenn SSPIF Bit gesetzt ist
      goto    wait          ; ansonsten weiter warten
      bsf     LATC,0        ; Chip Select wieder High
    Was dein Compiler draus macht weis ich ja nicht. Aber den erzeugten Assembler Code kannst Du Dir sicher auch irgendwie ansehen.
    Dann schaust Du in das Instruction Set von dem PIC und dort sind die Taktzyklen pro Befehl zu finden und kannst, wenns Dich interessiert, exakt ausrechnen wie lange er also braucht für den erzeugten Code.

    Also selbst wenn er 10 Mikro Sekunden brauchen würde um ein Byte rauszuschicken, braucht er für 3 Bytes (24 LEDs) grad mal 30 Mikrosekunden. Du könntest also theoretisch rund 3333 mal pro Sekunde komplett neue Daten zu deinen LEDs schicken. Ich denke da brauchst Du Dir wirklich keinen Kopf drüber machen. Geniess das Wochenende udn programmier einfach weiter

    -------------------------------------------------
    Instruction Set : Seite 270 im Datenblatt. Tabelle TABLE 24-2
    Geändert von Siro (07.09.2012 um 19:34 Uhr)

Ähnliche Themen

  1. PIC18F Entwicklungsboard
    Von Torrentula im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 0
    Letzter Beitrag: 09.08.2012, 16:03
  2. PIC18F 32Mhz für Servomotor PWM 50Hz ?
    Von Alan-Lee Perkins im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 31.07.2012, 11:07
  3. PIC18F - SDCC-Problem
    Von galdo im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 24.03.2007, 10:50
  4. PIC18F mit PICKit2
    Von NF im Forum PIC Controller
    Antworten: 6
    Letzter Beitrag: 07.06.2006, 21:10
  5. Wo PIC18F mit 3936 Ram bestellen??
    Von Pitt1986 im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 05.01.2006, 17:58

Berechtigungen

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

Labornetzteil AliExpress