
很多朋友问到,我不懂硬件,不懂寄存器操作,C语言也不是很会用,能写STM32单片机代码吗?其实还是有小路子的,用Arduino_IDE上位机软件,借助Arduino的库,使用C++/C语言编写STM32单片机代码。 这里以正点原子MINI板为例子,使用Arduino_IDE完成点灯和串口打印。 ![]() 第一步,先把Arduino_IDE软件安装好。 软件版本的话,最好还是1.8.x,由于arduino官网在国外,所以下载速度慢,这里大家可以查看一下我们提供的资料链接,里面有一个Arduino-1.8.13-windows.zip压缩包,解压即可使用。 ![]() 第二步,从GitHub下载Arduino_STM32。 rogerclarkmelbourne博主提供了这个库。 ![]() 这个也是属于外网,所以这个压缩包Arduino_STM32.zip也提供给大家。大家解压后,把Arduino_STM32文件夹拷贝或者移动到arduino-1.8.13/hardware即可。如下图所示。 ![]() 第三步,打开Arduino_IDE,下载编译工具链。 按照以下顺序执行即可。 ①进入到开发管理器 ![]() ②下载安装Arduino SAM Boards(32-bits ARM Cortex-M3)by Arduino开发板。 (这个过程需要一定时间,请耐心等待安装完成) ![]() 上图已经烧录好了,所以不需要重新安装。 注意:如果出现下载失败,基本上都是网络问题,最好选择白天下载,晚上外网网速比较慢。 第四步,硬件操作及烧录。 ①硬件操作:把MINI板子上的BOOT0引脚连接到VCC,我们使用串口下载方式,然后按一下复位引脚进入等待烧录状态。 ![]() ②选择可用的Demo,操作如下: (1)选中板子型号,Generic STM32F103R series ![]() (2)选中板子容量, STM32F103RC(48k RAM,256k Flash) ![]() (3)选取参考demo,拿手好戏—点灯demo。 ![]() (4)根据原理图,修改一下代码。LED0用到PA8,LED1用到PD2。 ![]() ![]() ![]() (5)选择下载方式串口并选择对应的COM口。 ![]() (6)下载验证。 (注意:烧写成功后,会发现LED0和LED1同时闪烁,假如不把BOOT0引脚重新连接到GND,这个现象只会出现一次,所以要把BOOT0引脚连接到GND,这时候你如何进行复位,上电都是正常效果) 下载完成如下图: ![]() ![]() 可以看到我们已经成功实现了点灯和串口打印。从代码实现上看,十分简单,对于新手比较友好,而且有很多库给我们轻松调用,所以DIY也可以尝试一下这种开发方式。 不过,这个也有很大的缺点,不能调试以及不能go to definition,对于开发来说实属不便。 KEIL,Arduino_IDE,VScode,STM32CubeMX,STM32CubeIDE都是可以进行STM32开发,这些只是工具,各有各的好处,当然对于我们来说,选择一个适合的开发方式肯定有着事半功倍的效果,但最重要的还是掌握STM32的开发。 ———————————————— 版权声明:正点原子 如有侵权请联系删除 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南