EPIT、GPT、UART

Enhanced Periodic Interrupt Timer (EPIT)

image-1740285528797

此部分结构较为简单,直接查看imx6ull参考手册即可,不做过多解释,只需要注意下图的操作顺序即可

image-1740286562306

General Purpose Timer (GPT)

image-1740297626198

  • 两种工作模式
    image-1740298159573

  • 两路输入比较

  • 三路输出捕获

UART

UARTx_UCR1寄存器

位名称 功能 配置值
UARTEN 总使能 1
ADBR 自动检测波特率使能 0

image-1740305048617

UARTx_UCR2寄存器

位名称 功能 配置值
SRST 软件复位 0
RXEN 接收使能 1
TXEN 发送使能 1
WS 设置数据位长度 1
STPB 停止位 0
PREN 校验使能 0
IRTS 忽略rts引脚 1

image-1740305316147

UARTx_UCR3寄存器

位名称 功能 配置值
RXDMUXSEL 必须位1 1

UARTx_UFCR

位名称 功能 配置值
RFDIV 时钟分频 -

注:配置CSCDR1[UART_CLK_SEL]为0,CSCDR1[UART_CLK_PODF]为1分频,选择PLL3 / 6 = 80Mhz时钟
image-1740305841125

配置波特率 UARTx_UBRC、UARTx_UBIR

image-1740306062213

  • 这里有个坑 特别注意下

image-1740311765329

UARTx_USR2

位名称 功能 配置值
RDR 为1接受完成 -
TXDC 为1发送完成 -

其他

  • 编译选项-fno-builtin去除putc和getc函数的多定义问题
  • c语言编译选项添加-Wa,-mimplicit-it=thumb可支持除法运算