宁波欣创电子科技官网
收藏本站
搜索

扫一扫,访问微社区

QQ登录

只需一步,快速开始

注册 找回密码
官方旗舰店新品上线AVR入门提高步步通视频SD卡高清视频教程免费下载AVR单片机十日通全集视频MSP430单片机视频教程

42

主题

383

帖子

2157

积分

金牌会员

Rank: 6Rank: 6

积分
2157
发表于 2016-5-8 15:23:09 | 显示全部楼层 |阅读模式
本帖最后由 技术支持 于 2016-5-8 15:29 编辑

主题:【更新】DMSTM-L型STM32F103开发板RS485通信代码2016版
内容:修正1处bug,主要是RS485传送键值时可能导致数据不同步情况,表现在可能发送多余的0x00
原因:传送数据源,也就独立按键的键值存在不同步的情况,当使用Key_Scan函数作为判断条件时,传送数据应该是Key_Num,不应该是Key_Scan()

main.c文件中,旧版代码为:
  1. while(1)
  2.         {
  3.         
  4.         if(Key_Scan()!=0x00)
  5.         {
  6.                         RS485CTR_SET;
  7.                         USART_SendData(USART3,Key_Scan());
  8.                   while(USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
  9.                   Key_Num=0x00;
  10.                         delay_ms(50);
  11.         }        
  12.         else  
  13.         {
  14.                 RS485CTR_CLR;
  15.                 USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

  16.         }
  17.         }
复制代码

更新后代码为(初始化Key_Num=0xFF):
  1. while(1)
  2.         {
  3.         
  4.         if(Key_Scan()!=0xFF)
  5.         {
  6.                         RS485CTR_SET;
  7.                         USART_SendData(USART3,Key_Num);
  8.                   while(USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
  9.                   Key_Num=0xFF;
  10.                         delay_ms(50);
  11.         }        
  12.         else  
  13.         {
  14.                 RS485CTR_CLR;
  15.                 USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

  16.         }
  17.         }
复制代码



华丽的分割线



main.c文件下载: main.rar (2.23 KB, 下载次数: 1)
交流、分享,欣创技术支持,不变的承诺,为你解惑,我也进步,我也会遇到难题。
您需要登录后才可以回帖 登录 | 立即加入

在线客服

Archiver|手机版| ( 浙ICP备09058229号浙公网安备33020502000039号 )     

返回顶部