首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]CW写的C语言程序效率

[求助]CW写的C语言程序效率

第一次用56F8013E,用C写了个控制电机的程序。发现CW写的C语言程序运行效率很低,不知道各位高手对这个问题是否有不同的想法!请各位高手赐教!!
应该不会。我们的很多参考设计就是用C写的,效率并不低。你可以到飞思卡尔网站上下载参考设计的源程序看看。
海纳百川  有容乃大
if(EleIBuf.Buftop < 4)
{
EleIBuf.ADCDataBuf[EleIBuf.Buftop].ADCResultA = valA;
EleIBuf.ADCDataBuf[EleIBuf.Buftop].ADCResultB = valB;
EleIBuf.Buftop ++;
}
else
{
for(i = 0; i < 3; i ++)
{
EleIBuf.ADCDataBuf = EleIBuf.ADCDataBuf[i+1];
}
EleIBuf.ADCDataBuf[3].ADCResultA = valA;
EleIBuf.ADCDataBuf[3].ADCResultB = valB;
EleIBuf.Buftop = 4;
}

valA = 0; valB = 0;
for(i = 0; i < EleIBuf.Buftop; i ++)
{
valA = valA + EleIBuf.ADCDataBuf.ADCResultA;
valB = valB + EleIBuf.ADCDataBuf.ADCResultB;
}

这样的一段程序用示波器看过要用掉我将近 50US时间!!不知道这样写对56800核有什么不妥的地方???
zyxbella:  那段程序怎么用示波器看得啊?
用示波器看的部分没有写上去,是在这块程序的开始和结束时加一个对IO的翻转,然后量这个IO输出的信号就可以观看了
你对IO口翻转用的是什么语句,我一般都用如“PORTA = ~PORTA”?
返回列表