PIC串口初始化示例程序。
hww-广州:给个PIC串口初始化例程序给你吧,我经常用到了,只用改一下宏,很方便的:
//1、头文件
// CPU 工作时钟 4MHz
#define CPU_FOSC 4000000
// 波特率 9600 bit/s
#define USART_BAUD 2400
#define MS_DLY_COUNT(n) (n / BASE_TIME)
/* 函数名称:USART_BUAD_LOAD()
* 输入参数:CPU频率 波特率
* 输出参数:无
* 功能描述:加载串口波特率宏函数
*/
#define USART_BUAD_LOAD(FOSC, BAUD) \
{ \
SYNC = 0; \
BRGH = 1; \
SPBRG= (U8)(FOSC / BAUD / 16 - 1); \
}
////////////////////////////
//2、初始函数:
/* 项目名称:usart_mode_init()
* 输入参数:无
* 输出参数:无
* 功能简介:USART 工作模式设置
*/
void usart_mode_init(void)
{
// USART 加载工作波特率
// 宏函数生成高效率代码
USART_BUAD_LOAD(CPU_FOSC, USART_BAUD);
// 串口通信模式为8 bits
TX9= 0;
RX9= 0;
// 串口模块收发工作使能
TXEN = 1;
CREN = 1;
// 串口接收中断触发使能
RCIE = 1;
//
TXIE=0;
// 外设中断触发工作使能
PEIE = 1;
// 打开串口异步通信模块
SPEN = 1;
// 使能全局中断服务程序
ei();
}
好东西,值得收藏
页:
[1]