Forum: Mikrocontroller und Digitale Elektronik Probleme bei PIC18F4550 Programmierung


von Acre A. (acre)


Lesenswert?

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?

von Dieter Werner (Gast)


Lesenswert?

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.

von Acre A. (acre)


Lesenswert?

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
Noch kein Account? Hier anmelden.