STM32
登录
直播中
王桂兰
7年用户
1192经验值
私信
关注
[问答]
Micropython平台是如何实现在NUCLEO-F401RE开发板跑起来的
开启该帖子的消息推送
开发板
Nucleo
STM32F401RE
Micropython平台是如何实现在NUCLEO-F401RE
开发板
跑起来的?有哪些操作流程?
回帖
(3)
张华
2021-11-8 10:29:40
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
举报
顾鸿兰
2021-11-8 10:29:53
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
举报
李姗蔓
2021-11-8 10:31:33
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
NUCLEO-F401RE(STM32F401RE)开发板跑Micropython平台
开发准备:
软件:DfuSeDemo、STM32 ST-LINK Utility、虚拟串口驱动、OpenIOE、uPyCraft、Notepad++、
开发板上手:
一、固件烧录
1、固件获取。
去Micropython的官网下载,我下载的是最新的固件。
Micropython源码包
或者在github上下载Micropython的源码包,然后在Linux(ubuntu)系统下利用gcc编译器和交叉编译器编译源码生成dfu文件和hex文件,这个比较灵活,可以根据芯片选择编译,可不用局限与官网提供的固件。
Micropython源码包:https://github.com/micropython/micropython
步骤参考:https://www.jianshu.com/p/98b1c9bb6501?utm_source=desktop&utm_medium=timeline
2、固件下载。
A、duf文件直接下载。
这个比较麻烦,建议使用后者下载,需要两根USB线,一根提供电,另一根数据连接,连接方式如下图所示。
和串口下载程序一样,使用DFU烧录固件前,也要先把STM32切换为系统存储器启动模式:即下载模式。
上电之前要先设置BOOT0=1,BOOT1(PB2) =0,设置完成之后,连接电脑,设备管理会出现一个DFU设备。
打开DfuSeDemo软件,选择已经下载的固件(.dfu文件),然后点击Upgrade升级,在弹出的界面,点击“是”。 最后等待升级完成,断电,把BOOT短接线拔掉(启动不需要BOOT选择),重新上电。
下载完成。
B、HEX文件下载。
先把,dfu文件转换成HEX文件。打开DfuSeDemo软件的安装目录运行DfuFileMgr.exe选择从DFU转换成HEX选项,然后选择从官网下载的dfu文件进行转换。
打开软件STM32 ST-LINK Utility,利用开发板自带的ST-link进行烧录(BOOT0接地即可),依次连接、擦除、烧录。
二、点亮LED
1、连接开发板,验证固件。
固件下载好之后,就可以使用串口进行python代码的烧录。串口默认是芯片的UART2 : PA2 à TX PA3 à RX 。
打开PUTTY或OpenIOE或uPyCraft、串口调试助手等软件。连接串口(任务管理器对应的虚拟串口,波特率115200),按下复位键就会打印板子的固件信息。可直接输入指令操作板子上LD2的亮与灭。
注:
1、可直接使用开发板上ST-link的虚拟串口(需要安装驱动),也可外接串口。
2、外接串口模块,比如用CP2102模块,来代替ST-link的虚拟串口进行连接。
连接方法:TX à D1/TX RX à D0/RX ,这里需要SB13、SB14的0R电阻去掉,并短接SB62和SB63,目的是断开串口2与ST-link的虚拟串口,并将串口2引出到外接排针。
2、烧录 .py 程序。
我的思路是:用Notepad++编辑代码,uPyCraft检查语法问题、OpenIOE进行烧录程序、最后测试程序。
在Notepad++里编辑如下点灯代码:
然后用uPyCraft打开main.py文件进行语法检查,如图。如果有问题就修改,知道没有问题为止。
最后用OpenIOE进行代码烧录:先连接串口,然后点击列举文件,最后点击上传文件。文件上传完成后,可以点击复位执行,或者按下开发板的复位按钮,就可以看到开发板的LD2闪烁5下。
至此,程序烧录验证完毕。
注:我为什么要加上面一套组合,分析:
1、Notepad++ 进行程序编辑,可以设置为python的格式:缩进、关键字等,整个风格比较简介明了,代码观赏性也比较好。
2、python程序有严格的代码格式,只要你一行代码格式有问题,那么整个程序就运行不了,而uPyCraft可以检查语法,可缩短因为代码格式问题而造成的时间损失。
3、OpenIOE下载方便,我在使用过程中uPyCraft虽然也可以下载程序,但是时不时的下载不成功,而OpenIOE软件可以很轻松的下载程序,不过需要注意,先用列举文件,来暂停程序的运行,然后再下载代码。
三、Micropython程序例程。
相关语法可以参考一下两个网站:
Pyb – 板级功能:(内置函数的解释和使用例程)
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/pyb.html?highlight=reset
uPYCraft及machine的一下例程:(是ESP32使用的例程,但是可以参考)
https://dfrobot.gitbooks.io/upycraft_cn/content/3.2.2%20Pin.html
1、点灯例程:IO翻转实验,点灯有两种方式。
一种是:
pyb.LED(1).on()
使用pyb,默认的LED来点灯,这种是底层已经封装好,直接调用。
另一种是:
LED_pin = Pin(“PA5”, Pin.OUT_PP)
LED_pin.value(1)
这种是配置IO引脚,来实现点灯,可以任意配置管脚,通过原理图可知,板载LED连接的是芯片的PA5引脚。
2、按键例程:中断实验。
程序:
运行现象:
3、舵机例程:PWM实验。
使用的是PB0引脚,查看STM32F401RE的芯片手册,PB0引脚对应的是定时器3的通道3。
舵机工作原理是,20mS的方波,高电平时间0.5mS – 2.5mS 控制舵机0°– 180°,所以对应的频率就是50Hz 占空比2.5% - 12.5%
4、其它例程。
比如IIC、串口、中断、定时器等应用可以参考例程网站的应用。
举报
更多回帖
rotate(-90deg);
回复
相关问答
开发板
Nucleo
STM32F401RE
怎样去使用
NUCLEO-F401RE
开发板
的内置虚拟COM端口呢?
2022-12-14
267
STM32
NUCLEO-F401RE
的从机地址是什么?
2018-09-18
2002
如何将X-CUBE-SPN5合并到STFM32CUBEIDE中?
2023-01-30
193
如何利用XR806
开发板
让hello
跑起来
?
2021-12-29
1004
C6657
开发板
的资料
2018-06-21
2486
X-
NUCLEO
-NFC03A1评估
板
为什么会突然停止读取标签呢
2022-12-14
230
stm32
f401
nucleo
开发板
重新上电之后程序就消失了
2018-11-19
2173
分享一款专用的STM32+Python
开发板
2021-07-07
1298
如何让u-boot
跑起来
?
2022-01-26
1427
谁能分享X-
NUCLEO
-CCA02M2接口的详细信息?
2022-12-26
231
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分