OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2768|回复: 4

奇怪的现象,程序里面必须加一个printf语句运行才正常??

[复制链接]

82

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-10-16
在线时间
72 小时
发表于 2016-3-13 20:32:31 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 liuxiangyong 于 2016-3-13 20:43 编辑

int incPIDcalc(u16 nextpoint)
{
int iError,iincpid;
        PID1.setpoint=setspeed*122.23;
        
iError=PID1.setpoint-nextpoint;  //μ±Ç°Îó2î
        printf("iError=%f\r\n",iError);
//printf("x=%d\r\n",1);
iincpid=PID1.proportion*(iError-PID1.last_error)+PID1.integral*iError+PID1.derivative*(iError-2*PID1.last_error+PID1.prev_error);

PID1.prev_error=PID1.last_error; //′æ′¢Îó2±ãóúÏÂ′μÆËã
PID1.last_error=iError;
        //printf("iincpid=%d\r\n",iincpid);

return(iincpid) ;

}
这一段程序里加了printf,电机就有PID效果,而且不管什么语句,上面所示2个均可以运行,但注销了就没有PID效果了void TIM6_IRQHandler(void)        //        2éÑùê±¼äμ½£¬ÖD¶Ï′|àíoˉêy
{         
       
if (TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET)//¸üDÂÖD¶Ï
                        {
frequency1=1000000/period_TIM5        ;

                       PID1.sum_error+=incPIDcalc(frequency1);         //¼ÆËãÔöá¿2¢àÛ¼ó
               
                         pwm1=PID1.sum_error*4.6875  ;   //*0.651
                        //frequency1=0; //Çåáã
                        //period_TIM5=0;
                                TIM_SetCompare1(TIM3,pwm1);
       
                        }


}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-13 20:32:32 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-16 00:31:23 | 显示全部楼层
仿真
回复

使用道具 举报

82

主题

194

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-10-16
在线时间
72 小时
 楼主| 发表于 2016-3-17 20:57:40 | 显示全部楼层

怎么仿真啊?原子哥有关于仿真的说明不
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-17 22:31:54 | 显示全部楼层
liuxiangyong 发表于 2016-3-17 20:57
怎么仿真啊?原子哥有关于仿真的说明不

一步步跟踪代码....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 22:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表