火龙果评测三 MicroPython上手初体验
Posted DO_Tonight
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了火龙果评测三 MicroPython上手初体验相关的知识,希望对你有一定的参考价值。
评测三 MicroPython上手初体验
安装Thonny
-
我安装的是官网的最新版4.0.1版本,跟文档中的界面有些许不同,不过完全看得懂文档中的配置。所以配置方法我不再阐述
-
配置完成后界面如下
根据提示,是可以判定配置成功的,至于上方出现的两个WARNING,暂时不考虑
运行频闪灯
- 根据文档中提示的操作,我们是可以正常让开发板上的LED闪烁的。我这里对这个程序做一个简单的介绍
MicroPython的基本知识
- 这里我就不重复文档中的教学内容了,重点标红一下“文件操作”,这节可以仔细看看
MicroPython 硬件实验
5.1 点亮LED
- 略
5.2 闪烁LED
- 略
5.3 读取按键
- 略
5.4 自动运行
- 已经测试完毕,确认512MB的TF卡是无法识别的,用了8GB的内存卡可以识别,32GB的也无法识别
5.5 PWM呼吸灯
- 有关PWM的设置就是一句函数,引脚和频率不用说,直接设置,占空比要注意一下,他的占空比指的是低电平的占空比,另外他的范围是0~1000,比如说你想设置60%的占空比就直接写入 600 1000 \\frac 600 1000 1000600 = 60%即可
5.6 *定时器
-
MicroPython只提供两个定时器,TIM6和TIM7,挂载在APB1总线上,最大频率是120MHZ,按照历程来写就行,唯一要注意的是,def定义的回调函数放在定时器Timer的前面就可以,否则会报错。
-
测试的时候遇到两个问题:
-
''' * @文件: timer.py * @作者: 百问网开发团队 * @功能: 使用火龙果(Pitaya Lite)开发板的定时器实现LED闪烁和打印 * @版本: 0.1 * @日期: 2022-06-20 * @Copyright (c) 2022 深圳百问网科技有限公司 ''' from machine import Pin from machine import Timer led = Pin('PA0', mode=Pin.OUT_PUSHPULL) # 定义一个函数,供定时器回调使用 def t0_callback(self): led(1-led()) print(led()) # 构造timer对象,参数分别为:定时器id、定时器模式、定时器周期、回调函数 t0 = Timer(0, mode=Timer.PERIODIC, period=1000, callback=t0_callback) # 之后无需做任何操作,定时器到了设定的时间,则会调用回调函数 while True: pass
这是原例程代码,实验现象应该是每隔一秒钟LED灯闪烁一次,但是逻辑分析仪测得的是500ms电平变换一次。这个问题已经反馈给百问网,等待做出修改
-
''' * @作者: Do_Tonight * @日期: 2022-09-30 * @功能: 测试定时器的单次定时功能 ''' import time from machine import Timer, Pin led = Pin('PA1', mode=Pin.OUT_PUSHPULL, value = 1) key = Pin('PA0', mode=Pin.IN_PULLUP) def Timer_Callback(void): led(0) while True: if key.value() == 0: timer = Timer(0, mode=Timer.ONE_SHOT, period=1000, callback=Timer_Callback) break;
定时器的一次性定时,按照我代码的逻辑来说,应该是,LED灯初始是熄灭的,只要我按下按键,那么LED在1S后会点亮,并且之后一直保持常亮。然而实验效果却是,我按下按键,LED灯立马点亮,并保持常亮。这个问题已经反馈给百问网,等待做出修改
-
5.7 ADC
- 正常测试
5.8 DAC
- 按照例程正常测试,没有出现问题
5.9 UART通信
- MicroPython固件支持UART0、UART1、UART2和UART5,其中UART0用作REPL的交互,不可以使用
- 串口都是可以正常使用的,不过这里的串口接收采用的循环检测的方法,要注意一点:如果单片机接收到数据,必须使用一次读函数来使得uart.any()的返回值清0
5.10 软件IIC通信
- 注意:该MicroPyhton固件没有移植硬件IIC的接口,只能使用软件IIC
- 由于没有购买配套的模块,暂不测试
5.11 硬件SPI通信
- 由于没有购买配套的模块,暂不测试
5.12 软件SPI通信
- 由于没有购买配套的模块,暂不测试
固件没有移植硬件IIC的接口,只能使用软件IIC - 由于没有购买配套的模块,暂不测试
5.11 硬件SPI通信
- 由于没有购买配套的模块,暂不测试
5.12 软件SPI通信
- 由于没有购买配套的模块,暂不测试
以上是关于火龙果评测三 MicroPython上手初体验的主要内容,如果未能解决你的问题,请参考以下文章