V
vsmGuy
Guest
Bok,
Htjela sam poslati podatke na 9600 bps, i to promjenjivo radnog ciklusa @ PWM 40Khz.
Moj PIC18F2550 je clocked @ 20Mhz i ovdje je broj do sada:
Kodeks u PICC:
Code:# define _PLIB# uključiti <htc.h>
/ / Će automatski uključiti periferne biblioteka zaglavlje datoteke kada - runtime = plib se koristi (morali proći tom eksplicitno na commandline)# uključiti <pic18.h>
# uključiti <stdio.h>praznina
glavni (void)
(
GIE = 0; / * ne prekine se koristi * /
IPEN = 0;TRISC = 0; / * PORTC.1 je izlaz iz PWM * /OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
129);/ *
Ova funkcija konfigurira navedenog PWM kanal za razdoblje i za vrijeme bazu.
PWM koristi samo Timer2.
Osim otvaranja PWM, Timer2 također mora biti otvoren sa OpenTimer2 () izjavu pred PWM će poslovati.razdoblju vrijednost može biti bilo koja od 0x00 do 0xff.
Ta vrijednost određuje PWM frekvenciji koristeći sljedeću formulu:
PWM period = [(razdoblje) 1] x 4 x TOSC x TMR2 prescaler * /OpenTimer2 (TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_1);OpenPWM2 (124);
SetDCPWM2 (0);/ / SetOutputPWM2 (SINGLE_OUT, PWM_MODE_1);a (1) (
putsUSART ( "Test \ r \ n");
)CloseTimer2 ();ClosePWM2 ();
CloseUSART ();
)
Htjela sam poslati podatke na 9600 bps, i to promjenjivo radnog ciklusa @ PWM 40Khz.
Moj PIC18F2550 je clocked @ 20Mhz i ovdje je broj do sada:
Kodeks u PICC:
Code:# define _PLIB# uključiti <htc.h>
/ / Će automatski uključiti periferne biblioteka zaglavlje datoteke kada - runtime = plib se koristi (morali proći tom eksplicitno na commandline)# uključiti <pic18.h>
# uključiti <stdio.h>praznina
glavni (void)
(
GIE = 0; / * ne prekine se koristi * /
IPEN = 0;TRISC = 0; / * PORTC.1 je izlaz iz PWM * /OpenUSART (USART_TX_INT_OFF &
USART_RX_INT_OFF &
USART_ASYNCH_MODE &
USART_EIGHT_BIT &
USART_CONT_RX &
USART_BRGH_HIGH,
129);/ *
Ova funkcija konfigurira navedenog PWM kanal za razdoblje i za vrijeme bazu.
PWM koristi samo Timer2.
Osim otvaranja PWM, Timer2 također mora biti otvoren sa OpenTimer2 () izjavu pred PWM će poslovati.razdoblju vrijednost može biti bilo koja od 0x00 do 0xff.
Ta vrijednost određuje PWM frekvenciji koristeći sljedeću formulu:
PWM period = [(razdoblje) 1] x 4 x TOSC x TMR2 prescaler * /OpenTimer2 (TIMER_INT_OFF & T2_PS_1_1 & T2_POST_1_1);OpenPWM2 (124);
SetDCPWM2 (0);/ / SetOutputPWM2 (SINGLE_OUT, PWM_MODE_1);a (1) (
putsUSART ( "Test \ r \ n");
)CloseTimer2 ();ClosePWM2 ();
CloseUSART ();
)