新路程------关于imx6q uart的杂谈

485的线有uart4,uart5


从DISP0_DAT12到15,在spec2126开始


而开发板原来的uart4,和5在spec2095页


先搞定pin定义,再把pin和uart相关联
但是看了很多文档似乎只有需要用dma功能的时候才需要去关联pin,类似uart1就没有关联过,
所以先在board-mx6q_sabresd.h中增加
//UART4 for gps
MX6Q_PAD_CSI0_DAT13__UART4_RXD,
MX6Q_PAD_CSI0_DAT12__UART4_TXD,
//UART5 
MX6Q_PAD_CSI0_DAT15__UART5_RXD,
MX6Q_PAD_CSI0_DAT14__UART5_TXD,
然后把之前源码对这些pin的定义注释
/*MX6Q_PAD_CSI0_DAT12__IPU1_CSI0_D_12,
MX6Q_PAD_CSI0_DAT13__IPU1_CSI0_D_13,
MX6Q_PAD_CSI0_DAT14__IPU1_CSI0_D_14,
MX6Q_PAD_CSI0_DAT15__IPU1_CSI0_D_15,*/
这样pin做好了
然后看init在board-mx6q_sabresd.c里
static inline void mx6q_sabresd_init_uart(void)
{
//imx6q_add_imx_uart(2, NULL);
imx6q_add_imx_uart(0, NULL);
imx6q_add_imx_uart(1, NULL);
imx6q_add_imx_uart(2, &mx6q_sd_uart3_data);
imx6q_add_imx_uart(3, NULL);
imx6q_add_imx_uart(4, NULL);
}
结果改完以后发现只有uart4好用,uart3和5都会产生自回环
所以去看配置寄存器,肯定有不同之处才对
spec5265

spec5231有提到配置成232的方法,
Main program:
1. UCR1 = 0x0001
Enable the UART.
2. UCR2 = 0x2127
Set hardware flow control, data format and enable transmitter and receiver.
3. UCR3 = 0x0704
Set UCR3[RXDMUXSEL] = 1.
4. UCR4 = 0x7C00
Set CTS trigger level to 31,
5. UFCR = 0x089E
Set internal clock divider = 5 (divide input uart clock by 5). So the reference clock is
100MHz/5 = 20MHz.
Set TXTL = 2 and RXTL = 30.
6. UBIR = 0x08FF
7. UBMR = 0x0C34
In the above two steps, set baud rate to 921.6Kbps based on the 20MHz reference
clock.
8. UCR1 = 0x2201>
Enable the TRDY and RRDY interrupts.
9. UMCR = 0x0000
Chapter 67 Universal Asynchronous Receiver/Transmitter (UART)
i.MX 6Dual/6Quad Multimedia Applications Processor Reference Manual, Rev. C, 1/2012
Freescale Semiconductor, Inc. Preliminary - Subject to Change Without Notice 5231
Freescale Confidential ProprietaryUMCR stay at default value 0x0000

奇怪,照理说所有的串口都应该是普通串口,通过转换芯片出去的才是232或者485信号才对
mx6.h中有写uart的基地址
#define UART2_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x68000)
#define UART3_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x6C000)
#define UART4_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x70000)
#define UART5_BASE_ADDR (AIPS2_OFF_BASE_ADDR + 0x74000)


uart3的寄存器地址在spec5236页
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值