你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

NUCLEO_F746ZG上运行MicroPython

[复制链接]
shaoziyang 提问时间:2016-6-17 01:19 /
Micropython支持很多ST的开发板,但是NUCLEO-144系列的NUCLEO_F746ZG开发板,并不在micropython直接支持的列表中,而同型号系列中的STM32F746DISC是支持micropython。不过STM32F746DISC的固件并不能直接用在这个开发板上,一个是芯片的型号不同,另外就是时钟配置不同。


虽然不能直接使用STM32F746DISC的固件,但是我们可以通过修改这个开发板的配置,实现程序的移植。

主要需要修改的地方有:
  • 时钟
  • LED
  • 按键
  • GPIO
  • I2C
  • SPI
  • UART

等。因为时间原因,先只修改了前面3个,后面的等有空了在进行。
开发板上有3个LED,配置为:


#define MICROPY_HW_LED1             (pin_B0) // blue
#define MICROPY_HW_LED2             (pin_B7)// red
#define MICROPY_HW_LED3             (pin_B14) // green


虽然这几个GPIO支持PWM,但是目前PWM功能还不能用,使用LED(n).intensity(xxx)不能改变亮度。

因为F7DISC上UART1使用了B7,和NUCLEO上的LED2冲突,所以还需要修改UART1的定义,否则LED2将不受控制。

修改按键的配置

#define MICROPY_HW_USRSW_PIN        (pin_C13)


修改配置后,重新编译代码,得到初步可以运行的固件,经过在NUCLEO_F746ZG开发板上初步测试,的确可以使用了。

可以用pyb.LED(1).on()控制LED,用pyb.Switch()()读取按键状态,也可以设置中断等。



收藏 2 评论7 发布时间:2016-6-17 01:19

举报

7个回答
assssdz 回答时间:2016-11-5 01:47:14
andypanfan 回答时间:2016-11-7 10:03:43
andypanfan 回答时间:2016-11-10 09:10:46
:lol:lol:lol
zengyi703-16313 回答时间:2016-11-10 12:37:42
这个不错
landeng 回答时间:2018-1-16 15:30:14
咨询下邵老师:firmware_v1.8.6-26_NUCLEO_F746_MPLR_v1.2这个版本是只修改了时钟、LED和按键,还是全部修改好了?我看更新时间是16年11月的
shaoziyang 回答时间:2018-1-17 10:33:51
landeng1986 发表于 2018-1-16 15:30
咨询下邵老师:firmware_v1.8.6-26_NUCLEO_F746_MPLR_v1.2这个版本是只修改了时钟、LED和按键,还是全部修 ...

除了LED和按键,还有GPIO的定义等。

Nucleo系列开发板相当于是核心板,扩展的功能较少。如果是Discovery,还有Flash等功能。
landeng 回答时间:2018-1-17 10:37:29
shaoziyang 发表于 2018-1-17 10:33
除了LED和按键,还有GPIO的定义等。

Nucleo系列开发板相当于是核心板,扩展的功能较少。如果是Discovery ...

谢谢,正在学习您的教程

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版