一 、GPIO使用
我们直接参考kerneldriversmisc5v_en.c
就会有
[*] RGF GPIO gpio driver (NEW)
编译出 .o文件先
Dlt 上面有两个led 红和绿
LED_CTL GPIO4_D1
一个脚控制
LED_CTL 控制之后;就绿灯;否则 红灯;
二、TTL串口功能打开
从 rk3399.dtsi 中
aliases {
i2c0 = &i2c0;
i2c1 = &i2c1;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
i2c6 = &i2c6;
i2c7 = &i2c7;
i2c8 = &i2c8;
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
serial3 = &uart3;
serial4 = &uart4;
dsi0 = &dsi;
dsi1 = &dsi1;
};
可以知道我们 RK3399 有哪些通道
0-8 共9路i2c ,串口就是 0-4 共5路 ;还有两路 mipi等;当然还有其他接口别名没有对应过来
然后我们要想打开 我们对应的串口就
&uart0 {
pinctrl-names = ;default;;
pinctrl-0 = <&uart0_xfer &uart0_cts>;
status = ;okay;;
};
&uart2 {
status = ;okay;;
};
&uart4 {
status = ;okay;;
};
就可以了;因为dlt3399开发板只引出 uart0 uart2 uart4;所以我们就测试这三路;
其中 uart0 是用在蓝牙的;现在我们蓝牙都已经能工作就说明uart0 是通的;当然 uart2是调试串口;能够看到打印信息;也是同的;现在测试 uart4
通过 adb 查看设备节点
Dev/下 ls 会有 ttyS* 就是我们的 UART 生成对应的节点;
uart4 就对应 ttyS4
我们使用 SerialPort.apk 来测试;然后短接 uart4 的RX和TX脚;自发自收
最后讲下;我们在rk3399基本都是使用到 串口的 中断模式;至于DMA模式不建议大家使用;因为RK3399的CPU性能已经很好了;使用串口传输数据的速度瓶颈现在都在于外部设备了;