EPIT、GPT、UART
Enhanced Periodic Interrupt Timer (EPIT)
此部分结构较为简单,直接查看imx6ull参考手册即可,不做过多解释,只需要注意下图的操作顺序即可
General Purpose Timer (GPT)
两种工作模式
两路输入比较
三路输出捕获
UART
UARTx_UCR1寄存器
位名称 | 功能 | 配置值 |
---|---|---|
UARTEN | 总使能 | 1 |
ADBR | 自动检测波特率使能 | 0 |
UARTx_UCR2寄存器
位名称 | 功能 | 配置值 |
---|---|---|
SRST | 软件复位 | 0 |
RXEN | 接收使能 | 1 |
TXEN | 发送使能 | 1 |
WS | 设置数据位长度 | 1 |
STPB | 停止位 | 0 |
PREN | 校验使能 | 0 |
IRTS | 忽略rts引脚 | 1 |
UARTx_UCR3寄存器
位名称 | 功能 | 配置值 |
---|---|---|
RXDMUXSEL | 必须位1 | 1 |
UARTx_UFCR
位名称 | 功能 | 配置值 |
---|---|---|
RFDIV | 时钟分频 | - |
注:配置CSCDR1[UART_CLK_SEL]为0,CSCDR1[UART_CLK_PODF]为1分频,选择PLL3 / 6 = 80Mhz时钟
配置波特率 UARTx_UBRC、UARTx_UBIR
- 这里有个坑 特别注意下
UARTx_USR2
位名称 | 功能 | 配置值 |
---|---|---|
RDR | 为1接受完成 | - |
TXDC | 为1发送完成 | - |
其他
- 编译选项-fno-builtin去除putc和getc函数的多定义问题
- c语言编译选项添加-Wa,-mimplicit-it=thumb可支持除法运算