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开发板的基本功能

调试来自于逐飞的MM32F3277移植有MicroPython开发板

测试MindMotion MM32F3277 MicroPython -2021-11-20新增PWM版本