logo资料库

micropython中文教程最新版.pdf

第1页 / 共334页
第2页 / 共334页
第3页 / 共334页
第4页 / 共334页
第5页 / 共334页
第6页 / 共334页
第7页 / 共334页
第8页 / 共334页
资料共334页,剩余部分请下载后查看
关于
基本用法
MicroPython简介
pyboard
快速指南
教程
GPIO
PYB中未公开的Pin用法
Pyboard中Pin对应关系
LED
按键
RTC
ADC
DAC
UART
Timer
PWM
SPI
I2C
外中断
USB VCP (虚拟串口)
文件操作
macroSD卡
MicroPython库
pyboard相关库
pyb
标准库
buildin 函数
cmath
gc
math
select
sys
ubinascii
ucollections
uhashlib
uheapq
uio
ujson
uos
ure
usocket
ustruct
utime
uzlib
MicroPython库
machine
micropython
network
uctypes
其它
用寄存器控制PYB的LED
恢复出厂设置
MicroPython 如何嵌入汇编
升级固件
在Linux下更新固件
ESP8266
快速参考
教程
Pin
ADC
I2C
ESP8266和PYB的I2C用法对比
SPI
RTC
Timer
PWM
UART
标准库
array
gc
math
MicroPython库
machine
工具
文件传输
webrepl
webrepl的用法
uPyLoader
安装uPyLoader
uPyLoader使用教程
常见问题
ESPyHarp
ESPyHarp 简介
mpfshell
编程工具
esptool.py
安装esptool.py
读取flash
清除Flash内容
esptool.py 升级到 1.2.1
其它
调试ESP8266时不要用超级终端
MicroPython 1.8.6重新支持512K的模块
ESP8266挂载SD卡
创建ESP8266工具链
ESP32
micro:bit
micro:bit 硬件方案
在BLE400上体验microbit的运行效果
CC3200
软件库
旋转编码器库
telenet服务器
技巧
在ubuntu中安装gcc-arm-none-eabi
用git克隆micropython仓库
编译时指定编译器路径
加快编译速度
快捷键
Linux版的Micropython
在Linux下用Screen连接pyboard
怎样在REPL下粘贴程序
添加目录到系统路径
SPI方式连接SD卡
故障修复
pyb识别不能pybflash
pyb连接问题USB
开发板
开发板固件
EEWORLD版 PYBV10
EEWORLD版pyboard说明
EEWORLD版使用指南
STM32L476版的PYBV1.0
ESP-mp-01
ESP-MP-01开发板说明
ESP-MP-01开发板使用指南
入门教程
1
2
3
4
5
6
连接Micropython热点
win10的驱动问题
PYB Nano
原理图
PYB Nano 开发板快速指南
连接DS3231模块
使用EEPROM
驱动气压传感器BMP180
使用HMC5883
连接SD卡
用定位器控制LED亮度
ST Nucleo-F401RE
ST Nucleo-F411RE
让NUCLEO-F411支持SD卡
将NUCLEO上的I2C1改为PB8/PB9
在NUCLEO-F411RE上使用MicroPython
ST Nucleo-L476RG
使用DS3231
使用按键控制LED的频率
ST NUCLEO-F446RE
ST NUCLEO-F446ZE
ST NUCLEO-F746ZG
NUCLEO_F746ZG上运行MicroPython
ST NUCLEO-F767ZI
在NUCLEO_F767ZI上移植MicroPython
用PWM控制LED亮度
ST NUCLEO-F429ZI
ST DISCO-F429ZI
ST DISCO-L476VG
ST DISCO-F746NG
STM32F4DISCOVERY
聚码 小钢炮开发板
LPS25H驱动
读取HTS221传感器
在小钢炮开发板上运行MicroPython
CC3200LaunchXL
在CC3200-LAUNCHXL上运行MicroPython
CC3200-LAUNCHXL的正确烧写固件方法
MSP432R
MSP432 LaunchPad的固件
在MSP432 LaunchPad上运行MicroPython
FRDM-K64F
Zephyr分支加入GPIO功能
XMC4700
IntoRobot Neutron
DFU模式
移植MicroPython到STM32F411CEU6
用LED测光强
控制RGB彩灯
小e开发快
读取ADC
判断小e的拨码开关
读取小e开发板上的BMP180传感器
读取DHT11传感器
同步网络时间
可以运行MicroPython的TiLDA MK3
资源
论坛
常用终端软件
其它相关资源
官方资源
其它
python入门神图
计算性能测试
计算性能测试2
使用MicroPython计算任意位数圆周率
支持spiffs格式的移植版
第一本MicroPython书籍即将在亚马逊上开售
正在众筹的OpenMV Cam
MicroPython官网换Logo了
MicroPython 视频分享 - 俄罗斯方块
在线体验MicroPython
已举行的MicroPython的活动
本教程由MicroPython中文社区制作,资料来源于MicroPython官方文 档、国内社区活动、网友经验分享等。 在保留本说明和版权的情况下,欢迎转载和分享 作者:shaoziyang 时间:2016年11月 MicroPython中文社区版权所有,保留所有权利 Copyright by MicroPython Chinese community 2
使用MicroPython前,需要了解一些基本的使用方法: 硬件 大部分MicroPython开发板都是通过串口(或者USB转串口方式)和计 算机连接,部分版本支持Wifi,可以通过wifi进行连接。 通过USB连接时,通常会产生两个设备:虚拟磁盘和虚拟串口。用户 程序可以复制到虚拟磁盘运行,也可以通过串口编写和调试程序。 软件 软件不要使用一般的串口助手类软件,而需要使用终端软件,如超级 终端、putty、xshell、SecureCRT、MobaXterm等。 通过串口连接时,绝大部分使用了下面的参数: 115200, n, 8, 1,无流量控制 驱动 在Windows下使用STM32的pyboard开发板时,第一次连接会提示安装 串口驱动,同时会出现一个PYBFLASH虚拟磁盘,串口驱动就在这个虚 拟磁盘上。 在Linux和MacOS下无需安装串口驱动。 REPL 通过终端连接到开发板后,就可以通过REPL发送命令,编写和调试程 序了,REPL下的用法和标准的python类似。 3
下面是网上关于MicroPython的介绍 Damien George是一名计算机工程师,他每天都要使用Python语言 工作,同时也在做一些机器人项目。有一天,他突然冒出了一个想 法:能否用Python语言来控制单片机,进行实现对机器人的操控 呢? 要知道,Python是一款比较容易上手的脚本语言,而且有强大的社 区支持,一些非计算机专业领域的人都选它作为入门语言。遗憾的 是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼。 Damien为了突破这种限制,他花费了六个月的时间来打造Micro Python。它基于ANSI C,语法跟Pyton 3基本一致,拥有自家的解 析器、编译器、虚拟机和类库等。目前他支持基于32-bit的ARM处 理器,比如说STM32F405。 借助Micro Python,用户完全可以通过Python脚本语言实现硬件底 层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控 制电机、访问SD卡等。 与此同时,Damien还给大家带来了一款专门为Micro Python而打造 的开发板,它基于STM32F405单片机,通过USB接口进行数据传输。 该开发板内置4个LED灯、一个加速传感器、时钟模块,可在3V-10V 之间的电压正常工作。值得一提的是,它遵守MIT协议开源,被授 权人拥有复制、修改、发行和再授权的权利。 MicroPython在2014成功的在kickstarter上众筹,获得很高的评价, 现在越来越多的开发者开始使用MicroPython。 目前MicroPython有多个不同硬件平台的移植版本,包括 STM32F4/F7/L4系列、ESP8266、ESP32、NXP MK20DX256、microchip PIC33、Infineon XMC4700、nRF51822、CC3200、MSP432等。其中以 STM32和ESP8266为主要版本。除了官方维护的版本外,还有众多爱好 者移植的版本。 MicroPython采用了MIT授权方式,这是最宽松的授权方式,任何人都 可以使用它,也可以用于商业应用。 实际上,除了MicroPython外,在嵌入式上还有其它一些python版 4
本,只是影响力不大。如更早的时候有pymite项目,可以在avr上运 行python;还有一些不开源的商业项目,如:SNAPpy,能够在C8051 和AVR上运行。但是这些项目的功能不如micropython,。 5
pyboard主要是针对STM32系列的单片机 6
PYBoard 快速指南 通用控制 import pyb pyb.delay(50) # wait 50 milliseconds pyb.millis() # number of milliseconds since bootup pyb.repl_uart(pyb.UART(1, 9600)) # duplicate REPL on UART(1) pyb.wfi() # pause CPU, waiting for interrupt pyb.freq() # get CPU and bus frequencies pyb.freq(60000000) # set CPU freq to 60MHz pyb.stop() # stop CPU, waiting for external interrupt LEDs from pyb import LED led = LED(1) # red led led.toggle() 7
led.on() led.off() Pins 和 GPIO from pyb import Pin p_out = Pin('X1', Pin.OUT_PP) p_out.high() p_out.low() p_in = Pin('X2', Pin.IN, Pin.PULL_UP) p_in.value() # get value, 0 or 1 电机控制 from pyb import Servo s1 = Servo(1) # servo on position 1 (X1, VIN, GND) s1.angle(45) # move to 45 degrees s1.angle(-60, 1500) # move to -60 degrees in 1500ms s1.speed(50) # for continuous rotation servos 外中断 from pyb import Pin, ExtInt callback = lambda e: print("intr") ext = ExtInt(Pin('Y1'), ExtInt.IRQ_RISING, Pin.PULL_NONE, callback) 定时器 from pyb import Timer tim = Timer(1, freq=1000) tim.counter() # get counter value tim.freq(0.5) # 0.5 Hz tim.callback(lambda t: pyb.LED(1).toggle()) PWM (pulse width modulation) from pyb import Pin, Timer 8
分享到:
收藏