|
本帖最后由 netlhx 于 2017-8-22 20:40 编辑 首先声明,使用F303来操控x-nucleo-ihm07m1,绝非是哗众取宠,当然是有原因的。 事情的缘起本身就是一个悲剧,拿到开发套件后,本来是很兴奋的。只是发现一件不爽的事,电机似乎不太灵敏,上电后时转时不转的。就取下来研究研究,不过不小心把F302给烧了, 烧了,冒烟了。 于是上网查找是否有适合F303的移植,因为手头恰好有一块F303,与F302系出同门,想想应该也不是难事。不过没有找到。 只好拿F303来充当了,官方的库里有F030、F103、F302及F401的现成例程,就是没有F303的,这下有点抓狂。 在官方的视频培训现场,向专家提问,也被礼貌的忽略了,很郁闷。 只好自己动手,于是把官方的文档抓下来,一个一个的看,当然都是以F302以蓝本的。看到视频中介绍的ST MOTOR CONTROL WORKBENCH中提到了F303,应该会有一点线索。如图
这个是用来为特定的开发板提供特定参数的,很好很强大,不过这里面支持的板卡各类也是有限。 接下来就是找F303与F302的差异了,通过对比发现F303与F302的差异还真不算大,只有有限的几个PIN不同,至少在电机控制代码中是无差别的,真是好消息。
其实还有许多事情要了解,比如代码中的定时器,PWM输出引脚等对应关系是否一致,也得逐个核对。。。 准备工作都作好了,接下来该修改代码了,打开默认的为F302准备的工程文件,先将MCU修改在303系列,如下
然后编译,错啥改啥,只是需要时间。 先编译MC库依赖,这个很容易通过,毕竟MC库是相对独立的。 接下来修改主工程,主工程中为了通用,一大堆的兼容性检查代码,看着头疼。 七七八八之后,差不多了,还有两个顽固性的错误,如下
这俩东西找不到,一般情况下是由于条件编译导致相关的符号没有被编译,继续找
原来是这几个文件被从工程文件中排除出去了,加上去,现在编译,总算是没有错误了。 下载,运行,启动电机,不动!瞬间心又凉了一截,又失败了么? 不过想起电机有时转时不转的毛病,于是使劲摁了几下,一瞬间发现电机转了,泪奔。。。 终于搞定了,一整天的时间,终于让套件恢复了活力,算不算塞翁失马! 最后上图,使用PC端控制电机的图
最后上培训图,表明我也参加了 ![]()
打完收工。 最后我要问ST的哥们,你为什么不理会一个菜鸟的求助? |
微信公众号
手机版
嗯,坛子里都是熟人了,虽然没见过面
犀利哥么,比不上啊,人家都做模特了
我想要ST提供一个基于303的解决方案,ST认为太简单了,不予理睬