图 4-2 展示了此设计中的主函数代码。主函数初始化系统配置,然后进入循环以处理 IO 控制。代码支持用于 IO 控制的三个函数:gpioDirectionSet、gpioOutputCtl 和 gpioStateRead。另请参阅协议简介。
默认情况下启用 UART、I2C 和 SPI。对于实际实现,取消注释 expander.h 文件中的定义,如 图 4-3 所示。
所有通信命令接收都在相对中断中完成。使用 UART,命令传输在 gpioStateRead() 函数中完成。对于 SPI 和 I2C,命令传输在相对中断中完成。