打印
[其他ST产品]

基于STM32之Arduino IDE 编写代码无下载器 串口下载

[复制链接]
332|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
准备用STM32的开发板写一个直流无刷电机BLDC的驱动程序,对Arduino IDE的编程模式比较熟悉,通过相应的插件,Arduino IDE同样可以支持STM32。
另外因为手头没有STM32的下载器,需要通过串口烧录程序。准备先用一个Samples中的点亮LED的示例来跑通这个STM32的开发流程,没想到竟然折腾了差不多一天的时间,不懈努力,不轻言放弃,最后才在STM32开发板上,通过Arduino IDE,串口烧录程序,成功点亮了IDE。看到IDE一闪一闪,体验了成功的喜悦。

记录一下折腾的过程。

手头的STM32开发板的型号为STM32F401CxUx。本来准备买来做USB声卡的。





使用特权

评论回复
沙发
海滨消消|  楼主 | 2023-2-10 15:46 | 只看该作者
一、软件安装
1、在Adruino IDE中安装STM32开发板插件。
点击Adruino IDE File菜单,选择"preferences.."




点开”Additional boards manager URLS" 添加STM32开发板的URL

打开左下方的连接,打开网址,查找STM32的官方链接。拷贝后加入到列表中。



打开Board Manager面板


安装STM32插件



安装好之后,tools菜单中会出现STM32芯片的选项



2、安装STM32CubeProgrammer
到ST的官网注册下载STM32CubeProgrammer,下载STM32CubeProgrammer后安装,并安装STM32的Bootloader串口驱动程序。



安装好之后,设备管理器会出现STM32 bootloader设备



二、串口连接STM32
为了让电脑识别STM32的串口,需要设置STM32的BOOT0, BOOT1引脚,网上搜了一大遍,知道了设置BOOT0=1, BOOT1=0启动。但是把STM32板子前后翻了一个遍,也没找到这两个引脚在哪里。

最后问店家要了STM32板子的文档,耐心的看了一下文档。终于知道怎么设置BOOT0,BOOT1







把板子上的拨码开关1和3用一根牙签拨到ON的位置。即可设置成"System memory"的启动模式。

打开STM32CubeProgrammer,选择USB,COM端口选COM1.即可连接STM32成功。这时可以通过STM32CubeProgrammer下载烧录。


使用特权

评论回复
板凳
海滨消消|  楼主 | 2023-2-10 15:48 | 只看该作者
三、Arduino IDE连接STM32
首先要将STM32CubeProgrammer程序所在的目录添加到系统的PATH路径中,因为Arduino将调用命令行的STM32CubeProgrammer_CLI程序



选择STM32板子,COM1端口,将上传模式更改为DFU模式



至此,所有的设置完成。


三、烧录测试BLINK代码
打开Arduino的闪灯Blink例子,编译上传,提示上传成功。





可是,这个LED就是没有闪。

用牙签把BOOT0,BOOT1恢复,拔掉USB重启。仍然不闪。反复实验,浪费了几根牙签后,依然无果。。。

最后即将放弃的时候,看到有篇文章说要更改一下LED的管脚,打开STM32的图一看,LED连接到PC13引脚。




把代码中的LED_BUILTIN全部改成PC13, 编译上传。

奇迹出现了。

小蓝灯终于闪了。

一天的功夫啊






微信图片_20230210154809.png (251.4 KB )

微信图片_20230210154809.png

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

1496

帖子

1

粉丝