V
vsmGuy
Guest
Hola,
Quería enviar datos a 9600 bps, y que la variable ciclo de PWM @ 40Khz.
Mi reloj es PIC18F2550 @ 20Mhz y aquí está el código hasta la fecha:
Código PICC:
Código:# define _PLIB# include <htc.h>
/ / Se incluirá automáticamente los archivos de cabecera de biblioteca periférica cuando - = tiempo de ejecución se utiliza PLib (tuvo que pasar esto explícitamente a la línea de órdenes)# include <pic18.h>
# include <stdio.h>vacío
main (void)
(
GIE = 0; / * No se utilizan las interrupciones * /
IPEN = 0;TRISC = 0; / * PORTC.1 es la salida de PWM * /OpenUSART (USART_TX_INT_OFF y
USART_RX_INT_OFF y
USART_ASYNCH_MODE y
USART_EIGHT_BIT y
USART_CONT_RX y
USART_BRGH_HIGH,
129);/ *
Esta función configura el canal especificado PWM para el período de tiempo y de base.
PWM utiliza sólo Timer2.
Además de la apertura de la PWM, Timer2 también debe ser abierto con un OpenTimer2 () antes de la declaración PWM funcionará.período puede ser cualquier valor de 0x00 a 0xFF.
Este valor determina la frecuencia PWM utilizando la siguiente fórmula:
PWM periodo = [(período) 1] x 4 x TOSC x TMR2 prescaler * /OpenTimer2 (TIMER_INT_OFF y T2_PS_1_1 y T2_POST_1_1);OpenPWM2 (124);
SetDCPWM2 (0);/ / SetOutputPWM2 (SINGLE_OUT, PWM_MODE_1);while (1) (
putsUSART ( "Test \ r \ n");
)CloseTimer2 ();ClosePWM2 ();
CloseUSART ();
)
Quería enviar datos a 9600 bps, y que la variable ciclo de PWM @ 40Khz.
Mi reloj es PIC18F2550 @ 20Mhz y aquí está el código hasta la fecha:
Código PICC:
Código:# define _PLIB# include <htc.h>
/ / Se incluirá automáticamente los archivos de cabecera de biblioteca periférica cuando - = tiempo de ejecución se utiliza PLib (tuvo que pasar esto explícitamente a la línea de órdenes)# include <pic18.h>
# include <stdio.h>vacío
main (void)
(
GIE = 0; / * No se utilizan las interrupciones * /
IPEN = 0;TRISC = 0; / * PORTC.1 es la salida de PWM * /OpenUSART (USART_TX_INT_OFF y
USART_RX_INT_OFF y
USART_ASYNCH_MODE y
USART_EIGHT_BIT y
USART_CONT_RX y
USART_BRGH_HIGH,
129);/ *
Esta función configura el canal especificado PWM para el período de tiempo y de base.
PWM utiliza sólo Timer2.
Además de la apertura de la PWM, Timer2 también debe ser abierto con un OpenTimer2 () antes de la declaración PWM funcionará.período puede ser cualquier valor de 0x00 a 0xFF.
Este valor determina la frecuencia PWM utilizando la siguiente fórmula:
PWM periodo = [(período) 1] x 4 x TOSC x TMR2 prescaler * /OpenTimer2 (TIMER_INT_OFF y T2_PS_1_1 y T2_POST_1_1);OpenPWM2 (124);
SetDCPWM2 (0);/ / SetOutputPWM2 (SINGLE_OUT, PWM_MODE_1);while (1) (
putsUSART ( "Test \ r \ n");
)CloseTimer2 ();ClosePWM2 ();
CloseUSART ();
)