[STM8] STM8S003 串口接收字符串问题

[复制链接]
 楼主| qunengguang 发表于 2018-8-16 15:45 | 显示全部楼层 |阅读模式
问题描述 :通过电脑串口工具经过485发送到单片机串口验证问题
现象
1.通过串口助手发送单个字节单片机可以正确接收正确返回
2.单片机发送字符串电脑串口助手可以正确接收数据
3.电脑串口助手发送字符串单片机接收不到正确数据
  1. void UART_Initializes(void)
  2. {
  3. CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1,ENABLE);
  4. UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
  5. UART1_Cmd(ENABLE);
  6. UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
  7. //UART1_ITConfig(UART1_IT_IDLE, ENABLE);
  8. GPIO_Init(RS485_RE1_GPIO_PORT, (GPIO_Pin_TypeDef)RS485_RE1_GPIO_PIN, GPIO_MODE_OUT_PP_LOW_FAST);
  9. RS485_RE1_RE;
  10. QueueInitial1();

  11. enableInterrupts();
  12. }
  13. INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
  14. {
  15. if(UART1_GetITStatus(UART1_IT_RXNE )!= RESET)
  16. {
  17. EnQueue1(UART1_ReceiveData8());

  18. }        
  19. /* In order to detect unexpected events during development,
  20. it is recommended to set a breakpoint on the following instruction.
  21. */
  22. }
  23. void EnQueue1(INT8U b)
  24. {
  25. r_buf[end++]=b;
  26. if(end>=MAX_BUF_SIZE)
  27. {
  28. end=0;
  29. }
  30. count++;
  31. sem++;//OSSemPost(sem);

  32. }
 楼主| qunengguang 发表于 2018-8-16 17:13 | 显示全部楼层
代码是正常的 串口工具显示问题
磨砂 发表于 2018-8-17 08:21 | 显示全部楼层
我感觉串口工具出问题的几率小
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部