请问stm32语句的执行时间是多少?

2019-08-18 18:31发布

简单的给寄存器赋值的语句
TIM1->CCMR1 &= 0xff8f;//冻结比较输出CH1 TIM1->CCMR2 &= 0x8f8f;//冻结比较输出CH3 CH4

在示波器上看相差了1us。
印象中 1指令周期=6机器周期,再怎么算也没到1us这么长。
请教各位大大,谢谢了!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
楚地狂生
1楼-- · 2019-08-19 00:28
这是C语言,编译器把它编译成STM32能执行的语句时,语句数是不确定的。也就是说你不知道这几条C语句会编译成多少条ARM 机器指令。
楚地狂生
2楼-- · 2019-08-19 01:59
还有你要明确你说的指令周期是指机器指令的周期(即汇编语言的周期)。
楚地狂生
3楼-- · 2019-08-19 03:14
 精彩回答 2  元偷偷看……
Juuulien
4楼-- · 2019-08-19 06:07
回复【4楼】楚地狂生:
---------------------------------
我明白指令周期是指汇编语句的周期,但是一条给寄存器赋值的语句,翻译过去应该就是 取值,然后MOV,这两个一般都是单周期指令,怎么算都不会那么长吧?谢谢了。
正点原子
5楼-- · 2019-08-19 06:52
C语言不能精确预言时间啊.
Juuulien
6楼-- · 2019-08-19 10:26
那如果我要精确的时间就要用内嵌汇编去实现,是吗?

一周热门 更多>