朋友们、您好!
我正在使用 MSP430F5529LP 和默认的1.048576 MHz 时钟 DCO。对于1000次计数、我没有1ms 的延迟(即准确的954次计数)、而是得到10ms、我还附加了代码、请帮助大家。
提前感谢
Beeresh
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
朋友们、您好!
我正在使用 MSP430F5529LP 和默认的1.048576 MHz 时钟 DCO。对于1000次计数、我没有1ms 的延迟(即准确的954次计数)、而是得到10ms、我还附加了代码、请帮助大家。
提前感谢
Beeresh
如果您希望确保清晰的延迟、您可以包含一小段看起来像这样的汇编器代码(我在 ASM 中执行大多数时间关键型工作):
PUSH.w R15 //保存 R15、2个周期
MOV #[Value]、R15 //对于值1、2、4、8、0xFFFF 这需要2个周期、否则为3。
环路:DEC R15 // 1周期
jnz 循环// 2个周期
Pop.w R15 //恢复 R15、2个周期
这意味着总计(2+2+2+3*value)=(6+3*value)或(2+2+3+3*value)=(7+3*value)