当前位置: 移动技术网 > 科技>人工智能>物联网 > 海思hi3526ev200串口1无法输出

海思hi3526ev200串口1无法输出

2020年08月12日  | 移动技术网科技  | 我要评论
hi3516EV200串口1不打印输出?1、首先使用命令cat /proc/tty/driver/ttyAMA查看串口是否配置好0: uart:PL011 rev2 mmio:0x12040000 irq:20 tx:15934 rx:325 RTS|CTS|DTR|DSR|CD|RI1: uart:PL011 rev2 mmio:0x12041000 irq:21 tx:84 rx:320 DSR|CD|RI2: uart:PL011 rev2 mmio:0x12042000 irq:22 t

hi3516EV200串口1不打印输出?

1、首先使用命令cat /proc/tty/driver/ttyAMA查看串口是否配置好

0: uart:PL011 rev2 mmio:0x12040000 irq:20 tx:15934 rx:325 RTS|CTS|DTR|DSR|CD|RI
1: uart:PL011 rev2 mmio:0x12041000 irq:21 tx:84 rx:320 DSR|CD|RI
2: uart:PL011 rev2 mmio:0x12042000 irq:22 tx:0 rx:0 DSR|CD|RI

可见串口0、1、2都配置好,可以排除内核配置问题

2、本人开发板使用GPIO6_4和GPIO6_5为串口1

问题来了,查看SDK引脚手册,发现UART1默认使用的是GPIO0_3和GPIO0_4引脚,并不是使用GPIO6_4和GPIO6_5。

UART1 UART1_RXD UART1数据接收。 I PWM1 2 iocfg_reg4
LCD_DATA1 2 iocfg_reg43
UART1_TXD UART1发送数据。 O PWM0 2 iocfg_reg3
LCD_DATA0 2 iocfg_reg44

 

70 PWM0 DVDD3318_FLASH LVCMOS33/LVCMOS18 ISCUD/O iocfg_reg3 0 GPIO0_3 B 通用输入输出。
1 PWM0 O PWM输出0。
2 UART1_TXD O UART1发送数据。
3 I2C1_SCL B I2C总线1时钟。
71 PWM1 DVDD3318_FLASH LVCMOS33/LVCMOS18 ISCUD/O iocfg_reg4 0 GPIO0_4 B 通用输入输出。
1 PWM1 O PWM输出1。
2 UART1_RXD I UART1数据接收。
3 I2C1_SDA B I2C总线1数据/地址。

解决办法:打开GPIO6_4和GPIO6_5的复用功能,把UART1映射到GPIO6_4和GPIO6_5上。

上面图表已经列出来iocfg_reg44和iocfg_reg43分别为GPIO6_4和GPIO6_5复用引脚寄存器,再次查找SDK文档,找出下面寄存器配置说明:

 

iocfg_reg43 10 Pin LCD_DATA1 IO Config Register. 0x112C0070 0x1000 31:11 保留。
10 电平转换速率控制,为0时电平转换速率快,为1时电平转换速率慢。
9 下拉电阻使能,高有效。
8 上拉电阻使能,高有效。
7:4 管脚驱动能力选择:
0x2:IO2档位2;
0x3:IO2档位1;
其它:保留。
3:0 功能选择:
0x0:GPIO6_5;
0x2:UART1_RXD;
0x5:LCD_DATA1;
0x6:VO_BT1120_DATA1;
0x7:SPI0_SDI;
其它:保留。
iocfg_reg44 9 Pin LCD_DATA0 IO Config Register. 0x112C0074 0x1000 31:11 保留。
10 电平转换速率控制,为0时电平转换速率快,为1时电平转换速率慢。
9 下拉电阻使能,高有效。
8 上拉电阻使能,高有效。
7:4 管脚驱动能力选择:
0x6:IO4档位2;
0x7:IO4档位1;
其它:保留。
3:0 功能选择:
0x0:GPIO6_4;
0x2:UART1_TXD;
0x5:LCD_DATA0;
0x6:VO_BT1120_DATA0;
0x7:SPI0_SCLK;
其它:保留。

 

1、 只需把0x112C0070和0x112C0074都配置为0x1002,即可把UART1映射到GPIO6_4和GPIO6_5引脚上。

2、使用hi只带寄存器直接配置工具devmem

devmem 0x112C0070 16 0x1002
devmem 0x112C0074 16 0x1002

测试通过,串口1已经映射到GPIO6_4和GPIO6_5上,收发正常。

如果一直需要用下去,则添加到/etc/profile后面即可。

本文地址:https://blog.csdn.net/Sweets_JIE/article/details/107947191

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网