Ich arbeite an einem Projekt und hab absolut keine Ahnung von PIC Programmierung, allerdings sitzt mir ein Abgabetermin ziemlich im Nacken. Projektbeschreibung: Ich soll Daten (Daten, A0, A1) vom PC über USB an den PIC18F4550 senden, welcher wieder die Daten+Adressen an das eigentliche Testboard sendet. Die Daten sollen bitweise bei steigender Clockflanke vom PIC an das Testboard übergeben werden. Nun mein Problem: 1. ich habe in MPLAB folgende Einstellungen bei den Configuration Bits /**************** SETTING CONFIGURATION BITS *********************/ #pragma config PLLDIV = 5 // 96 MHz Prescaler: Divide by 5 (20 MHz input) #pragma config CPUDIV = OSC1_PLL2 // CPU System Clock Postscaler: [OSC1/OSC2 Src: /1] [96 MHz PLL Src: /2] #pragma config USBDIV = 2 // Full-Speed USB Clock Source Selection: Clock source from 96 MHz PLL/2 #pragma config FOSC = HSPLL_HS // Oscillator Selection bits: HS oscillator, PLL enabled, HS used by USB /**************** SETTING CONFIGURATION BITS *********************/ Nun meine Frage: ich brauche ja auch noch einen CLOCK für das Senden der Daten vom PIC zum Testboard. Wie generiere ich den bzw. was muss ich noch machen damit ich einen CLOCK an einem PIN ausgeben kann?
Wenn die Pinbelegung (noch) frei wählbar ist, bietet sich das integrierte MSSP Modul in der Betriebsart SPI Master zur Datenübertragung an. Dabei wäre Clock (Ausgang) an Pin RB1, Dateneingang an RB0 und Datenausgang an RC7. Die Konfiguration erfolgt über die Register SSPSTAT und SSPCON1, wobei in letzterem die SSPM-Bits für die Auswahl des Clock-Teilerfaktors zuständig sind.
Ich kann jedoch nicht das I2C Modul verwenden da ich die RS232 Schnittstelle über USB Bus simuliere (siehe AN956 von Microchip). Oder kann ich das MSSP Modul auch verwenden wenn ich kein I2C Modul verwende?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.