迪文科技论坛

 找回密码
 立即注册
搜索
查看: 137|回复: 8

【提问】串口通信读取数据应该如何接受

[复制链接]

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
发表于 2024-10-21 16:22:36 | 显示全部楼层 |阅读模式
迪文屏与stm32实现串口通信,写命令没有问题,读命令发送之后应该怎么接收读取到的数据



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

371

回帖

2041

积分

金牌会员

Rank: 6Rank: 6

积分
2041
发表于 2024-10-21 16:43:36 | 显示全部楼层
本帖最后由 Carla熊 于 2024-10-21 16:45 编辑

您好,您的指令是错的,请参考附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-21 17:23:55 | 显示全部楼层
Carla熊 发表于 2024-10-21 16:43
您好,您的指令是错的,请参考附件

那个是串口助手自带的换行字节,去掉以后也是这样

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

371

回帖

2041

积分

金牌会员

Rank: 6Rank: 6

积分
2041
发表于 2024-10-21 18:50:26 | 显示全部楼层
阿巴ab 发表于 2024-10-21 17:23
那个是串口助手自带的换行字节,去掉以后也是这样

工程是否可以发过来,测试一下看。
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-22 09:06:21 | 显示全部楼层
Carla熊 发表于 2024-10-21 18:50
工程是否可以发过来,测试一下看。

主函数是这样的,就是一个简单的读取rx端数据
#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "Serial.h"

uint8_t RxData;                        //定义用于接收串口数据的变量

int main(void)
{
       
        /*串口初始化*/
        Serial_Init();                //串口初始化

        while (1)
        {
                if (Serial_GetRxFlag() == 1)                        //检查串口接收数据的标志位
                {
                        RxData = Serial_GetRxData();                //获取串口接收的数据
                        Serial_SendByte(RxData);                        //串口将收到的数据回传回去,用于测试
               
                }
        }
}
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-22 09:09:41 | 显示全部楼层
还是说可能是硬件连接有问题,我是把屏的TX和RX跟开发板的RX,TX对接,然后开发板再通过usb串口连接到电脑,用串口助手发送命令可以改变屏幕内容,但是就是不能读取屏幕返回的数据
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-22 09:27:28 | 显示全部楼层
目测应该是程序的问题,我把板子的RX端去掉,执行命令仍是一样的结果,去掉TX端就无作用了
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-22 15:30:53 | 显示全部楼层
问题被莫名其妙的解决了
使用usb转ttl的下载线把屏和电脑之间连接,使用串口助手发送读写命令都正常,也能收到返回数据
之后再通过stm32开发板串口与屏连接,读写命令也都能收到正确返回数据。
(不过就此产生了一点新问题,keil5不能在串口打开的时候下载程序/之前是可以的,只不过影响不大)
回复

使用道具 举报

1

主题

7

回帖

70

积分

注册会员

Rank: 2

积分
70
 楼主| 发表于 2024-10-22 15:58:53 | 显示全部楼层
阿巴ab 发表于 2024-10-22 15:30
问题被莫名其妙的解决了
使用usb转ttl的下载线把屏和电脑之间连接,使用串口助手发送读写命令都正常,也能 ...

找到原因了,勾选串口助手dtr选项就可以了,但是似乎这样会让无视keil代码,仅实现串口通信作用
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-12-5 03:15 , Processed in 0.137923 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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