咸鱼硬件—Micropython快速指南

  • 通用控制
  • LED控制
  • Pins和GPIO的使用
  • 舵机控制
  • 定时器
  • PWM(脉宽调制模块)
  • ADC(模数转换)
  • DAC(数模转换)
  • UART(串口)
  • SPI总线
  • I2C总线
  • 加速度传感器
通用控制

import pyb

用法 说明
pyb.delay(1000) 延迟 1000毫秒
pyb.millis() 返回开机后运行时间
pyb.repl_uart(pyb.UART(1,9600)) 指定REPL到串口1
pyb.wfi() 暂定CPU等待中断唤醒
pyb.freq() 返回CPU和总线的频率
pyb.freq(60000000) 设置CPU频率为60MHz
pyb.stop 停止CPU,等待外部中断唤醒
LED控制

from pyb import LED

用法 说明
myled = pyb.LED(1) 指定1号灯亮
myled.on() 开LED
myled.off() 关LED
myled.toggle() 翻转LED
Pins和GPIO的使用

from pyb import Pin

用法 说明
p_out=Pin(‘X1’,pin.OUT_PP) X1设置为输出
p_out.high 输出高电平
p_out.low 输出低电平
p_in=Pin(‘X2’,Pin.IN,Pin.PILL_UP) X2设置为输入,并使其能内部上拉电阻
p_in.value() 读取电平
舵机控制

from pyb import Servo

用法 说明
s1=Servo(1) 使用X1控制(X1,VIN,GND)
s1.angle(45) 转到45°
s1.angle(-60,1500) 1500ms内转到-60°
s1.speed(50) 以速度50继续转动
定时器

from pyb import Timer

用法 说明
ti=Timer(1,freq=1000) 定义定时器1,工作频率1000Hz
ti=counter() 读取计数器
ti=freq() 设定定时器频率
ti=callback(lanbda t:pyb.LED(1).toggle()) 设置回调函数
PWM(脉宽调制模块)
from pyb import Pin,Timerp = Pin('X1')
ti = Timer(2,freq=1000)
ch = ti.channel(1,Timer.PWM,pin=p)   #设置PWM引脚
ch.pluse_width_precent(50)           #设置PWM输出占空比

脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。

ADC(模数转换)
from pyb import Pin,ADCadc=ADC(Pin('X19'))   #设置ADC输入引脚
adc.read()            #读取ADC转换结果,默认12位方式,参数范围0~4095
DAC(数模转换)
from pyb import Pin,DACdac=DAC(Pin('X19'))   #设置DAC输入引脚
dac.write()           #设置输出电压,默认8位模式,参数范围0~255
UART(串口)
from pyb import  UARTuart=UART(1,115200)         #设置串口号及波特率
uart.write('xianyu')      #输出
uart.read(4)              #最多读取4个字节
SPI总线
from pyb import  SPIspi = SPI(1,SPI.MASTER,baudrate=20000,polarity=1,phase=0)
#设置SPI参数
spi =send('xianyu')      #发送数据
spi.recv(6)              #读取6个字节
spi.send_recv('xianyu')  #发送数据并接受6个字节

SPI是串行外设接口(Serial PeripheralInterface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,如AT91RM9200。

I2C总线
from pyb import  I2Ci2c = I2C(1,SPI.MASTER,baudrate=20000)   #设置I2C参数
i2c.scan()               #搜索总线上设备
i2c.send('xianyu',0x42)  #发送6个字节到地址0X42
i2c.recv(6,0x42,)        #从地址0X42接收6个字节
i2c.mem_read(2,0x42,0x10)#从0x42设备中的内存0X10处读取2个字节
i2c.mem_write('xy',0x42,0x10)  #写入2个字节到设备0x42的内存地址0x10

I2C(Inter-Integrated Circuit)总线是用于连接微控制器及其外围设备。

加速度传感器
acc=pyb.Accel()
acc.x()          #读取X轴参数while True:print(acc.x(),acc.y(),acc.z())  #打印三轴数据

咸鱼硬件—Micropython快速指南相关推荐

  1. 咸鱼硬件—Micropython介绍

    咸鱼硬件-Micropython介绍 MicroPython的历史 DamienGeorge是一名计算机工程师,他每天都要使用Python语言工作,同时也在做一些机器人项目.有一天,他突然冒出了一个想 ...

  2. ROS四旋翼无人机快速上手指南(1):无人机系统硬件概述与指南简介

    成就更好的自己 ROS无人机快速上手指南旨在于让使用此无人机开发平台的比赛参赛人员,算法设计人员,无人机爱好者更加快速的了解底层控制运作原理,从而缩短开发周期,减少掉坑次数,快速验证算法的速度,不用在 ...

  3. micropython入门指南-电子工业出版社-网上书店

    MicroPython是近年国外开源硬件(也是智能硬件)中最热门的主题之一,它使用Python语言在嵌入式中编程,不需要了解底层寄存器.数据手册.厂家的库函数,大部分外设和常用功能都有自己的库,使开发 ...

  4. 《树莓派Python编程指南》—— 1.3 树莓派快速指南

    本节书摘来自华章计算机<树莓派Python编程指南>一书中的第1章,第1.3节,作者:(美) Alex Bradbury Ben Everard更多章节内容可以访问云栖社区"华章 ...

  5. Python深度学习-快速指南

    Python深度学习-快速指南 (Python Deep Learning - Quick Guide) Python深度学习-简介 (Python Deep Learning - Introduct ...

  6. 基于XBee3 zigbee Micropython编程指南

    开始使用MicroPython (http://www.bitconn.com/form_1/注册后,购买XBee模块,送USB评估底板及相关中文资料,或者免费申请借用评估套件) 本用户指南概述了如何 ...

  7. 硬件3D加速指南(转)

    硬件3D加速指南(转)[@more@] 内容简介:本指南描述了如何在Gentoo Linux的XFree86中使用XFree-DRM以获得3D加速. 1. 前言 什么是硬件3D加速?我为什么需要使用它 ...

  8. react 快速上手开发_React中测试驱动开发的快速指南

    react 快速上手开发 by Michał Baranowski 通过MichałBaranowski React中测试驱动开发的快速指南 (A quick guide to test-driven ...

  9. 30岁找不到工作很绝望_计算机为绝望的新编码员工作方式的快速指南

    30岁找不到工作很绝望 by Danielle Ormshaw 丹妮尔·欧姆肖(Danielle Ormshaw) 计算机为绝望的新编码员工作方式的快速指南 (The quick guide to t ...

最新文章

  1. ptam tracking
  2. 权限设计中的数据灵活存储设计策略参考[以不变应万变]
  3. row height
  4. Android之用PopupWindow实现弹出listview形式菜单
  5. 泛型(CSDN转载)
  6. Java 高级—— IO 基础
  7. 建个数据中心就想发展IDC?没那么简单!
  8. [BZOJ1927]星际竞速(费用流)
  9. 史上最全JavaScript数组去重的十种方法(推荐)
  10. 思维导图哪款好用?怎么借助MindManager 做旅游计划
  11. scrapy 出现400 Bad Request 问题
  12. AI 场景存储优化:云知声超算平台基于 JuiceFS 的存储实践
  13. linux系统it固定资产管理系统包_固定资产管理系统功能介绍
  14. Java HashSet
  15. 九月四号《算法笔记》学习
  16. 开启Mac的壁纸自动更换功能
  17. php实现验证码正确输入_PHP实现验证码
  18. 设置默认浏览器为Chrome
  19. 支付宝导出资金账单Python脚本文件Demo
  20. 华为eNSP——综合实验(公司内部网络访问外网的模拟)

热门文章

  1. 我们可以从挑战者灾难中学到什么关于网络安全的知识?一切。
  2. 数学问题:1000瓶酒找1毒酒
  3. c语言数据结构课程设计电梯,数据结构课程设计报告(模拟电梯).doc
  4. 数据结构课程设计报告
  5. 物理层设备(中继器和集线器)
  6. PMO项目经理须掌握的组织现状诊断技能【附诊断表】
  7. OpenGL PBO学习
  8. 静态链表(C++实现)——基于数据结构(沈俊版)(初学者食用)
  9. 如何读取服务器FTD的日志文件
  10. MacBook苹果电脑在充电中无法指纹解锁解决办法