在研究RT5350的IO引脚的时候发现一个现象:RT5350有28个IO引脚,但是操作这些IO的相同功能的寄存器会分成两个,比如GPIO21_00_DIR和GPIO27_22_DIR。搞不清楚为毛不弄成一个寄存器。MIps的世界还真不懂。
趁刚研究的赶紧记录下RT5350的IO结构,免得忘掉。
总共有28个GPIO,除了GPIO0,其他都是与其他功能复用引脚的。复用表格如下:
当要把这些复用的引脚配置成GPIO功能,比如要使用GPIO9,就要把UARTF接口的引脚配置成GPIO功能,这时候就要参考每个接口的对应的复用表了。
参考这张表格,就知道要使用功能就要配置成3'b111,3b111是一个引脚功能配置寄存器的值。这个寄存器是System Control寄存器(0x10000000)中的GPIOMODE寄存器,它的定义如下:
把这个寄存器的4:2设为7,那么就把UARTF配置成GPIO功能了。
至于其他的引脚方向还有引脚输出状态,是否中断什么的,参考手册3.10 Programmable I/O.