mm32f3277micropython实验板设计和软件测试(代码片段)

卓晴 卓晴     2023-01-28     274

关键词:

 

§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、测试输入功能

mm32f3277micropython移植过程中对应的接口文件(代码片段)

简介:给出了在MM32移植MicroPython过程中基础语法中Pin相关的内容。关键词:MM32F3277,machine,Pin §01MacinePin/*machine_pin.h*/#ifndef__MACHINE_PIN_H__#define__MACHINE_PIN_H__#include"py/runtime.h 查看详情

测试逐飞的mm32f3277micropython开发板的基本功能(代码片段)

简介:对于给定的MicroPython移植版本进行了初步的测试。对比之下,MCU中还有很多的模块尚未支持。这些工作需要近期尽快补充测试完毕。关键词:MM32,MicroPython §01MicroPython开发一、背景介绍  为了能够在第十... 查看详情

调试来自于逐飞的mm32f3277移植有micropython开发板(代码片段)

简介:对于从逐飞寄送的MicroPython开发板进行初步测试,建立了基于REPL进行交互式开发的环境。关键词:MicroPython,MM32,Thonny §01开发板信息  今天(2021-10-27)收到逐飞公司发送过来的移植有MicroPyth... 查看详情

基于mm32f3273的micropython实验电路板-工作并不是正常(代码片段)

 §01MM32F3273  在在MM32F3273上运行MicroPython,对于性能进行测试测试了MM32F3273上载MicroPython之后的基本工作特点。下面设计基于MM3F3273对应的实验电路板。一、实验电路板设计1、电路原理图▲图1.1.1实验电路板设计原理图2、PCB... 查看详情

在mm32f3273上运行micropython,对于性能进行测试(代码片段)

简介:通过设计简单的测试电路,验证了MicroPython在MM32F3273上运行的情况。初步证实它可以运行移植后的MicroPython。关键词:MM32F3273,MicroPython,STM32,Bootloader,ISP §01测试过程  在上午进行了设计带... 查看详情

测试mm32f3277中的micropython的signal功能(代码片段)

简介:通过对这个版本MicroPython中的Signal功能进行测试,可以看到它现在还存在问题。后来经过SuYong修正之后,问题解决了。关键词:MicroPython,MM32,Signal#mermaid-svg-RMEXQrNJ5t4QONFO.labelfont-family:\'trebuchetms\',verd... 查看详情

测试mm32f3277micropython的定时器功能(代码片段)

简介:对于SuYong发送过来的带有Timer功能版本的MicroPython进行了测试。在新版的MicroPython中,可以最多定义两个不同频率的定时器中断,完成对于周期时间的控制和输出。这一点在很多数字控制系统中应用比较重要。关... 查看详情

mm32f3277micropython的mem函数对于mcu内存访问(代码片段)

简介:通过mem32,mem16,mem8可以使得MicroPython向访问数字一样访问MCU中的任意内存。在ARM模型下,所有的寄存器都是基于RAM地址访问,所以原则上,可以通过memxx编程,在MicroPython层完成对于MCU中所有的... 查看详情

制作灵动单片机mm32f3277测试版(代码片段)

简介:介绍了在Windows7下安装基于MM32-LINK开发软件。设计制作了MM32F3277的测试电路板,并对如何正确从MM32-LINK将调试电缆连接至MM32F3277开发板进行介绍。需要保证编程电流长度以及线序都满足要求,才能够正确完成程... 查看详情

制作测试mm32f3277-micropython最小电路板(代码片段)

简介:设计制作了基于MM32F3277的MicroPython测试电路,下载了来自于SeekFree已知的MicroPython,证明它可以完成正常使用。关键词:MM32F3277,MicroPython,快速制版 §01参考设计一、设计背景  在前天已经通过以... 查看详情

为什么在mm32中的micropython中无法打开二进制文件呢?(代码片段)

简介:对于在MM32F3277的MicroPython下,对于SD卡中的文件按照二进制方式进行读写进行测试,发现MicroPython下无法支持对于二进制文件的操作。根据现在这种测试,需要找到具体的MM32F3277现在版本上对于文件操作所存... 查看详情

测试mm32micropython测试电路板的基本功能(代码片段)

简介:对于来自于逐飞的MM32MicroPython模块进行补充测试。总结了现在一些缺少的功能。关键词:MicroPython,MM32,逐飞,灵动单片机 §01测试板简介  在测试逐飞的MM32F3277MicroPython开发板的基本功能中对于来自... 查看详情

灵动微m3内核32位单片机lqfp100封装mm32f3277g8p

灵动微MM32F3277G8P使用高性能的ARM®Cortex®M3为内核的32位单片机,ARM®的Cortex®M3微控制器是一个可配置的并具有多级流水线的32位精简指令集处理器,具有高性能和低功耗的特点。MM32F3277G8P包含多达3个12位的ADC、2个比较器、2个16位... 查看详情

利用mem数组在mm32micropython中实现comp的功能(代码片段)

简介:通过MicroPython中的数组mem对于MM32F3277内部的模拟比较器进行初步测试,验证了它的最基本的设置和工作关系。测试过程中也发现了MM32F3277的数据手册与对应的内部功能方面的问题:对于COMP控制寄存器偏移量描述... 查看详情

测试mm32f3277基本模块功能(代码片段)

#mermaid-svg-qzGbzdxmdGRVUe4t.labelfont-family:\'trebuchetms\',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333#mermaid-svg-qzGbzdxmdGRVUe4t.labeltextfill:#333#mermaid-svg-qzGbzdxmdGRVUe4t.noderect,#mermaid-svg-qzGbzdxmdGRVUe4t.nodecircle,#mermaid-svg-qzGbzdxmdGRVUe4t.nodeel... 查看详情

利用seekfree的核心板调试mm32f3277的isp功能(代码片段)

简介:最终,还是没有能够调通ISP的功能。问题出在哪儿?现在还不得而知。关键词:MM32,ISP#mermaid-svg-9ijY2RKvsoSaoeTF.labelfont-family:\'trebuchetms\',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333#mermaid-svg-9i... 查看详情

mindmotionmm32f3277softi2c功能测试(代码片段)

...时钟的控制没有准备好。关键词:I2C,MM32,MicroPython#mermaid-svg-y1qjjejtzxNZmYTB.labelfont-family:\'trebuchetms\',verdana,arial;font-family:var(--mermaid-font-family);fill:#333;color:#333#mermaid-svg-y1qjjejtzxNZmYTB.labeltextfill:#333#mermaid-svg-y1qjjejtzxNZmYTB.no... 查看详情

在mm32单片机上使用micropython开发智能小车(代码片段)

...让更多非专业人士体会编程快乐。关键词:MM32,MicroPython,OLED01夸下海口▲图1 想当年,第六届智能车竞赛,吃鸡腿  这个男人(MindMotion,苏勇),在10月17在上海一家火锅店边吃饭,边回想当年参加智... 查看详情