[STM32F4] STM32 串口通信

[复制链接]
6416|68
 楼主| woshixiaobai 发表于 2018-7-13 16:03 | 显示全部楼层 |阅读模式
大家好,我单片机用的是stm32f40。USART通信遇到了问题,请大家帮忙指教!

不胜感激!

上位机通过USART 3向下位机发送一串十六进制数 如 AA 78 01 06 55,
其中0xAA 0x78为一帧数据的开始,55 为一帧数据的结束,中间两个字节为要发送的数据,01 代表引脚LED\PF1、PF2、PF3);06代表 IO状态。

程序实现的功能:下位机收到后通过USART3 向上位机返回收到的数。
xiaoqizi 发表于 2018-7-13 16:05 | 显示全部楼层
可是你需要问什么问题呢

评论

我刚接触不知道这是啥意思,用C语言写 设定一个帧头帧尾,数据01表示接口LED灯,02表示STM32F407IZ的引脚PF1, 03表示PF2 ,04表示PF3, 还有一个数据字节表示IO的状态是否良好, 我向上位机发送数据01的时候查看LED灯的状态,02的时候观察PF1的IO口状态。  发表于 2018-7-13 16:59
sky.sun.zz 发表于 2018-7-13 16:39 | 显示全部楼层
貌似没有stm32f40的片子呀!
ayb_ice 发表于 2018-7-13 16:39 | 显示全部楼层
这个协议有点问题
如果上位机发数据AA 78 01 55 55
怎么解释
 楼主| woshixiaobai 发表于 2018-7-13 17:00 | 显示全部楼层
sky.sun.zz 发表于 2018-7-13 16:39
貌似没有stm32f40的片子呀!

STM32F407IZ
 楼主| woshixiaobai 发表于 2018-7-13 17:00 | 显示全部楼层
ayb_ice 发表于 2018-7-13 16:39
这个协议有点问题
如果上位机发数据AA 78 01 55 55
怎么解释

我可能说的不太对,是这样的:我刚接触不知道这是啥意思,用C语言写   设定一个帧头帧尾,数据01表示接口LED灯,02表示STM32F407IZ的引脚PF1, 03表示PF2 ,04表示PF3,   还有一个数据字节表示IO的状态是否良好, 我向上位机发送数据01的时候查看LED灯的状态,02的时候观察PF1的IO口状态。
ayb_ice 发表于 2018-7-13 17:09 | 显示全部楼层
woshixiaobai 发表于 2018-7-13 17:00
我可能说的不太对,是这样的:我刚接触不知道这是啥意思,用C语言写   设定一个帧头帧尾,数据01表示接口 ...

通过一个状态机来接收,很简单的

51xlf 发表于 2018-7-13 17:17 | 显示全部楼层
这个有什么问题呢
i1mcu 发表于 2018-7-13 17:18 | 显示全部楼层
通信协议定好了就行。
pmp 发表于 2018-7-13 17:19 | 显示全部楼层
woshixiaobai 发表于 2018-7-13 17:00
我可能说的不太对,是这样的:我刚接触不知道这是啥意思,用C语言写   设定一个帧头帧尾,数据01表示接口 ...

AA 78 01 06 55直接修改01和06就行吧。
mmbs 发表于 2018-7-13 17:20 | 显示全部楼层
你的意思是解码不了这个数据对吗?
 楼主| woshixiaobai 发表于 2018-7-13 17:20 | 显示全部楼层
ayb_ice 发表于 2018-7-13 17:09
通过一个状态机来接收,很简单的

请指教,我不太明白,
1988020566 发表于 2018-7-13 17:20 | 显示全部楼层
没有看懂楼主是什么意思呢
lzbf 发表于 2018-7-13 17:21 | 显示全部楼层
是功能实现不来吗
houjiakai 发表于 2018-7-13 17:21 | 显示全部楼层
上位机解码会不会呢
youtome 发表于 2018-7-13 17:22 | 显示全部楼层
这个是啥问题
cemaj 发表于 2018-7-13 17:22 | 显示全部楼层
串口的代码有问题呢
 楼主| woshixiaobai 发表于 2018-7-13 17:22 | 显示全部楼层
51xlf 发表于 2018-7-13 17:17
这个有什么问题呢

问题描述:
设定一个帧头、数据IO口标志、IO状态标志、帧尾,
数据帧结构:0XAA  0X00(第一个)  0X00(第二个)  0X55
数据IO口标志(第一个):
00表示接口LED灯,
01表示STM32F407IZ的引脚PF1,
02表示PF2,
03表示PF3,
IO状态标志(第二个):一个数据字节表示IO的状态是否良好。
我向上位机发送数据01的时候查看LED灯的状态。02的时候观察PF1的IO口状态。03的时候观察PF2的IO口状态。04的时候观察PF3的IO口状态。
cemaj 发表于 2018-7-13 17:22 | 显示全部楼层
十六进制数通信定义好,安装顺序读取,然后判断。

评论

?  发表于 2018-7-18 14:28
updownq 发表于 2018-7-13 17:23 | 显示全部楼层
你接收到01 06,返回数据就行了。

评论

是我没明白,该如何下手?  发表于 2018-7-18 14:28
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

20

帖子

0

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