公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
孙博睿
Level 1
Level 1
First reply posted First question asked Welcome!

hello,大家好:

    遇到以下的问题,读取寄存器中的值,查看寄存器是“0x80000e23”,但是读取之后第一个位没有读取到,只读取到“0xe23”,用来接收寄存器的值的变量类型是(volatile uint32

_0-1713516549143.png

 

0 点赞
1 解答
Jimmy_L
Moderator
Moderator
Moderator
5 questions asked 250 replies posted 250 sign-ins

你好,

你可以参考下cyip_ipc.h里面关于IPC_STRUCT_ACQUIRE的定义,可能还是结构体定义的问题。

Jimmy_L_0-1713755677849.png

 

在原帖中查看解决方案

0 点赞
3 回复数
Jimmy_L
Moderator
Moderator
Moderator
5 questions asked 250 replies posted 250 sign-ins

你好,

volatile uint32指向的应该是首地址数据,理论上应该不会有问题,你可以再看一下STRUCT[1]_ACQUIRE结构里是否分成了几个数组,而IPC_STRUCT_ACQUIRE实际上数值就是0xe23?

0 点赞
孙博睿
Level 1
Level 1
First reply posted First question asked Welcome!

感谢你的回答:

    但是STRUCT[1]_ACQUIRE里并没有数组了,他只是一个32bit的寄存器,我想读取的就是SUCCESS的值,但并没有成功

_0-1713752131434.png

 

0 点赞
Jimmy_L
Moderator
Moderator
Moderator
5 questions asked 250 replies posted 250 sign-ins

你好,

你可以参考下cyip_ipc.h里面关于IPC_STRUCT_ACQUIRE的定义,可能还是结构体定义的问题。

Jimmy_L_0-1713755677849.png

 

0 点赞