N13 定时器GPT1、串口UART

一、C语言

DNS(Domain Name System,域名系统) 是互联网的核心基础设施,负责将人类易记的域名 (如 www.baidu.com)转换为计算机能识别的 IP 地址 (如 180.101.49.12),从而实现网络通信。

关键字:

inline = 内联 意思是:告诉编译器,把这个函数的代码直接 "展开" 到调用的地方,不进行函数调用。

就像把一段代码复制粘贴过去,而不是跳过去执行。

二、GPT1

GPT1 = 第一个通用定时器 i.MX6ULL 有 GPT1、GPT2、GPT3 三个定时器,功能完全一样,只是硬件通道、引脚、中断号不同

你现在学的就是 GPT1

  1. GPT1 核心功能

  2. 32 位计数器 → 做精准延时

  3. 输出比较(3 通道) → 生成 PWM

  4. 输入捕获(2 通道) → 测脉冲、频率

  5. 溢出中断 → 定时任务

  6. SWR 软件复位 → 初始化用

  1. GPT1 最常用用途

① 做延时(最常用)

  • 配置分频 → 计数器开始数数

  • 循环等待计数到目标 → 延时完成

  • 精准 us/ms 级延时

② 输出 PWM

  • 比较器匹配 → 电平翻转

  • 调节比较值 = 调节占空比

③ 定时中断

  • 计数器溢出 → 触发中断

  • 用来做周期性任务

三、UART

串行:单方向数据线1根

并行:单方向数据线>=2根

同步通信:通信双方使用同一时钟信号(同步信号)

异步通信:通信双方无同步信号

核心通信要素:先传低位
  • 起始信号:通信的 "开场白",通常是电平从高→低(或低→高)的跳变,告诉接收方 "数据要来了"。
  • 停止信号:通信的 "结束语",通常是电平恢复到空闲状态(一般为高电平),标志一帧数据传输结束。
  • 通信速率 :单位时间内传输的比特数(如 9600bps、115200bps),由位时间决定(你可以用 GPT 定时器精准控制高低电平持续时间)。
  • 信息表现形式 :约定高电平 (H) 代表逻辑 1,低电平 (L) 代表逻辑 0,这是数字通信最基础的编码方式。
起始信号
  • 定义 :数据线由高电平 → 低电平的跳变,是通信的 "唤醒信号",1个bit高电平。
  • 作用:告诉接收方 "数据即将开始传输,准备同步采样"。
  • 注意 :这段低电平是同步握手信号 ,不携带数据信息,所以不采样

**停止信号:**数据线由低到高(如果数据先是高则继续保持)

------目的为了让数据线保持空闲时为高电平

**停止位:**停止信号后的1~2bit的高电平

**数据位:**5-8位(90+%),

**波特率:**单位时间(1s)可以传输的码元数,uart中码元数是1,即单位时间传输的bit数。

奇偶校验 = 给数据加一位校验位,用来检查传输过程中有没有出错。

DMA(直接内存访问)

  • **Peripheral Bus(外设总线)**CPU 与 UART 之间的通信通道,用于读写寄存器、配置模块、传输数据。
  • **Peripheral Bus Interface(外设总线接口)**桥接外设总线与 UART 内部逻辑,完成数据 / 地址的同步、转换和缓冲。
  • **Interrupt & DMA Requests(中断与 DMA 请求)**向 CPU 发送中断信号(如 "接收 FIFO 满""发送完成""帧错误")或 DMA 请求,实现高效数据传输,避免 CPU 轮询。
  • Peripheral Clock(外设时钟) 为总线接口、中断等模块提供时钟,由 Clock Gating 控制开关,不用时关闭以降低功耗。
  • Module Clock(模块时钟) UART 核心功能的时钟源,先进入 Clock Gating & Divider 进行分频,生成 ref_clk(参考时钟)。
  • BRM(波特率发生器) 接收 ref_clk,生成精确的波特率时钟 brm_clk,控制收发数据的速率(即波特率)。
相关推荐
Lucis__7 小时前
一文读懂TCP通信机制:基于相关API构建可靠性连接
linux·网络·tcp/ip
你的保护色8 小时前
ensp 路由器启动失败 解决方案
网络
鹿鸣天涯8 小时前
Xftp传输文件时,解决“无法显示远程文件夹”方法
运维·服务器·计算机
2501_913061349 小时前
网络原理知识
java·网络
unDl IONA9 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
Web极客码9 小时前
WordPress管理员角色详解及注意事项
运维·服务器·wordpress
geinvse_seg10 小时前
中小团队如何低成本搭建项目管理系统?基于 Ubuntu 的 Dootask 私有化部署实战
linux·运维·ubuntu
星辰徐哥10 小时前
鸿蒙金融理财全栈项目——上线与运维、用户反馈、持续迭代优化
运维·金融·harmonyos
CSCN新手听安10 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
丶伯爵式10 小时前
Ubuntu 24.04 更换国内软件源指南 | 2026年3月26日
linux·运维·ubuntu·国内源·升级