3D打印:点灯

[myled]
pin:mcu:PE4
pin_statue:0

class error(Exception):
    pass

class MyLED:
    def __init__(self, config):
        self.printer = config.get_printer()
        ppins = self.printer.lookup_object('pins')
        pin_params = ppins.lookup_pin(config.get('pin'))
        self.mcu = pin_params['chip']
        self.oid = self.mcu.create_oid()
        self.pin = pin_params['pin']	#获取引脚
        self.mcu.register_config_callback(self.build_config)
        self.pin_statue = config.getint('pin_statue',0) #获取pin_statue的值,当pin_statue没有在配置文件出现时,默认设置为0
        if self.pin_statue != 0 and self.pin_statue != 1: #保证pin_statue为0或1
            raise error("pin_statue must be 0 or 1 .now is:%d"%(self.pin_statue))

    def build_config(self):
        # 为给定的GPIO'pin'创建一个内部微控制器对象。该引脚将被配置为数字输出模式,并被设置为'value'指定的初始值(0为低,1为高)
        # max_duration 参数用于实现安全检查,max_duration是16000,那么如果主机将gpio设置为1,它必须在16000个时钟刻度内刷新gpio引脚的输出(为0或1)
        self.mcu.add_config_cmd("config_digital_out oid=%d pin=%s value=%d default_value=%d" % (self.oid, self.pin, self.pin_statue, 0))
        # self.mcu.add_config_cmd("config_digital_out oid=%d pin=%s value=%d default_value=%d max_duration=%d" % (self.oid, self.pin, self.pin_statue, 0, 10000))
    
        # config_analog_in oid=%c pin=%u:该命令用于将一个引脚配置为模拟输入采样模式。一旦配置完成,就可以使用query_analog_in命令(见下文)以固定的时间间隔对该引脚进行采样。

def load_config(config):
    return MyLED(config)

def load_config_prefix(config):
    return MyLED(config)
STM32和迪文串口屏是两个常用的电子元器件,在实际应用中它们通常需要进行通信。本篇文章将简要介绍如何通过串口通信控制STM32来实现点灯和温度显示的功能。 首先,我们需要了解一下串口通信的相关知识。串口通信是一种数据传输方式,在单片机中通常使用USART或UART模块实现。串口通信的特点是传输速率比较慢,但可靠性较高。串口通信需要发送和接收两个端口分别连接到发送和接收设备上。 在使用STM32和迪文串口屏进行通信之前,我们需要先准备好相关的硬件设备和软件环境。硬件方面,我们需要一块基于STM32的开发板和一块迪文串口屏。软件方面,我们需要安装Keil MDK软件和相应的程序库,并进行相应的程序编写和调试。 具体实现的步骤如下: 1、在Keil MDK中创建工程,并添加相应的程序库和头文件。 2、编写程序代码,实现串口通信功能,包括串口初始化、发送和接收数据等操作。 3、连接迪文串口屏,通过串口发送相应的命令,控制迪文串口屏进行相应的操作,如点灯和温度显示等。 4、调试程序,并进行相应的优化和改进。 通过以上步骤,就可以实现STM32与迪文串口屏的通信,从而实现点灯和温度显示的功能。需要注意的是,在实际应用中,需要根据具体的需求对通信协议进行相应的设计和实现。同时,由于串口通信有一定的延迟和传输误差,需要进行相应的优化和调试,以保证通信的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值