独闷闷网

 找回密码
 立即注册
搜索
查看: 3524|回复: 1
收起左侧

[原创] PIC串口初始化示例程序。

[复制链接]
发表于 2014-10-23 16:09:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
hww-广州:
给个PIC串口初始化例程序给你吧,我经常用到了,只用改一下宏,很方便的:
  1. //1、头文件
  2. // CPU 工作时钟 4MHz
  3. #define CPU_FOSC             4000000

  4. // 波特率 9600 bit/s
  5. #define USART_BAUD           2400

  6. #define MS_DLY_COUNT(n)    (n / BASE_TIME)

  7. /* 函数名称:USART_BUAD_LOAD()
  8. * 输入参数:CPU频率 波特率
  9. * 输出参数:无
  10. * 功能描述:加载串口波特率宏函数
  11. */
  12. #define USART_BUAD_LOAD(FOSC, BAUD)      \
  13. {                                        \
  14.     SYNC = 0;                            \
  15.     BRGH = 1;                            \
  16.     SPBRG  = (U8)(FOSC / BAUD / 16 - 1); \
  17. }
  18. ////////////////////////////
  19. //2、初始函数:
  20. /* 项目名称:usart_mode_init()
  21. * 输入参数:无
  22. * 输出参数:无
  23. * 功能简介:USART 工作模式设置
  24. */
  25. void usart_mode_init(void)
  26. {
  27.     // USART 加载工作波特率
  28.     // 宏函数生成高效率代码
  29.     USART_BUAD_LOAD(CPU_FOSC, USART_BAUD);

  30.     // 串口通信模式为8 bits
  31.     TX9  = 0;
  32.     RX9  = 0;

  33.     // 串口模块收发工作使能
  34.     TXEN = 1;
  35.     CREN = 1;

  36.     // 串口接收中断触发使能
  37.     RCIE = 1;
  38.         //
  39.         TXIE=0;
  40.     // 外设中断触发工作使能
  41.     PEIE = 1;

  42.     // 打开串口异步通信模块
  43.     SPEN = 1;
  44.    
  45.      // 使能全局中断服务程序
  46.     ei();
  47. }
复制代码



乐于分享,勇于质疑!
发表于 2014-10-23 17:44:04 | 显示全部楼层
好东西,值得收藏
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-7-30 13:17 , Processed in 0.137042 second(s), 18 queries .

快速回复 返回顶部 返回列表