迪文科技论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 小奕奕ye

【提问】C51中读取rtc问题

[复制链接]

0

主题

318

回帖

4371

积分

论坛元老

Rank: 8Rank: 8

积分
4371
发表于 2023-10-17 15:18:53 | 显示全部楼层
小奕奕ye 发表于 2023-10-17 15:14
read_dgus_vp(0x0010,(u8*)&month,4);
那读取"低字节"要怎麽做呢?

读到的数据中,低字节就是您需要的月份,
例如:
读:5A A5 04 83 00 10 04
应答:5A A5 0C 83 0010 04 13 0A 01 00 0B 0C 0D 00
其中0A就是对应月份。
回复

使用道具 举报

2

主题

9

回帖

89

积分

注册会员

Rank: 2

积分
89
 楼主| 发表于 2023-10-17 17:18:07 | 显示全部楼层
dw涂涂 发表于 2023-10-17 15:18
读到的数据中,低字节就是您需要的月份,
例如:
读:5A A5 04 83 00 10 04

还是不太懂耶,那转换成c语言的表示是怎麽做呢?我使用
read_dgus_vp(0x0010,(u8*)&month,4);
write_dgus_vp(0x2500,(u8*)&month,1);
会读到98这个数值,不是现在的10月的10
回复

使用道具 举报

0

主题

318

回帖

4371

积分

论坛元老

Rank: 8Rank: 8

积分
4371
发表于 2023-10-18 08:47:42 | 显示全部楼层
小奕奕ye 发表于 2023-10-17 17:18
还是不太懂耶,那转换成c语言的表示是怎麽做呢?我使用
read_dgus_vp(0x0010,(u8*)&month,4);
write_dgus_ ...

您是要把月份读到2500这个地址么?如果是的话,把2500这个控件数据类型设置成VP低字节,另外请问这边是使用哪个型号的屏幕?
回复

使用道具 举报

3

主题

7

回帖

834

积分

高级会员

Rank: 4

积分
834
发表于 2023-10-18 10:13:10 | 显示全部楼层
小奕奕ye 发表于 2023-10-17 15:14
read_dgus_vp(0x0010,(u8*)&month,4);
那读取"低字节"要怎麽做呢?

可以先将数据读取到一个数组里面,然后在将数组中需要的数据赋值到对应的变量中
回复

使用道具 举报

3

主题

7

回帖

834

积分

高级会员

Rank: 4

积分
834
发表于 2023-10-18 10:21:13 | 显示全部楼层
shenke 发表于 2023-10-18 10:13
可以先将数据读取到一个数组里面,然后在将数组中需要的数据赋值到对应的变量中 ...

u16 month;
u8 buf[2];
read_dgus_vp(0x0010,(u8*)&buf,1);
month = buf[1];
write_dgus_vp(0x2500,(u8*)&month,1);
//注意一点,读取的是一个字,即两个字节,buf[0]是年,buf[1]是月
//写也是按一个字写,所以month要是u16长度
回复

使用道具 举报

0

主题

140

回帖

1181

积分

金牌会员

Rank: 6Rank: 6

积分
1181
发表于 2023-10-18 13:38:41 | 显示全部楼层
shenke 发表于 2023-10-18 10:21
u16 month;
u8 buf[2];
read_dgus_vp(0x0010,(u8*)&buf,1);

定义一个RTC结构体,以字节为单位,即可操作每个字节。

u8 Mouth; //定义要读取的月份
typedef struct{ //定义RTC结构体
u8 year;
u8 month;
u8 day;
u8 week;
u8 hour;
u8 min;
u8 sec;
u8 reserve;
}DATE;

DATE date;
sys_read_vp(0x10, (u8*)&date, 4); //读取RTC数据
Mouth=date.mouth; //月份赋值
sys_write_vp(0x3000, (u8*)&Mouth, 1); //读取的月份数据显示到其它变量空间

若修改RTC结构体每个字节,赋值后,写0x10即可完成RTC更新。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 17:13 , Processed in 0.043017 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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