热门产品 :
CH32X035: 32位USB+USB PD单片机
查看: 2357
回复: 4
CH32V307 赋值运算的疑问
tim_index是指针,这只是一个简单的指针加整数的问题。
FAE您好,这里我不太明白,为什么指针加这个整数,得不到期望的值。
您好,这属于C语言指针运算问题,TIM_TypeDef *tim_index = TIM4;该句相当于声明指针类型并将TIM4地址赋值给tim_index,然后你用tim_index+某个数,相当于获取的是后面某个地址。比如你加0x32得出值为0x40001840,0x1840值为相较于0x0800,变化为0x1040,换算成十进制就是4160,0x34换算成十进制就是52,4160/52=80,由sizeof(TIM_TypeDef)可知结构体大小为80个字节,因此计算得出的是偏移之后的地址。若要得出某个值需要进行强制类型转换。网上也有很多关于指针运算的讲解,可以自己去搜索学习一下
好的,感谢您的回复。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录