找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2194|回复: 4
打印 上一主题 下一主题
收起左侧

关于stm32 USART串口程序问题

[复制链接]
跳转到指定楼层
楼主
ID:197957 发表于 2017-5-8 00:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32串口接收数据出现问题,使用usart_receivedatae(usart1)函数来接收数据,不使用中断怎样将多个字节数据保存到数组里,波特率是115200
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2017-5-8 06:48 | 只看该作者
不使用中断有何好处呢?请示一下。
回复

使用道具 举报

板凳
ID:197957 发表于 2017-5-12 07:19 来自手机 | 只看该作者
yzwzfyz 发表于 2017-5-8 06:48
不使用中断有何好处呢?请示一下。

中断肯定比其它好多了,但是程序每次在接收信息时,反馈的数据总是出问题,
以下是代码
u8 SJCC;
if(usart_getflagstatues(usart1,usart_flag_rxne)==set)
for(i=0;i<10,i++)
{
if(i==9)
{
SJCC=usart_recievedata(usart1);
}
else
{
while(usart_getflagstatues(usart1,usart_flag_rxen)==reset);
}
}
usart_senddata(usart1,SJCC);
...............................
发送的数据+idp,4,3:2
回复

使用道具 举报

地板
ID:197957 发表于 2017-5-12 09:09 | 只看该作者
中断肯定比其它好多了,但是程序每次在接收信息时,反馈的数据总是出问题,
以下是代码
u8 SJCC;
if(usart_getflagstatues(usart1,usart_flag_rxne)==set)
for(i=0;i<10,i++)
{
if(i==9)
{
SJCC=usart_recievedata(usart1);
}
else
{
while(usart_getflagstatues(usart1,usart_flag_rxen)==reset);
}
}
usart_senddata(usart1,SJCC);
...............................
发送的数据+idp,4,3:2
回复

使用道具 举报

5#
ID:200144 发表于 2017-5-12 23:28 | 只看该作者
stm32硬件串口,来数据会触发中断,如果你想不用中断的话,可以采用查询的方式,一直在while里面查询是否有信息传入,但是我不清楚硬件串口能否查询,如果不行的话,直接写代码来模拟串口时序就好了,再用查询的方式
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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