CCSV5里面的 clock是不是不够精确?我编了一个程序:
for(frequency=1000;frequency<100000;frequency++) .................1
[ Calculate_Control_Word(frequency); ...................2
if(frequency==99999) ..................3
[frequency=1000;]
]
我编译完下载到28335的RAM中去后,enable 了clock。发现 :
从程序1到程序2,要12个机器周期;
从程序2到程序3,要279个机器周期;
从程序3到程序1,要7个机器周期。
后来在这段程序没有变的情况下,又把.out文件重新下载到RAM中,发现
从程序1到程序2,要20个机器周期;
从程序2到程序3,要282个机器周期;
从程序3到程序1,要1200个机器周期。
请问这是怎么回事?这也相差太大了。每次重新加载后,有时正常,有时不正常。
个人觉得受到计算机内存指令调用方面的影响,运用timer,CCS程序里的CLOCK方式都不准确吧?唯独GPIO口输出切换程序是在DSP
内部执行,不牵涉到计算机内存环境改变的问题,应该最准确,但是不是很方便。因为我观察EPWM的couter计算时也发现
同样一个程序,每次执行完用的机器周期是不一样的。
用程序把timer里的值或EPWM里面couter的值显示出来,和用CCS里View的方式显示出来都应该一样。只要经过计算机读出来
显示在CCS里面,就可能会不准确。最起码会出现不能保证每次加载后查看的机器数不尽相同。
希望指正!