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

卓晴 2021-10-27 21:23:14
调试 mm 移植 来自于 mm32f3277

 

§01 发板信息


天(2021-10-27)收到逐飞公司发送过来的移植有MicroPython开发板。

一、基本信息

1、电路板

开发板的正面图片与反面见封面图片以及下面图片。

▲ 图1.1.1 电路板的背面

▲ 图1.1.1 电路板的背面

2、示例程序

(1)下载地址

(2)示例程序文件

  • CCD.py
  • ENCODER.py
  • GPIO.py
  • LCD180.py
  • main.py
  • MicroPython驱动层接口定义.xlsx
  • PWM.py
  • SERVO.py
  • TIMER.py
  • UART.py
  • ADC.py

3、MicroPython驱动层接口定义

本版本所有模块都归纳在seekfree模块下,需要先import seekfree才能通过seekfree.的方式调用,或者使用 from seekfree import 。且本版本并不作为最终版本发布 最终版本与灵动方协商推出 可能最终接口名与形式并不与本版本兼容。

本演示固件仅实现读取SD卡中main.py文件执行功能,暂不支持自动或代码打开其他文件。本演示固件并不与最终支持大赛固件接口相同,仅为演示功能完整性与可实施性。本演示固件暂有许多局限性,受限于时间烦请查看附带的演示例程,其中各个模块可通过 .help() 查看说明。

可通过核心板下载接口的串口进行的REPL调试,使用循环时请务必设置退出条件,否则将无法执行新的Python语句,需要重启单片机。使用舵机时请务必使用电源T头供电,红色正极,黑色负极,供电电压推荐8V。可用接口为舵机接口、ADC、电机接口PWM、编码器接口、CCD接口、屏幕TFT1.8、主板右下方(有来标识)串口、按键等。

▲ 图1.1.2 芯片外设模块接口

▲ 图1.1.2 芯片外设模块接口

二、上电测试

1、电源接口

在地板一段具有电源接入引线,可以施加2C,3C锂电池。通过开关可以控制电源通断。开关旁边有 SPX2940 5V稳压电源。 SPX2940为低压差([email protected]输出电流)稳压电源。

在SPX2940前有一个肖特基防止反接二极管。

电源部分:
接入电压:7V
SPX2940输入:6.68V
SPX2940输出:5.025V

▲ 图1.2.1 在电源线引入电源

▲ 图1.2.1 在电源线引入电源

测量输入电压与SPX2940输出电压曲线,如下图所示。可以看到如果输入电压超过5.4V,电路便可以正常工作了。

▲ 图1.2.2 输入电压与SPX2940输出电压

▲ 图1.2.2 输入电压与SPX2940输出电压

from headm import *
from tsmodule.tsvisa import *
from tsmodule.tsstm32 import *
inv = linspace(0, 7, 50)
outv = []
for v in inv:
dh1766volt(v)
time.sleep(1.5)
meter = meterval()
outv.append(meter[1])
printff(v, meter[1])
tspsave('power', inv=inv, outv=outv)
plt.plot(inv, outv)
plt.xlabel("Input(V)")
plt.ylabel("Output(V)")
plt.grid(True)
plt.tight_layout()
plt.show()

2、测量TX输出

测量电路板上面的下载程序口TX在上电后的输出波形。这个信息应该是MicroPython REPL在上电后的输出信号。

▲ 图1.2.3 测量下载板上的TX输出波形

▲ 图1.2.3 测量下载板上的TX输出波形

可以看到在TX 上电后输出脉冲波形。

▲ 图1.2.4 测量TX在上电后输出波形

▲ 图1.2.4 测量TX在上电后输出波形

展开输出波形可以大体看到输出波形的波特率在115200。

▲ 图1.2.5 展开输出波形可以大体看到输出波形的波特率在115200

▲ 图1.2.5 展开输出波形可以大体看到输出波形的波特率在115200

3、制作Thonny调试接口

ESP32-S模块转接板设计与实现 定义了ESP32调试接口定义。 可以看到其中对应的 GND-RXD0,TXD0的顺序与MM32调试接口的TXD,RXD的顺序相反。需要通过一个转接头,对TXD-RXD进行交替。

▲ 图1.2.6 ESP32调试接口定义

▲ 图1.2.6 ESP32调试接口定义

如下是制作的由ESP32调试接口道MM32核心板3PIN连接线。它将RX-TX对调。

▲ 图1.2.7 制作专用调试接口

▲ 图1.2.7 制作专用调试接口

4、Thonny调试

设置Thonny中Option的Interpreter选项,设置为CH340对应的调试接口。

▲ 图1.2.8 Thonny 的Option中的Interpreter的选项设置

▲ 图1.2.8 Thonny 的Option中的Interpreter的选项设置

上电后,可以看到Thonny接收到 MM32发送出的信息。

Found and execute /sd/main.py!
Set callback function success.

▲ 图1.2.9 Thonny调试界面

▲ 图1.2.9 Thonny调试界面

但是直接在Thonny内部输入命令,MM32并没有回应。

通过示波器直接查看串口调试接口的波形,可以看到它的输出幅值只有2V左右。与正常的串口通信幅值相差很大。

▲ 图1.2.10 编程接口RX波形

▲ 图1.2.10 编程接口RX波形

解决方法: 在MM32的开发板上使用1k欧姆连接RX至 3.3V。

▲ 图1.2.11 在RX,3.3V之间焊接1kΩ上拉电阻

▲ 图1.2.11 在RX,3.3V之间焊接1kΩ上拉电阻

焊接上拉电阻之后,可以看到在Thonny输入回车之后,发送的RX信号变得正常了。

▲ 图1.2.12 改善后的RX波形

▲ 图1.2.12 改善后的RX波形

但是仍然MM32没有REPL回应。

现在存在的问题:MM32没有能够进行REPL响应。

5、去除SD卡中的程序

根据 TX返回的信息,看到上电后的主板应该是执行了SD卡中的 main.py程序。需要将该程序去除,让MicroPython 返回到REPL状态。

▲ 图1.2.13 使用SD卡读写器去除SD卡中的程序

▲ 图1.2.13 使用SD卡读写器去除SD卡中的程序

(1)SD卡中的文件

可以看到 SD卡中的文件

▲ 图1.2.14 SD卡中的文件

▲ 图1.2.14 SD卡中的文件

(2)说明文件内容

MM32F3270系列单片机MicroPython固件使用说明

1、本演示固件仅实现读取SD卡中main.py文件执行功能,暂不支持自动或代码打开其他文件;

2、本演示固件并不与最终支持大赛固件接口相同,仅为演示功能完整性与可实施性;

3、本演示固件暂有许多局限性,受限于时间烦请查看附带的演示例程,其中各个模块可通过 .help() 查看说明

4、可通过核心板下载接口的串口进行的REPL调试,使用循环时请务必设置退出条件,否则将无法执行新的Python语句,需要重启单片机

5、使用舵机时请务必使用电源T头供电,红色正极,黑色负极,供电电压推荐8V

6、可用接口为舵机接口、ADC、电机接口PWM、编码器接口、CCD接口、屏幕TFT1.8、主板右下方(有来标识)串口、按键等

(3)移除SD卡之后

将SD卡移除,或者将其中的main.py删除之后,重新上电。Thonny平台出现以下问题:

▲ 图1.2.15 连接Thonny之后出现的问题

▲ 图1.2.15 连接Thonny之后出现的问题

利用STM32BL打开 COM8进行调试,可以看到在上电之后,MM32 MicroPython 给出:

▲ 图1.2.16 STM32BL 接收到MM32发送的信息

▲ 图1.2.16 STM32BL 接收到MM32发送的信息

※ 错误:现在无法确定,MM32现在的MicroPython是否能够支持REPL!

三、问题解决

1、使用STM32进行交互

重新编写STM32BL,使其在ECHO设置为:Return情况下,可以发送CTRL+B信息,这样便可以在上面的MicroPython粘贴状态下返回REPL交互模式。

▲ 图1.3.1 可以实现简单的交互开发

▲ 图1.3.1 可以实现简单的交互开发

上面的交互开发模式仍然无法使用Thonny环境完成程序交互式开发。


■ 相关文献链接:

● 相关图表链接:

版权声明
本文为[卓晴]所创,转载请带上原文链接,感谢
https://blog.csdn.net/zhuoqingjoking97298/article/details/120997254

  1. python的site-packages复制直接到其他电脑环境上能用吗
  2. Pycharm如何给项目配置python解释器
  3. conda创建python虚拟环境
  4. Python selenium的爬虫无法完整爬取整个页面的内容
  5. 高清版!这18张 Python 数据科学速查表,让你的代码变得更强大!
  6. python代码不会敲,请好心老哥帮助我一下
  7. Python敲七输出符合的个数
  8. Python 有人能给提供简单的思路嘛
  9. python单次运行写入csv成功,循环写入失败
  10. python利用os模块进行增量备份
  11. 【算法学习】807. 保持城市天际线(java / c / c++ / python / go / rust)
  12. 如何利用python输出等腰杨辉三角
  13. python按键执行倒计时小程序不能实现要求,要怎么改才好?
  14. Python request模块post请求的问题
  15. Django连接已有Oracle时的主键设置问题,没主键无法查询怎么办?
  16. 如何用python的dictionary编写一个联系人通讯录程序
  17. 如果Python里range反向输出,不输出步长会怎么样?
  18. 一个关于Python pip的问题: 出现Cannot open \python\Scripts\pip-script.py报错
  19. 富婆闺蜜非让我用Python给她写个淘宝双十一抢购脚本,那只能安排了
  20. 【全网最全】python正则表达式大全,所有讲解都在这,包教包会,学不会找我!
  21. AI python课和 python课都是198 这两个课是同一个课程内容吗?有什么区别和相似点?
  22. python的__new__()疑问
  23. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  24. python怎么实现动态障碍物按固定路径行走
  25. Python代码阅读(第24篇):根据筛选函数将列表元素分成两组
  26. Python题目,希望帮我解答一下辛苦
  27. python +selenium 如何获取下拉列表,默认选中值
  28. 有个pb文件做好的模型,对此模型的操作想用python封装成api,怎么做?
  29. 请问,mac的Pycharm中新建项目时候的Base interpreter选项里有两个Python3.8,该选哪个?
  30. python如何读取指定文件名的excel并分别汇总
  31. 如何写利用python将fastq文件转换成fasta文件的脚本
  32. python小工具
  33. 新猿0基础python教程 如何写好接口文档
  34. 请问我哪里错了呀,数值计算,python运算符号出错,但是我看不出来
  35. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(2)
  36. Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤
  37. Python游戏开发,Pygame模块,Python从零开始带大家实现一个魔塔小游戏(3)
  38. 大神们这个问题用python怎么解决啊
  39. 简单理解python装饰器
  40. 货物托运收费问题用python 求解 一直输出错误
  41. 使用 Python 实现的卷积神经网络初学者指南
  42. 为什么Python中调用模块传递列表报错,而直接模块内调用列表就不会报错。
  43. 可视化 Python 打包 exe,这个神器绝了!
  44. 如此高效!数据科学中这4款 Python 神器真的很棒!
  45. 用 Python 开发交互式 Web 应用,So Easy
  46. Python多分类问题pr曲线绘制(含代码)
  47. 80 行 Python 代码搞定全国区划代码
  48. 有包含一阶贝塞尔函数的Python库吗
  49. Python输出乘法口诀表中的2d是什么意思
  50. Python 爬虫goole图片 使用selenium+chromedriver 出错DevToolsActivePort file doesn't exist
  51. python怎么做,我不会做,别走,留下代码!
  52. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  53. MySQL备份之xtrabackup(Python)
  54. (数据科学学习手札129)geopandas 0.10版本重要新特性一览
  55. Python:枚举列表中所有元素的可能组合
  56. 编写python 程序 人的心跳频率与温度的关系 计算人的累记心跳次数
  57. python相关,请问这张图里代码c for c in coinValueList if c<=change是什么意思
  58. Python中的分段函数问题求解
  59. Python中的递归求年龄问题
  60. python如何求出多个股票的移动均价