你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST MC SDK 5.0 生成工程文件中定时器Deadtime BUG

[复制链接]
jammy1982 提问时间:2018-5-26 11:43 /
         以前用的4.2的库,更新5.0后发现电机运行时驱动管发热严重,调试发现定时器deadtime设置为0,从而发现自动生成的代码中有bug.         我使用的硬件平台是Nucleo F446RE,编译用的TRUESTDUIOK。

         main.c 文件  MX_TIM1_Init()函数中关于Deadtime代码如下:

sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_ENABLE;
  sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_ENABLE;
  sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_1;
  sBreakDeadTimeConfig.DeadTime =  0;
  sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
  sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_LOW;
  sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
  if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }


     我的修改方法是main.c中包含头文件parameters_conversion.h
sBreakDeadTimeConfig.DeadTime =  0; 改为 sBreakDeadTimeConfig.DeadTime =  DEAD_TIME_COUNTS;

   更改后可以正常运行,但每次通过ST MC workbench生成代码都要从新修改一次,希望ST能尽快修正BUG。
收藏 评论2 发布时间:2018-5-26 11:43

举报

2个回答
jammy1982 回答时间:2018-5-26 12:41:29
应该改为sBreakDeadTimeConfig.DeadTime =  DEAD_TIME_COUNTS/2;
ersha4877 回答时间:2018-5-27 10:38:36
这个软件生成的程序从哪里开始学习比较好,谢谢

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版