迪文科技论坛

 找回密码
 立即注册
搜索
查看: 85|回复: 4

【提问】串口2问题

[复制链接]

1

主题

3

回帖

50

积分

注册会员

Rank: 2

积分
50
发表于 5 天前 | 显示全部楼层 |阅读模式
我在论坛使用帖子的程序:【OS用户核应用】T5L屏串口2、3、4、5的82、83协议C语言

我在使用 C_8283协议(新全功能、全串口)1.8.zip 里的串口2发现一个现象:
  • u8 send_str[] = {0x3A,0x34,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x42,0x42,0x0D,0x0A};
  • void main(void)
  • {
  •     u8 i;
  •     sys_init();//系统初始化
  •     uart2_init(115200);//初始化串口2
  •     while(1)
  •     {
  • uart_send_str(2,":400400000001BB\r\n",17);
  •         u8 send_str_len = sizeof(send_str) / sizeof(send_str[0]);
  • // 通过循环逐个发送字节
  •         for (i = 0; i < send_str_len; i++) {
  •             uart_send_byte(2, send_str);
  •         }


[color=rgb(51, 102, 153) !important]复制代码



发现命名send_str数组和通过uart_send_str发送字符串常量发送的东西是一样的,但通过串口调试工具接收到的数据完全不一样,发送字符串常量能够接收到0x3A,0x34,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x42,0x42,0x0D,0x0A,但是循环发送send_str数字却是乱码的。



之后我又尝试了
  • u8 test_str[] = {0x3A, 0x3A};
  • uart_send_byte(2,0x3A);
  • for (i = 0; i < 2; i++) {
  •             uart_send_byte(2, test_str);
  •         }


[color=rgb(51, 102, 153) !important]复制代码


发送0x3A常量就能收到3A,但是循环发送数组就是乱码。

请大佬帮我解答一下。

回复

使用道具 举报

1

主题

3

回帖

50

积分

注册会员

Rank: 2

积分
50
 楼主| 发表于 5 天前 | 显示全部楼层
硬件是EKT043B。
回复

使用道具 举报

0

主题

225

回帖

1939

积分

金牌会员

Rank: 6Rank: 6

积分
1939
发表于 5 天前 | 显示全部楼层
测试没有发现乱码。

本帖子中包含更多资源

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

x
回复

使用道具 举报

1

主题

3

回帖

50

积分

注册会员

Rank: 2

积分
50
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 lihuanyu 于 2025-4-10 13:05 编辑

用了你的程序确实没有问题,我再试试
回复

使用道具 举报

0

主题

272

回帖

2547

积分

金牌会员

Rank: 6Rank: 6

积分
2547
发表于 5 天前 | 显示全部楼层
lihuanyu 发表于 2025-4-10 12:06
用了你的程序确实没有问题,我再试试

参考上面的代码  对比下就行
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-15 17:20 , Processed in 0.039279 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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