小组 > 嵌入式 > MicroPython技术交流 > NUCLEO_F746ZG上运行MicroPython
?
?
小组信息
名称:MicroPython技术交流

管理员:

人数:6
小组积分:64
简介:用python语言开发嵌入式程序。MicroPython学习、交流、DIY。

小组公告

小组暂无公告.

返回本小组首页

楼主??[原创]?

NUCLEO_F746ZG上运行MicroPython


作者:邵子扬
积分:12227分
总积分:26705分
:7506
发送信息
加为好友
发表于2016-06-17 01:14

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()()读取按键状态,也可以设置中断等。

修改后的配置文件和编译后的目标文件

?

http://bbs.micro-python.com/forum.php?mod=viewthread&tid=61&extra=

?


分享到:? 新浪微博?? qq空间??
投票数: ? 回复?? ? 引用??
点击登录,立即回复。