嗨、我目前正在尝试使用汇编语言在 MSP430G2433中实现时间敏感型中断。 我想知道是否可以对端口和计时器寄存器等外设地址使用寄存器寻址模式?
此外、我似乎会得到不同的计时器计数、具体取决于我在调试时是单步执行还是运行、这是正常问题吗?
我指的是何时使用 SMCLK 作为时钟来计算 TA0R 和 TA1R 中的计数
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.
嗨、我目前正在尝试使用汇编语言在 MSP430G2433中实现时间敏感型中断。 我想知道是否可以对端口和计时器寄存器等外设地址使用寄存器寻址模式?
此外、我似乎会得到不同的计时器计数、具体取决于我在调试时是单步执行还是运行、这是正常问题吗?
我指的是何时使用 SMCLK 作为时钟来计算 TA0R 和 TA1R 中的计数
否 每个存储器访问基本上需要1个周期的指令。 因此、对于 mov.b &P1IN、&P1OUT:
1) 1)提取指令
2)获取第一个操作数(&P)
3)获取第二操作数(&P)
4) 4)读取 P1IN 处的存储器
5) 5)在 P1OUT 处写入存储器。
如果 P1IN 的地址在寄存器中、则可以将其缩短一个周期、但代价是需要两个周期的指令才能将其实现。 您无法使用 P1OUT 地址保存周期、因为没有@Rx 寻址模式。 只需编制索引、即使为零、仍需提取索引。
(注意:出于某种原因、CPU 的 CPUx 版本在五个周期内执行此指令、而旧的 CPU 则需要六个周期。 我不知道它浪费周期的原因和地点。)