OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2230|回复: 3

串口程序的问题

[复制链接]

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2017-7-25
在线时间
26 小时
发表于 2017-8-6 17:57:31 | 显示全部楼层 |阅读模式
int main(void)
{  
  u16 t;  
u16 len;
u16 times=0;
delay_init();   
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);  //´®¿Ú³õʼ»¯Îª115200
  while(1)
{     
   len=USART_RX_STA&0x3fff;
   printf("\r\n发送的消息为:\r\n\r\n");
   for(t=0;t<len;t++)
   {
    USART_SendData(USART1, USART_RX_BUF[t]);
    while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
   }
   printf("\r\n\r\n");
   USART_RX_STA=0;
}  
}
型号STM32F103ZET6
把原子送的串口例程做了如上的修改。就是把一个if语句删了。下载完之后就不能控制鼠标了,必须关闭板子才能重新控制鼠标。试了下同学的电脑也是同样的现象。为什么会出现这样的现象那?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
431
金钱
431
注册时间
2016-10-20
在线时间
147 小时
发表于 2017-8-6 18:35:01 | 显示全部楼层
多数会出现在串口调试中
原因:自己所下载的程序里,一上电,就通过串口输出数据(printf)了,而此时CH340还在和电脑通信,CH340在和电脑USB连接建立的时候,收到数据,就可能导致你的串口不被识别为串口,而被识别为什么ball之类的设备,从而鼠标乱飞.
解决办法:
上电之前,先按住MCU的复位,然后再上电.等10秒钟左右,再释放复位.就一切OK了.
  by正点原子
we can't stop
回复 支持 1 反对 0

使用道具 举报

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2017-7-25
在线时间
26 小时
 楼主| 发表于 2017-8-6 18:15:56 | 显示全部楼层
是不是因为他们之间一直在传输把鼠标给挤掉了
回复 支持 反对

使用道具 举报

9

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2017-7-25
在线时间
26 小时
 楼主| 发表于 2017-8-7 12:10:15 | 显示全部楼层
SeeMe 发表于 2017-8-6 18:35
多数会出现在串口调试中
原因:自己所下载的程序里,一上电,就通过串口输出数据(printf)了,而此时CH340还 ...

谢谢了,大佬
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 09:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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