迪文科技论坛

 找回密码
 立即注册
搜索
查看: 3424|回复: 10

【提问】DGUS2 C编译器串口函数的问题,求论坛大佬解答

[复制链接]

4

主题

8

回帖

123

积分

注册会员

Rank: 2

积分
123
发表于 2020-4-2 16:27:50 | 显示全部楼层 |阅读模式
  1. char temp[20];
  2. int i;

  3. int main()
  4. {

  5.         i=0;
  6.         temp[i++]=0x5a;
  7.         temp[i++]=0xA5;
  8.         temp[i++]=0x03;
  9.         temp[i++]=0x82;
  10.         temp[i++]=0x4F;
  11.         temp[i++]=0x4B;
  12.         temp[i++]=0;
  13.         com_config(4,0,115200);
  14.         send_data_com(4,temp,6);
  15.         //初始化串口
  16.         while(1)
  17.         {
  18.         
  19.         }
  20.         return 1;
  21. }

  22. void Time0_IRQHandler(void) //定时器0 函数体
  23. {
  24. }
  25. void Time1_IRQHandler(void) //定时器1 函数体
  26. {
  27. }
  28. void Time2_IRQHandler(void) //定时器2 函数体
  29. {
  30. }
复制代码
先上代码。
  1. void send_data_com(int com_num,char *data,int len)
复制代码
再上函数描述。

编译器环境为:
DWIN C Compiler V1.1.0.7
硬件环境确认:
串口线确认连接没问题,屏幕确认没问题
串口设置波特率没问题  设置为115200 N81
C的lib文件有烧录进屏幕
目前遇到的问题:
我程序内给TEMP数组赋值为:5a a5 03 82 4F 4B
但是实际收到为: 00 FF 00 FF 00 00
我是不是哪里写错了?

回复

使用道具 举报

3

主题

111

回帖

2004

积分

金牌会员

Rank: 6Rank: 6

积分
2004
发表于 2020-4-2 18:04:42 | 显示全部楼层
楼主好,请问您使用的产品是T5还是T5L系列,具体型号麻烦提供一下,谢谢
回复

使用道具 举报

3

主题

111

回帖

2004

积分

金牌会员

Rank: 6Rank: 6

积分
2004
发表于 2020-4-2 18:09:20 | 显示全部楼层
楼主可以尝试把send_data_com(4,temp[0],6);这句改成send_data_com(4,temp,6);
回复

使用道具 举报

4

主题

8

回帖

123

积分

注册会员

Rank: 2

积分
123
 楼主| 发表于 2020-4-3 08:31:54 | 显示全部楼层
dwin123456 发表于 2020-4-2 18:09
楼主可以尝试把send_data_com(4,temp[0],6);这句改成send_data_com(4,temp,6);

send_data_com(4,temp[0],6);  这一句是客服让我改的   但实际上我知道这个写法是错的。
但是客服坚持让我是试一下
我用的屏幕是T5系列的
回复

使用道具 举报

0

主题

90

回帖

1550

积分

金牌会员

Rank: 6Rank: 6

积分
1550
发表于 2020-4-3 09:30:09 | 显示全部楼层
楼主,您好!往串口发送数据可以参考一下如下图片,修改一下里面的值

本帖子中包含更多资源

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

x
回复

使用道具 举报

4

主题

8

回帖

123

积分

注册会员

Rank: 2

积分
123
 楼主| 发表于 2020-4-3 09:57:15 | 显示全部楼层
土匪老张的春天 发表于 2020-4-3 09:30
楼主,您好!往串口发送数据可以参考一下如下图片,修改一下里面的值

您好
这么写死成常量的话,后面的逻辑没办法做。
比如从寄存器中读出X字节数据,然后将他赋值到数组里再从串口发出

这种情况下只能用到a  或者是a[i++]这类语句啊。是没办法写成cmd[]={xxxx}这种常量赋值语句的。
回复

使用道具 举报

0

主题

18

回帖

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2020-4-3 11:39:22 | 显示全部楼层
zryblog 发表于 2020-4-3 09:57
您好
这么写死成常量的话,后面的逻辑没办法做。
比如从寄存器中读出X字节数据,然后将他赋值到数组里再 ...

您好 试试 直接用指针操作呢,或许更方便些
我的建议哦,
我开始也用过c编译器,简单的功能可以用那个写写,比较快,体验还不错,我是用得很规矩常见的语法去写的,遇到的bug比较少。

如果是代码量比较多,功能比较复杂,我看还是换成DWIN OS汇编去整吧。 串口收发处理的  论坛也有一个82/83指令的模版可以学习。


回复

使用道具 举报

0

主题

2

回帖

47

积分

新手上路

Rank: 1

积分
47
发表于 2021-1-22 16:45:12 | 显示全部楼层
zryblog 发表于 2020-4-3 09:57
您好
这么写死成常量的话,后面的逻辑没办法做。
比如从寄存器中读出X字节数据,然后将他赋值到数组里再 ...

你好,请问你解决了吗,我也遇到了同样的问题
回复

使用道具 举报

0

主题

2

回帖

47

积分

新手上路

Rank: 1

积分
47
发表于 2021-1-22 17:08:05 | 显示全部楼层
土匪老张的春天 发表于 2020-4-3 09:30
楼主,您好!往串口发送数据可以参考一下如下图片,修改一下里面的值

你好我把你的代码抄下来,接受到错误的数据是为什么,
回复

使用道具 举报

0

主题

20

回帖

651

积分

高级会员

Rank: 4

积分
651
发表于 2021-1-22 19:31:21 | 显示全部楼层
您好您是想实现什么功能了?具体您是照着那个怎么操作的?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-10 11:10 , Processed in 0.037645 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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