MM32F3277 MicroPython 实验板设计和软件测试
Posted 卓晴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MM32F3277 MicroPython 实验板设计和软件测试相关的知识,希望对你有一定的参考价值。
§01 设计要求
在 制作测试MM32F3277-MicroPython最小电路板 测试了基于MM32F3277的MicroPython测试板。也可以看到它的时钟是不需要。下面设计一个适应于面包板进行测试实验的MicroPython测试板。
一、资源设置
1、MicroPython支持模块
下面使用灵动苏勇提供的模块支持类别:
▲ 图1.1.1 MM32F3277中的模块
▲ 图1.1.2 MM32F3277七个UART对应的管脚
二、设计电路板
1、原理图
▲ 图1.2.1 原理图
2、PCB
▲ 图1.2.2 快速制版单面PCB设计图
三、焊接与调试
使用 一分钟制版法 ,在五分钟之后制作完电路板,进行焊接和调试。
1、焊接电路板
焊接测试电路板,如下图所示:
▲ 图1.3.1 焊接之后的测试电路板
2、测试电路板
(1)上电测试
施加+5V工作电压。测量板内3.3V的电源电压符合要求。
(2)下载MicroPython
下来来自于苏勇的MicroPython。这个版本需要外部晶体。
▲ 图1.3.2 使用MM32-LINK下载MicroPython
▲ 图1.3.3 下载MicroPython之后在晶体上测量到时钟信号
(3)测试RX1
MicroPython写入之后,在上电之后会发送出MicroPython的版本信息。可以在TX1上测量到该波形。
▲ 图1.3.4 上电后测量TX1上的波形
(4)测试REPL
连接测试版上的REPL接口(UART1)到计算机的串口终端,可以在电路板上电之后读取到版本信息。
▲ 图1.3.5 REPL 提示符号
§02 测试MicroPython
根据苏勇反馈的信息,现在这个版本MicroPython已经支持一下模块:Pin、ADC、UART、SDCard、utime。模块的使用遵循着 MicroPython官网 给出的协议。下面对于现在的版本进行测试。
一、基本信息测试
1、测试代码
from machine import Pin,ADC,UART,freq
import machine
import utime
dir(machine)
dir(utime)
freq()
2、测试结果
Reset MicroPython...
Wait for MicroPython comeback...
Download MicroPython : 9 lines/109 characters.
Begin to download programm...
-------------------------------------------------------------------------
['__name__', 'ADC', 'Pin', 'SDCard', 'UART', 'freq', 'mem16', 'mem32', 'mem8']
['__name__', 'sleep', 'sleep_ms', 'sleep_us', 'ticks_add', 'ticks_cpu', 'ticks_diff', 'ticks_ms', 'ticks_us']
96000000
>>>
从上面可以看到,内部的OSC的频率为96MHz。
二、测试utime
1、测试代码
from machine import Pin,ADC,UART,freq
import utime
while True:
print('A')
utime.sleep_ms(100)
2、测试结果
REPL接口输出’A’,每隔100ms输出一个数字。
三、测试Pin
测试GPIO的输入输出功能。
1、测试输出
根据苏勇反馈的信息:
from machine import Pin
pin0 = Pin('PB2', mode=Pin.OUT_PUSHPULL)
pin0(1)
pin0.low()
测试GPIO对应的输出功能。
(1)测试代码
from machine import Pin,ADC,UART,freq
import utime
led = Pin('PB2', Pin.OUT_PUSHPULL)
while True:
led(1)
utime.sleep_ms(100)
led(0)
utime.sleep_ms(100)
(2)测试结果
▲ 图2.3.1 闪烁PB2对应的LED
2、测试IO操作最短时间
通过测试两次IO的高低电平的变化,来测试在MicroPython下对于IO口的最短操作时间。
(1)测试代码
from machine import Pin,ADC,UART,freq
import utime
led = Pin('PB2', Pin.OUT_PUSHPULL)
while True:
led(1)
led(0)
(2)测试结果
通过测量LED端口的变化波形来看,执行初次GPIO操作所需要的时间大约为:17 μ s \\mu s μs。
▲ 图2.3.2 相邻GPIO高低电平操作
3、测试输入功能
以上是关于MM32F3277 MicroPython 实验板设计和软件测试的主要内容,如果未能解决你的问题,请参考以下文章
测试MM32F3277中的MicroPython的Signal功能
测试MM32F3277 MicroPython 的定时器功能
MM32F3277 MicroPython移植过程中对应的接口文件
测试逐飞的MM32F3277 MicroPython开发板的基本功能