TI工程师:
您好!
现在正使用HET模块,在执行顺序上有些迷惑。
我的程序使用到了CNT指令及PWCNT指令,HR设置为3,即4分频,LR设置为5,即32分频,使用64M的VCLK2,那么一次完整的LOOP执行时间为2us,而
CNT的data field值也是间隔2us加1,这个是没问题的吧?
如果这样的话PWCNT这个指令也应该是整个LOOP执行一次吧(假如整个LOOP只有一个PWCNT指令)?但是根据我设置的data field值来看,PWCNT
的分辨率就是HR设置的值62.5ns,难道是该指令62.5ns就执行了一次吗?也就是说下边代码(PWCNT指令执行代码)62.5ns就运行了一次?
If (Data field value == 0)
{
Selected register = 0;
Jump to Next Program Address;
}
If (Data field value > 1)
{
Selected register = Data field value - 1;
Data field value = Counter value - 1;
If (Enable Pin action == 1)
Selected Pin = Pin Action AT next loop resolution clock;
Jump to Next Program Address;
}
If (Data field value == 1)
{
Selected register = 00000h;
Data field value = 00000h;
If (Opposite action == 1)
{
If (hr_lr bit == 0)
{
If (Enable Pin action == 1)
Selected Pin = Opposite level of Pin Action AT next loop
resolution clock + HR delay;
}
else
{
If (Enable Pin action == 1)
Selected Pin = Opposite level of Pin Action AT next loop
resolution clock;
}
}
If (Interrupt Enable == 1)
SW interrupt flag = 1;
Jump to Conditional Address
}
请帮我解答下,谢谢!