找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2745|回复: 0
收起左侧

STM8S207串口调试的问题

[复制链接]
ID:236405 发表于 2017-10-23 13:34 | 显示全部楼层 |阅读模式
  1. #include "stm8s_conf.h"

  2. u8 RX_Words;
  3. vu8 flag;

  4. void UART3_INIT(void)
  5. {
  6.     UART3_DeInit();//复位串口3的寄存器值
  7.     UART3_Init((u32)9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);//波特率 9600 , 8位数据位 , 1位停止位 , 无奇偶效验 , 发送接收使能
  8.     UART3_ITConfig(UART3_IT_RXNE, ENABLE);//使能接收中断
  9.     UART3_Cmd(ENABLE);//使能串口3
  10.     enableInterrupts();
  11. }
  12. void Uart3_Send1Byte(u8 TxData)
  13. {
  14.     UART3_SendData8(TxData);
  15.     while(UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
  16. }
  17. @far @interrupt    void UART3_RX_IRQHandler(void)
  18. {
  19.     UART3_ClearITPendingBit(UART3_IT_RXNE);
  20.     RX_Words = UART3_ReceiveData8();        
  21.     flag = 1;                                
  22. }
  23. void delay1ms(u16 var)
  24. {
  25.   u16 i;
  26.   while(var --)
  27.   {
  28.     for(i=0;i<1000;i++);
  29.   }
  30. }

  31. void UART3_Demo(void)
  32. {
  33.     if(flag == 1){
  34.         flag = 0;
  35.         delay1ms(20);
  36.         Uart3_Send1Byte(RX_Words);
  37.     }
  38. }
  39. main()
  40. {
  41.     CLK_DeInit();
  42.      CLK->CKDIVR|= (u8)0x00;/*设置时钟为内部16M高速时钟*/
  43.     //ADC_INIT();
  44.     UART3_INIT();
  45.     while(1)
  46.     {
  47.     UART3_Demo();
  48.     }
  49. }
复制代码
进不去接收中断函数和发送数据在PC端串口调试工具上接收不到,这两个问题,有能人帮我分析下原因吗.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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