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,控制收发数据的速率(即波特率)。
相关推荐
雪落漂泊7 分钟前
Linux进程(五):进程地址空间篇
linux·运维·服务器
瑞克-桑切斯18 分钟前
docker mail商城
运维·docker·容器
QXWZ_IA1 小时前
定位数据怎么推给 IoT 平台?消息协议选型与接入准备
网络·人工智能·物联网·安全
AR-26710-1 小时前
Linux Day32——网络,ROCE-IB与以太网
linux·运维
不庸.2 小时前
WPScan 实战入门:从 Docker 靶场到弱密码爆破
运维·安全·web安全·docker·容器·安全性测试·wpscan
wdeok2 小时前
Socket编程Tcp
服务器·网络·tcp
千舟软件2 小时前
报修系统对接企业微信和钉钉的3种方式_千舟报修云
服务器·钉钉·企业微信
Decay__3 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Decay__12 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
java_logo14 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器