【庐山派开发板】之一————python基础和点灯

全文基于嘉立创开发板的手册编写,属于是读后感摘抄内容。

Python语法

注释方法:

#这个是单行注释

'''
这个是多行注释
'''
"""
这个也是多行注释
"""

运算方法:

基本和C语言一致。

字符串格式化

name = "张三"
age = 18
weight = 140.54
message = "我叫%s,今年%d岁,体重%f斤" % (name, age, weight)
print(message)

if语句

Python通过缩进判断代码块的归属关系。在示例中我会尽量使用TAB来进行缩进操作。

if age >= 18:
    print("你的年龄大于等于18岁")
elif age > 10:
    print("你的年龄大于10岁并且小于18岁")
else:
    print("你的年龄小于等于10岁")

while语句

i = 0
while (i < 10):
    print("i = %d" % i)
    i += 1

for语句

 name = "LCKFB"
 x = 0 #注意python是一种动态类型语言,因此不能直接声明x的数据类型,也不能强制说明x的数据类型
for x in name:#这里可以看出python会自动遍历字符串的长度
    print(x)

或者写成

 name = "LCKFB"
 x = 0 #注意python是一种动态类型语言,因此不能直接声明x的数据类型,也不能强制说明x的数据类型
for x in range (5):
    print(x)

这里会打印:0,1,2,3,4,循环5次,每循环一次,会将循环变量的值赋给x。

定义函数

def 函数名(传入参数):
    函数体
    return 返回值

如果不写return则默认返回NONE,视为假。
在函数中可以通过global关键词使局部变量变为全局变量,同C语言中的static。

类和继承

类有点类似于C语言中的结构体和库函数的结合,通俗来说,你既可以通过类来实现数据的传递,也可以通过类来调用函数。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def introduce(self):
        print(f"My name is {self.name}, I am {self.age} years old.")

p1 = Person("Alice", 25)
p1.introduce()  # 输出:My name is Alice, I am 25 years old.

在这里进行了以下操作:

  1. 定义了一个类MyClass
  2. __init__是一个特殊的函数,他会在创建这个类的数据时被自动调用,用来初始化类。
  3. 在类里面创建一个方法,可以通过调用类.方法调用。

点灯!

原理图

在这里插入图片描述
在这里插入图片描述

根据原理图可知,LED分别连着GPIO口62,20,63.且电平为低时,灯亮。

软件部分

跟STM32类似,要实现点灯,主要就是两步:

  1. 初始化GPIO引脚
  2. 设置电平

在K230中,我们有可以这么说:

  1. 创建一个类
  2. 初始化GPIO口
  3. 再创建一个类
  4. 设置高低电平
  5. 通过类调用方法
  6. 实现高低电平。

那对应的函数也就很简单了,如下:

# 立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源
# 开发板官网:www.lckfb.com
# 技术支持常驻论坛,任何技术问题欢迎随时交流学习
# 立创论坛:www.jlc-bbs.com/lckfb
# 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
# 不靠卖板赚钱,以培养中国工程师为己任

from machine import Pin
from machine import FPIOA
import time

# 创建FPIOA对象,用于初始化引脚功能配置
fpioa = FPIOA()

# 设置引脚功能,将指定的引脚配置为普通GPIO功能,
fpioa.set_function(62,FPIOA.GPIO62)
fpioa.set_function(20,FPIOA.GPIO20)
fpioa.set_function(63,FPIOA.GPIO63)

# 实例化Pin62, Pin20, Pin63为输出,分别用于控制红、绿、蓝三个LED灯
LED_R = Pin(62, Pin.OUT, pull=Pin.PULL_NONE, drive=7)  # 红灯
LED_G = Pin(20, Pin.OUT, pull=Pin.PULL_NONE, drive=7)  # 绿灯
LED_B = Pin(63, Pin.OUT, pull=Pin.PULL_NONE, drive=7)  # 蓝灯

# 板载RGB灯是共阳结构,设置引脚为高电平时关闭灯,低电平时点亮灯
# 初始化时先关闭所有LED灯
LED_R.high()  # 关闭红灯
LED_G.high()  # 关闭绿灯
LED_B.high()  # 关闭蓝灯

# 基础点灯试验:选择一个LED灯并让其闪烁
# 默认选择红色LED灯,后续可以通过变量改变需要控制的灯
LED = LED_G  # 当前控制的LED为绿色LED

while True:
    LED.low()   # 点亮当前选择的LED
    time.sleep(0.5)  # 等待0.5秒
    LED.high()  # 熄灭当前选择的LED
    time.sleep(0.5)  # 等待0.5秒from machine import Pin

效果图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值