打印
[STM32F4]

STM32 串口通信

[复制链接]
楼主: woshixiaobai
手机看帖
扫描二维码
随时随地手机跟帖
21
youtome| | 2018-7-13 17:23 | 只看该作者 回帖奖励 |倒序浏览
没有看懂,楼主的程序实现的功能有问题吗?

使用特权

评论回复
22
51xlf| | 2018-7-13 17:23 | 只看该作者
是接受不到数据吗?

使用特权

评论回复
23
houjiakai| | 2018-7-13 17:24 | 只看该作者
stm32接收和PC处理是一个流程的。

使用特权

评论回复
24
i1mcu| | 2018-7-13 17:24 | 只看该作者
这个不是开头和结尾都定义了吗

使用特权

评论回复
25
lzbf| | 2018-7-13 17:24 | 只看该作者
串口的接受问题解决不了。

使用特权

评论回复
26
pmp| | 2018-7-13 17:24 | 只看该作者
woshixiaobai 发表于 2018-7-13 17:00
我可能说的不太对,是这样的:我刚接触不知道这是啥意思,用C语言写   设定一个帧头帧尾,数据01表示接口 ...

是你定义的数据有问题吗

使用特权

评论回复
27
1988020566| | 2018-7-13 17:24 | 只看该作者
是通信协议有问题呢还是串口有问题呢

使用特权

评论回复
28
mmbs| | 2018-7-13 17:24 | 只看该作者
最简单的就是使用数组移位解决。

使用特权

评论回复
评论
woshixiaobai 2018-7-18 14:29 回复TA
望指教!是我不明白该如何下手! 
29
updownq| | 2018-7-13 17:24 | 只看该作者
是还要返回AA 78 01 06 55吗?

使用特权

评论回复
30
cemaj| | 2018-7-13 17:24 | 只看该作者
把数据保存到数组,然后对应判断。

使用特权

评论回复
评论
woshixiaobai 2018-7-18 14:31 回复TA
可以再说的细点吗? 蟹蟹 
31
woshixiaobai|  楼主 | 2018-7-13 17:47 | 只看该作者
youtome 发表于 2018-7-13 17:23
没有看懂,楼主的程序实现的功能有问题吗?

是,我用C语言实现不了!

使用特权

评论回复
32
woshixiaobai|  楼主 | 2018-7-13 17:49 | 只看该作者
51xlf 发表于 2018-7-13 17:23
是接受不到数据吗?

我程序实现的不对!

使用特权

评论回复
33
woshixiaobai|  楼主 | 2018-7-13 17:50 | 只看该作者
houjiakai 发表于 2018-7-13 17:24
stm32接收和PC处理是一个流程的。


使用特权

评论回复
34
woshixiaobai|  楼主 | 2018-7-13 17:51 | 只看该作者
i1mcu 发表于 2018-7-13 17:24
这个不是开头和结尾都定义了吗

嗯嗯,问题描述:
设定一个帧头、数据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口状态。


是我现在解决不了这个问题,望指教

使用特权

评论回复
35
woshixiaobai|  楼主 | 2018-7-13 17:52 | 只看该作者
pmp 发表于 2018-7-13 17:24
是你定义的数据有问题吗

是我不会用C语言解决

使用特权

评论回复
36
woshixiaobai|  楼主 | 2018-7-13 17:53 | 只看该作者
1988020566 发表于 2018-7-13 17:24
是通信协议有问题呢还是串口有问题呢

都没问题,是我解决不了,刚接触望给点建议!

使用特权

评论回复
37
ningling_21| | 2018-7-13 19:02 | 只看该作者
woshixiaobai 发表于 2018-7-13 17:53
都没问题,是我解决不了,刚接触望给点建议!

假如要获取PF1管脚的状态,可以读取寄存器的值,然后赋值给一个变量

再把这个变量的值返回到上位机即可

使用特权

评论回复
38
ningling_21| | 2018-7-13 19:02 | 只看该作者
woshixiaobai 发表于 2018-7-13 17:52
是我不会用C语言解决

C语言会不会呢

使用特权

评论回复
39
877049204| | 2018-7-14 10:32 | 只看该作者
sky.sun.zz 发表于 2018-7-13 16:39
貌似没有stm32f40的片子呀!

有,比如STM32F407

使用特权

评论回复
40
henangongda123| | 2018-7-14 10:34 | 只看该作者
很简单的一个通信协议,楼上有说2个55怎么办,这个很好规避,可以用字节数(数组长度)来实现,判断收到的数据是不是5个就行了;实现整个功能,需要用单片机的UART接收中断功能,在中断处理函数里面先对收到的数据校验,是不是起始为0xAA,结束为0x55,是的话就执行你想要的动作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则