资讯详情

coocox学习系列之CoX_GPIO篇

1.GPIO设计思想

1.1CoX.GPIO发展过程,历史版本 CoX 第一版从 2009 年开始,从 CoX 诞生开始, CoX 的目标就是要做到在 M 系列的 上实现平滑移植。所以, GPIO 的实现,第一版首先实现了, IO 的模式配置(输入、输出)和管脚的上拉、下拉配置;然后,实现了 IO 管脚的状态读写。具体可以从接口定义清晰的看出来: typedef struct { COX_Status (* Init ) (COX_PIO_Dev pio); COX_Status (* Dir )(COX_PIO_Dev pio, uint8_t dir); uint8_t (* Out )(COX_PIO_Dev pio, uint8_t level); uint8_t (* Read ) (COX_PIO_Dev pio); COX_Status (* Cfg )(COX_PIO_Dev pio, uint8_t index, uint32_t arg, uint32_t *pre_arg); } COX_PIO_PI_Def ; typedef const COX_PIO_PI_Def COX_PIO_PI ; 这样的实现,确实可以大大减小 IO 操作的移植,因为我们在每个厂商实现一套 ,以新唐为例: COX_PIO_PI pi_pio = { NUC_GPIO_Init, NUC_GPIO_SetDir, NUC_GPIO_Out, NUC_GPIO_Read, NUC_GPIO_Cfg }; 在使用的时候,我们仅仅需要使用 pi_pio 的指针就可以调用 GPIO 的 API 操作了,而且这个指针还可以被驱动嵌套使用。有兴趣的可以参考 NUC140-LB Board 的 CoOS 例程,这个在 www.coocox.org 官网可以下载到。 然而,第一版有几个明显的不足: 1. 实现的功能很少,只有 IO 的基本配置和读写操作,没有外部中断实现,没有多功能配置实现,以及一些其
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台