查看: 77|回复: 0

[在线活动] 2025 AI训练营——串口使用

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

    连续签到: 27 天

    [LV.10]以坛为家III

    39

    主题

    2万

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    17253
    最后登录
    2026-2-5
    发表于 2026-1-2 22:57:41 | 显示全部楼层 |阅读模式
    Snipaste_2026-01-02_22-56-33.png
    # 模拟NXP RT2021串口通信实现
    import time

    # 系统配置参数
    SYSTEM_CLOCK = 24000000  # 24MHz系统时钟
    UART_INSTANCE = 0        # 使用UART0
    BAUD_RATE = 115200       # 115200波特率
    DATA_BITS = 8            # 8位数据位
    STOP_BITS = 1            # 1位停止位
    PARITY = 'None'          # 无校验

    # 模拟硬件寄存器结构
    class UART_Type:
        def __init__(self):
            self.CTRL = 0
            self.STAT = 0
            self.DATA = 0
            self.BAUD = 0

    # 全局硬件实例
    UART0 = UART_Type()

    def BOARD_UART_Init():
        """初始化UART配置"""
        # 配置波特率(115200)
        UART0.BAUD = (SYSTEM_CLOCK // BAUD_RATE) - 1

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

        # 使能UART模块
        UART0.CTRL |= (1 << 0)

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

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

        # 写入数据到DATA寄存器
        base.DATA = data

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

    def UART_SendString(base, s):
        """发送字符串"""
        for char in s:
            UART_WriteByte(base, ord(char))

    def main():
        """主程序"""
        # 模拟系统初始化
        print("系统初始化完成")

        # 初始化UART
        BOARD_UART_Init()
        print("UART初始化完成,波特率115200 8N1")

        while True:
            # 发送"Hello world"
            UART_SendString(UART0, "Hello world\r\n")
            print("发送完成:Hello world")

            # 延时1秒
            time.sleep(1)

    # 执行主程序
    if __name__ == "__main__":
        main()

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

    使用道具 举报

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

    本版积分规则

    关闭

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

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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