ESP32使用MicroPython快速开发

    技术2022-07-11  80

    软件准备:uPyCraft_V1.1,ESPFlashDownloadTool_v*.*.*

    固件准备:esp32-idf4-20191220-v1.12.bin

    开发指南:https://www.1zlab.com/wiki/micropython-esp32/

    (以上文件已打包://download.csdn.net/download/qq_38944028/12572726,也可点击链接分别下载)

     

    步骤一:烧录固件

    步骤二:编写python程序(main函数,子函数......)

    步骤三:设置自启动脚本

     

     

    Python基本语句

    一:Print语句:

    1. 输出字符串和数字

    >>>print("runoob")  # 输出字符串

    runoob

    >>> print(100)            # 输出数字

    100

    >>> str = 'runoob'

    >>> print(str)            # 输出变量

    runoob

    >>> L = [1,2,'a']         # 输出列表

    >>> print(L) 

    [1, 2, 'a'] 

    >>> t = (1,2,'a')         # 输出元组

    >>> print(t) 

    (1, 2, 'a') 

    >>> d = {'a':1, 'b':2}    # 输出字典

    >>> print(d) 

    {'a': 1, 'b': 2}

    2. 格式化输出整数

    支持参数格式化,与 C 语言的 printf 类似

    >>>str = "the length of (%s) is %d" %(  'runoob',len('runoob')  )

    >>> print(str)

    the length of (runoob) is 6

              %c  格式化字符及其ASCII码

          %s 格式化字符串

          %d 格式化整数

          %u 格式化无符号整型

          %o 格式化无符号八进制数

          %x 格式化无符号十六进制数

          %X 格式化无符号十六进制数(大写)

          %f 格式化浮点数字,可指定小数点后的精度

          %e 用科学计数法格式化浮点数

          %E 作用同%e,用科学计数法格式化浮点数

          %g %f和%e的简写

          %G %f 和 %E 的简写

          %p 用十六进制数格式化变量的地址

    *  定义宽度或者小数点精度

    -  用做左对齐

    +  在正数前面显示加号( + )

    <sp>    在正数前面显示空格

    #  在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')

    0  显示的数字前面填充'0'而不是默认的空格

    %  '%%'输出一个单一的'%'

    (var)   映射变量(字典参数)

    m.n.    m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    3.格式化输出进制数

    #%x --- hex 十六进制

    #%d --- dec 十进制

    #%o --- oct 八进制

    >>>nHex = 0xFF

    >>> print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))

    nHex = ff,nDec = 255,nOct = 377

    4.格式化输出浮点数(float)

    >>>pi = 3.141592653 

    >>> print('.3f' % pi) #字段宽10,精度3 

         3.142 

    >>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度 

    pi = 3.142 

    >>> print('0.3f' % pi) #用0填充空白 

    000003.142 

    >>> print('%-10.3f' % pi) #左对齐 

    3.142      

    >>> print('%+f' % pi) #显示正负号 

    +3.141593

    5. 换行

    print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 , 并设置分隔符参数 end,就可以改变它的行为。

    >>>for i in range(0,6):

    ...     print(i)

    ...

    0

    1

    2

    3

    4

    5

    >>> for i in range(0,6):

    ...     print(i, end=" ")

    ...

    0 1 2 3 4 5

     

    二:range语句(start,end,step)(注意此处i分别为4,5,6,7;即到end-1)

    for i in range(4,8,1):

      led = Pin(led_data[i], Pin.OUT)

      led.value(1)

      utime.sleep_ms(300)

     

    三:if语句

      if i == 2:

        led.value(1)

      else:

    led.value(0)

    四:运算符

    +     加 - 两个对象相加     a + b 输出结果 30

    -     减 - 得到负数或是一个数减去另一个数  a - b 输出结果 -10

    *      乘 - 两个数相乘或是返回一个被重复若干次的字符串  a * b 输出结果 200

    /      除 - x除以y b / a 输出结果 2

    %     取模 - 返回除法的余数     b % a 输出结果 0

    **    幂 - 返回x的y次幂   a**b 为10的20次方, 输出结果 100000000000000000000

    //     取整除 - 返回商的整数部分(向下取整)     >>> 9//2   4   >>> -9//2  -5

    五:子函数

    def func3(a,b):                 # 需传两个参数

      print("a+b = %d" %(a+b))    # print表达式,

      return(a+b)

     

    func3(3,4)    #调用函数

     

     

    六:调用自己的py子函数

    from front import *

    Front.output()     #Front为一个类,output()为类里面的一个函数

    Front.front_light(100)

    七:编写类

    class Front:

        def output():

          print("hello")

       

        def front_light(delay_ms,):   

          led_data = [2,4,5,18,19,21,22,23]  #数据口

          led_ctl = [12,13,14]               #锁存器使能端

     

          #初始化********************************

          for i in range(3):

            Pin(led_ctl[i], Pin.OUT).value(1) 

          for i in range(8):

            Pin(led_data[i], Pin.OUT).value(0)

           

    Processed: 0.011, SQL: 9