OpenEdv-开源电子网

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

关于stm32f407串口配置的问题

[复制链接]

16

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2020-3-5
在线时间
36 小时
发表于 2021-2-2 21:15:49 | 显示全部楼层 |阅读模式
5金钱
void USART_Send(USART_TypeDef* USARTX,u8 data)
{
        USARTX->SR&=~(1<<6);
        USARTX->DR=data;
        while(!(USARTX->SR&0x40));
}

void USART_Send_Str(USART_TypeDef* USARTX,u8* data,u8 len)
{
        while(len--)
        {
                USART_Send(USARTX,*data);
                data++;
        }
}
这个串口上位机接收的时候有时候接收整个字符串,有时接收第一个字符,这是为啥?

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

使用道具 举报

10

主题

205

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1322
金钱
1322
注册时间
2015-3-3
在线时间
127 小时
发表于 2021-2-4 17:47:35 | 显示全部楼层
你这要是只是用作普通的TTL串口发送的话,也就是USB转TTL,发送,那么这种情况,你先确定你的发送长度len计算的没问题。因为这个要是你用strlen去计算长度的话,数据中正好有结束符,那么数据就会不完整。建议先确定每次你上边收到的正确数据或者错误数据,与下边的len是不是一致的.
海纳百川者,荣耀伴一生!
回复

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2021-1-17
在线时间
9 小时
发表于 2021-2-6 19:16:30 | 显示全部楼层
帮顶一下
回复

使用道具 举报

16

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2020-3-5
在线时间
36 小时
 楼主| 发表于 2021-2-7 10:55:06 | 显示全部楼层
shumivan 发表于 2021-2-4 17:47
你这要是只是用作普通的TTL串口发送的话,也就是USB转TTL,发送,那么这种情况,你先确定你的发送长度len计 ...

这个我直接用的数字比如我建了个数组data[3]=“cll”,我直接调用的时候len写的是3
回复

使用道具 举报

16

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2020-3-5
在线时间
36 小时
 楼主| 发表于 2021-2-7 10:58:35 | 显示全部楼层
shumivan 发表于 2021-2-4 17:47
你这要是只是用作普通的TTL串口发送的话,也就是USB转TTL,发送,那么这种情况,你先确定你的发送长度len计 ...

我那个就是串口助手刚开始显示正确,但是关闭串口之后在打开就有问题,多打开几次又好了,比如”cll“,关闭之后再打开就只显示ccccccc.......在多打开几次之后就是cllcllcll....
回复

使用道具 举报

16

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2020-3-5
在线时间
36 小时
 楼主| 发表于 2021-2-7 12:03:45 | 显示全部楼层
shumivan 发表于 2021-2-4 17:47
你这要是只是用作普通的TTL串口发送的话,也就是USB转TTL,发送,那么这种情况,你先确定你的发送长度len计 ...

keil硬件仿真是没问题的,不仿真就接收有问题
回复

使用道具 举报

10

主题

205

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1322
金钱
1322
注册时间
2015-3-3
在线时间
127 小时
发表于 2021-2-22 08:31:19 | 显示全部楼层
回首望阑珊 发表于 2021-2-7 12:03
keil硬件仿真是没问题的,不仿真就接收有问题

怎么感觉你这是波特率不匹配的问题,可以把波特率降低试一下.
海纳百川者,荣耀伴一生!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 00:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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