您现在的位置是:首页 > 正文

【火龙果】评测三 MicroPython上手初体验

2024-02-01 03:20:46阅读 3

评测三 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通信

  • 由于没有购买配套的模块,暂不测试

网站文章

  • Android 属性动画原理解析

    Android 属性动画原理解析

    目录 属性动画简介 什么是属性动画 属性动画的基本模型 android 属性动画使用示例 ValueAnimator ObjectAnimator ViewPropertyAnimator 属性动画的...

    2024-02-01 03:20:39
  • 阿里云在线温湿度-小熊派qpython(综合展示)

    阿里云在线温湿度-小熊派qpython(综合展示)

    需要用到的东西:小熊派的ec100y开发板;i2c的温湿度传感器(我这里用的sht31,其他的也可以,自行修改代码);阿里云账号;接线:用到3.3v,GND,i2c的SCL和SDA阿里云显示展示:ap...

    2024-02-01 03:20:31
  • 模拟post发送,收到的数据乱码 且已设置utf-8标准编码

    模拟post发送,收到的数据乱码 且已设置utf-8标准编码

    模拟Post发送乱码

    2024-02-01 03:19:59
  • Spring知识篇2:Spring Frame框架的基本知识

    Spring知识篇2:Spring Frame框架的基本知识

    本文主要介绍Spring Frame需要掌握的知识

    2024-02-01 03:19:53
  • 微服务之间调用(consul)

    1.首先确定是不是在同一注册中心。 2.确实微服务名唯一,不然可能会调到其他微服务中,导致错误。 3.引入二个包 RestTemplate 和 DiscoveryClient 。 4.通过获取注册提供...

    2024-02-01 03:19:47
  • 【UnityShader】光线追踪体积光

    【UnityShader】光线追踪体积光

    最近尝试实现了一下光线追踪体积光,效果如下: 光线追踪(Ray tracing)是三维计算机图形学中的特殊渲染算法,跟踪从眼睛发出的光线而不是光源发出的光线,通过这样一项技术生成编排好的场景的数学模型显现出来。(摘自维基百科) 实现步骤: 一、在灯光区域生成体积光的载体mesh,即我们的体积光实际上是渲染在mesh上的,因此光线追踪的起点是每个顶点的位

    2024-02-01 03:19:39
  • MongoDB图形化工具下载和使用

    MongoDB图形化工具下载和使用

    MongoDB图形化工具下载和使用。

    2024-02-01 03:19:09
  • RabbitMQ:RabbitMQ + Spring配置文件rabbit标签

    RabbitMQ:RabbitMQ + Spring配置文件rabbit标签1.消费者配置文件和启动类: 【Consumer.xml】:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi...

    2024-02-01 03:19:04
  • 3.1 TensorFlow计算模型 --- 计算图

      TensorFlow程序一般可以分为两个阶段。在第一个阶段需要定义计算图中的所有的计算。第二个阶段为执行计算。   在TensorFlow程序中,系统会自动维护一个默认的计算图,通过tf.get_default_graph函数可以获取当前默认的计算图。   除去使用默认的计算图,TensorFlow支持通过tf.Graph函数生成新的计算图。不同计算图上的张量和运算都不...

    2024-02-01 03:18:47
  • 阿里云数据库白名单导致的数据库链接不上问题

    百度搜索 IP 获取外网IP。修改白名单

    2024-02-01 03:18:17