查看: 319|回复: 5
打印 上一主题 下一主题

在STM32F746G-Disco开发板上玩MicroPython

[复制链接] qrcode

29

主题

31

帖子

94

积分

注册会员

Rank: 2

积分
94
楼主
跳转到指定楼层
发表于 2016-4-12 11:49 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

STM32F746G-Disco开发板上玩MicroPython


MicroPython是个不错的方式,用python开发单片机程序,可以不用安装复杂的开发工具,用文本编辑器或者串口终端,就可以编程和控制。而STM32F746Disco开发 板是一个不错的开发板,M7内核、大屏幕、大容量Flash和RAM,扩展性强。如果将STM32F746Disco和MicroPython结合起来一定非常不错。下面简单介绍在 STM32F746Disco开发板上使用MicroPython的方法。


  • 首先要下载并安装GNU Tools for ARM Embedded Processors。
    https://launchpad.net/gcc-arm-embedded
  • 下载MicroPython的源码,。
  • 展开MicroPython源码,打开 stmhal 目录
  • 在命令行中输入
       make BOARD=STM32F746Disco
  •  如果编译出错,说明编译器没有加入系统路径,可以手工修过makefile文件。修改 CROSS_COMPILE = arm-none-eabi- 这一行,在 arm-none-eabi- 前添加编译器的实际路径,注意路径需要使用右斜杠
  • 将编译后产生的hex文件用STM32 ST-LINK Utility下载到开发板。
  • 使用macroUSB线连接到STM746Disco开发板的USB_FS上。如果不连接STlink,那么需要改变反面的电源跳线
  • 第一次在windows上使用时,会自动安装驱动,包括PYBFlash移动磁盘和虚拟串口,虚拟串口驱动可以在自动安装的PYBFlash磁盘上找到。
  • 打开一个串口终端,推荐使用kitty或者xshell个人版,设置波特率为115200。


如果可以看到python的提示,就可以开始玩micropython了。

>>> MicroPython v1.6 on 2016-04-03; F7DISC with STM32F746
Type "help()" for more information.
>>>
 

 


先试试简单的计算:

>>> 1+2
3
>>> print(3*4)
12
>>> x=12
>>> x*3
36
>>>
 

 


控制LED,输入下面代码后,LED将闪10次。(只需要输入代码部分,>>>和...是系统自动产生的)

>>> for i in range(10):
...     pyb.LED(1).toggle()
...     pyb.delay(100)
 



用按键控制LED

>>> sw=pyb.Switch()
>>> while 1:
...     if sw():
...         pyb.LED(1).on()
...     else:
...         pyb.LED(1).off()
 


还可以控制定时器、I2C、串口等等,更多内容等以后在和大家进行讨论了。


如果觉得编译比较麻烦,可以直接将我编译好的文件下载下去。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

76

帖子

10

积分

新手上路

Rank: 1

积分
10
沙发
发表于 2016-4-21 09:55 AM | 只看该作者
这个不错哟,,,不过最近在鼓捣 lua ,感觉 lua 可能更适合单片机,,python 跑着是不是有点吃力,,不知,有没有测一下速度,,746跑起来怎么样??

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

0

主题

79

帖子

6

积分

新手上路

Rank: 1

积分
6
板凳
发表于 2016-4-21 10:48 AM | 只看该作者
没有做性能测试,但是运行起来还是很快的,没有感觉到什么延时。lua用的人少,资源也少,python的开发者就多很多了。micropython是优化过的,运行起来还不错。
回复 支持 反对

使用道具 举报

0

主题

75

帖子

2

积分

新手上路

Rank: 1

积分
2
地板
发表于 2016-4-21 10:53 AM | 只看该作者
据说是重写的编译器。。好像概念有点错了 
不知道是不是我理解错了,,在PC 上资源多,不代表再单片机上资源多。。
就像 微软的Surface RT 也是跑的win10 但是不能运行 exe 文件,只有 pro 可以运行。
Python的其他的模块,可以在上面用吗? ,
请楼主测试一下呗,如果是只能运行控制底层的模块

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

2

主题

82

帖子

14

积分

新手上路

Rank: 1

积分
14
5#
发表于 2016-4-21 12:19 PM | 只看该作者
这个资源不是指单片机资源,而是编程可以参考的程序、库比较多。Micropyhton是精简的python,一些标准库无法使用,但是基本库是可以的。控制I2C、UART、Timer等也非常简单。
回复 支持 反对

使用道具 举报

0

主题

69

帖子

14

积分

新手上路

Rank: 1

积分
14
6#
发表于 2016-4-21 12:21 PM | 只看该作者
如果有小钢炮蓝牙那个开发板,也可以试试,我刚移植好了温湿度传感器。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表