新建工程
1.双击桌面的快捷方式打开STM32CubeIDE,需要选择一下工作空间,保存路径可以根据实际选择其他路径(不要带中文)。
点击File->New->STM32 Project.
搜索并选择芯片,我这里以STM32F103RCT6为例,然后点击右下角的Next进入下一步。
输入工程项目名称,这里以LED为例,其他参数默认就可以。
点击Yes,此时会加载图形化内容
引脚配置
首先需要Debug信息,在Pinout&Configuration下点击SYS->Debug选择Serial Wire。
在Pinout&Configuration选择RCC->HSE选择Crystal/Ceramic Resonator。其中HSE为外部时钟,LSE为内部时钟,使用外部时钟能比内部时钟更加稳定高效。
切换到Clock Configuration修改HCLK的频率为72,按回车确认。
增加LED引脚配置,从原理图可知LED连接到PC13引脚。
将PC13引脚设置为GPIO_Output,为了方便这里修改Label为LED
然后按Ctrl+S保存,将Remember my decision打钩,然后点击Yes。这样每次保存都会自动生成代码。
要登陆才能生成代码
然后生成代码
找到main.c文件里的main函数,在while(1)下添加控制LED灯的内容。功能是LED灯每隔两百毫秒闪一次。按Ctrl+S保存代码。
注意:代码内容需要添加在USER CODE BEGIN 和USER CODE END之间的。否则下次通过图形化工具生成代码后,代码内容会被覆盖掉,添加在USER CODE BEGIN 和USER CODE END之间的则不会被覆盖掉。不要写中文注释在里面,可能会出现乱码。
编译程序
添加生成HEX文件的功能。
依次点击Project->Properties->C/C++ Build->Settings->MCU Post build outputs,然后在Convert to Intel Hex file(-O ihex)前打勾,如下图所示。
点击工具栏中的锤子,开始编译工程。
STM32CubeIDE会弹出Console控制台,看到编译0错误,0警告就表示编译成功。如下图所示,项目生成的文件名为LED.hex,此文件保存在工程目录的Debug文件夹中。
烧录程序
安装CH340驱动
由于USB通讯使用了CH340芯片,所以需要安装CH340芯片的驱动,如果电脑已经安装过CH340驱动则不需要重复安装。
解压【Uart drive(CH340).zip】,双击打开CH341SER.EXE程序
点击安装,安装完成后会提示安装成功。
下载烧录软件
本次烧录Rosmaster扩展板单片机固件需要用到mcuisp(或flymcu)烧录软件,请到http://www.mcuisp.com网站下载mcuisp(或flymcu)烧录软件;也可以直接使用资料中提供的mcuisp软件。
mcuisp软件是绿色版软件,不需要安装,双击打开即可使用。
连接设备
在电脑连接之前,请将扩展板连接Jetson Nano的Micro USB数据线和电源线拔掉。
将USB数据线的一端插入电脑USB接口,另一端插入扩展板的Micro USB接口。
配置烧录软件
搜索串口的时候如果出现多个串口号,又不确认哪个才是。解决方法一:拔掉其他USB接口再搜索;解决方法二:先拔掉扩展板USB数据线,点击搜索串口,记下搜索到的串口号,插入扩展板的USB数据线,再次搜索串口,对比前后两次,新增加的串口号就是所需的串口号。
选择固件时需要选择工程目录的Debug文件夹下的LED.hex文件。
最后是底部的配置选择,一定要选择【DTR的低电平复位,RTS高电平进BootLoader】选项,否则可能导致下载失败。
烧录程序
请先将扩展板上的单片机进入烧录模式:
以ROSMASTER的单片机为例,先按住扩展板上的BOOT0键,再按一下RESET键,最后松开BOOT0键。
点击【开始编程】,mcuisp烧录软件会将我们上一步选择的固件烧录到Rosmaster的扩展板上的单片机上。当右边出现【成功从08000000开始运行www.mcuisp.com向您报告,命令执行完毕,一切正常】的提示就表示下载成功。
注意:
①开始烧录前,请确认Rosmaster的串口号是可访问的,即没有串口助手占用它。
②Rosmaster进入烧录模式的操作,先按住扩展板上的BOOT0键,再按一下RESET键,最后松开BOOT0键。
2.9、程序现象
扩展板上的LED灯每隔200毫秒闪一次。