疑问1:使用i2c接口连接pcf8574芯片,扩展DI和DO
1、可以使用M280芯片的i2c-0还是i2c-1接口进行连接?
2、内核的i2c驱动是否支持pcf8574芯片?
其《EPC-28x-L 用户手册_V1.10.pdf》中,有以下说明:
注:I2C-1已经用于RTC芯片(PCF8563),客户如果想用做其他用途,需要联系销售来处理。
答:内核驱动目前PCF系列支持PCF2123,PCF8563,8583,50633,i2c驱动大致一致,如果相差比较大,可以直接按照官方文档移植
疑问2:ETM_DA接口是否可以用来当作GPIO口?
按照M280管脚分配表,其第四功能是GPIO,但是有初始值
参考《M280 管脚分配表 V1.01.xls》:
参考《M280核心板数据手册》:
答:EIM_DA 可以复用为GPIO,但是你要确认在上电的时候,保证这些引脚不会改变我们引脚默认电平,核心板启动后,这些引脚电平改变也没有关系
疑问3:我要如何使用ETM_DA接口(ETM_DA0~7、ETM_TCTL、ETM_TCLK)来扩展GPIO口
1、是否需要修改内核或env文件?
2、或者可以直接修改/sys/class/gpio文件,使用命令“echo xx>export”来实现,并且修改direction和value值。
其参考自《EPC-28x-L 用户手册_V1.10.pdf》中的1.27 I/O端口使用
3、但其参考文件有说:对于已经被占用做其它功能的引脚无法导出其GPIO功能,导出时候会提示资源占用;
下面是我的实测结果:
答:如果要用这些io,需在在内核里面配置IO为GPIO功能,arch/arm/mach-mx28/mx28evk_pins.c 修改这个文件;
没有被配置为GPIO,无法导出,也无法通过/sys/class/gpio来修改,这个是文件系统根据内核已经配置的功能,动态加载的设备描述信息
疑问:4:ADC0~6接口不能用来当GPIO吧
1、参考《M280 管脚分配表 V1.01.xls》,其只有第一功能
答:ADC引脚只有单个复用功能,不支持234复用;