(资料图)
如标题,假设Arg1 = 0x02,Arg2 =0xFE,且两者数据类型均为unsigned char,结果是多少呢?
不废话,示例如下:
和你预想的一样吗?
使用场景
嵌入式开发中,我们常用系统定时器(System Timer,ST)定时,比如延时1ms。一般来说,读取ST一个32bit寄存器值就够用了。
需求场景:
假设这样一个情况:使用ST0,我们需要延时1ms,即ST(时钟100MHz)经过1000个tick。第一次读取ST0时间为T1,在while中不断的判断,第二次读取的值T2与T1的差值,如果(T2 - T1)== 1000,则延时1ms时间到。
这里需要注意:ST0不断地累加,独立运行。因此获取T1对应的ticks值是0~0xFFFFFFFF中的任意一个,如果此时T1 = 0xFFFFFFFE,当T2 = 998(0x3E6)时,T2 - T1 = 0x3E6 - 0xFFFFFFFE = 1000,即延时1ms(1000ticks)。
提示:T1、T2数据类型为uint32。
Copyright © 2015-2022 华东公益网版权所有 备案号:京ICP备2022016840号-41 联系邮箱:2 913 236 @qq.com