查看: 63|回复: 0

[在线活动] 2025 AI训练营——通过python操作串口

[复制链接]
  • TA的每日心情
    开心
    19 分钟前
  • 签到天数: 1315 天

    连续签到: 27 天

    [LV.10]以坛为家III

    39

    主题

    2万

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    17253
    最后登录
    2026-2-5
    发表于 2026-1-2 23:02:46 | 显示全部楼层 |阅读模式
    Snipaste_2026-01-02_23-00-06.png Snipaste_2026-01-02_23-00-35.png Snipaste_2026-01-02_23-00-54.png
    import time

    class RT2021_UART:
        def __init__(self, instance=0, clock=24000000):
            self.instance = instance
            self.clock = clock
            self.CTRL = 0
            self.STAT = 0
            self.DATA = 0
            self.BAUD = 0

        def init(self, baud=115200):
            """初始化UART配置"""
            # 配置波特率
            self.BAUD = (self.clock // baud) - 1

            # 配置数据格式:8数据位,1停止位,无校验
            self.CTRL = (8 << 8) | (1 << 12)

            # 使能UART模块
            self.CTRL |= 1 << 0

            # 清除状态标志
            self.STAT = 0xFFFF

        def write_byte(self, data):
            """发送单个字节"""
            # 等待发送就绪
            while not (self.STAT & (1 << 1)):
                pass

            # 写入数据
            self.DATA = data

            # 等待发送完成
            while not (self.STAT & (1 << 2)):
                pass

        def send_string(self, s):
            """发送字符串"""
            for char in s:
                self.write_byte(ord(char))

    def main():
        # 创建UART实例
        uart = RT2021_UART()

        # 初始化UART
        uart.init()
        print("UART初始化完成,配置参数:115200 8N1")

        while True:
            # 发送"Hello world"
            uart.send_string("Hello world\r\n")
            print("发送完成:Hello world")

            # 延时1秒
            time.sleep(1)

    if __name__ == "__main__":
        main()

    哎...今天够累的,签到来了~
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2026-2-5 00:27 , Processed in 0.079594 second(s), 20 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表