HC32F005的GPIO开漏输出疑问
本帖最后由 kevicki 于 2021-2-2 11:57 编辑之前用stm8和stm32,当GPIO配置成“带上拉开漏输出”的时候,MCU将端口置高,当有外部设备将端口拉低时(I2C的典型场景),是不需要将GPIO的方向设置为“输入”的,直接可以从端口in寄存器读取端口电平。
现在换到HC32F005,上午在调这个发现原来的程序不适用了,才发现好像HC32F005必须将端口设置成“输入”,才可以在IN寄存器中读取端口电平,如果配置成“开漏输出”的话,IN寄存器只会跟随OUT电平变化而变化。
有没有了解的大佬确认一下,是否是这样?
请问 你是做模拟I2C吗?
因为F005的GPIO设计比较简单,所有只有当GPIO设置为输入的时候才可以读取,与开漏设置没关系。
其他型号,比如L136/F030,L176等,可以在输出的时候读取电平 martinhu 发表于 2021-2-2 13:08
你是做模拟I2C吗?
因为F005的GPIO设计比较简单,所有只有当GPIO设置为输入的时候才可以读取,与开漏设置没 ...
嗯,我也问过了华大的技术,确实是这样。模拟i2c就要注意一下了 反常规的设计,值得注意,这点应该在数据手册中指出的吧。
页:
[1]