yhkn.net
当前位置:首页 >> STM32单片机如何处理QT上位机串口中发过来的数据? >>

STM32单片机如何处理QT上位机串口中发过来的数据?

单片机接收处理串口的数据的过程就是配置好波特率、位宽、校验位等,收到数据 后可以引起中断,也可以查询标志位,然后进行相应的处理.1) 串口时钟使能,GPIO 时钟使能.2) 设置引脚复用器映射:调用 GPIO_PinAFConfig 函数.3) GPIO 初始化设置:要设置模式为复用功能.4) 串口参数初始化:设置波特率,字长,奇偶校验等参数.5) 开启中断并且初始化 NVIC,使能中断(如果需要开启中断才需要这个步骤).6) 使能串口.7) 编写中断处理函数:函数名格式为 USARTxIRQHandler(x 对应串口号)

fishworm02-16 09:07 等级 4楼1、你的通讯数据帧以“S”开始,以“E”结束.2、去掉第一个字节和最后一个字节.3、剩余的部分使用分割函数,以“,”为分割点进行分割.4、这样你就会得到两个参数23.5和51.

设置串口数据,波特率,校验等,打开串口中断和总中断,在中断程序读取SBUF里的值,循环8次,读取到你第一的内存中,注意每次接收一个数据后都会有中断,要关掉

你现在的波特率是多少,如果按照你说的,你的硬件没问题的话,你可以尝试一下别的波特率看看.

你现在的波特率是多少,如果按照你说的,你的硬件没问题的话,你可以尝试一下别的波特率看看.

首先,波特率要和上位机一致!然后你发送的时候,要每发一个数据,等待它发送完才能再发第二个数据,也就是判断TI有没有标志.你的波特率这么慢,更需要判断TI了!其实我不熟悉C的程序,但是大概可以看懂,希望对你有点帮助!

配置好接收中断,然后再中断里面清除中断标志位,在发送接收到的数据

看来你是软硬件通吃啊 上位机也自己写啊我是这样想的1,你先确定下波特率上位机和单片机是否一致2,能否把单片机收到的串口数据通过其他方式显示出来 或者直接用keil或iar仿真看你收到的是不是0x11如果不是那就从qt发送部分找问题

串口调试助手接收它发送的数据不就行了.

就按照你说的做啊,电脑必须要有串口,没有串口就购买USB转串口,然后通过串口调试助手给stm32的串口1发数据,STM32串口1收到后存储下来,再通过STM32串口3发给DSP,只要你会用串口的发送和接收就能实现啊

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com