TK499用两IO模拟I2C,IO设置不了开漏输出应该怎么设?
好像没有办法设置成开漏输出发送前设置成推挽输出,接受前设置为输入就行了,不需要开漏 初音之恋 发表于 2021-5-20 14:19
发送前设置成推挽输出,接受前设置为输入就行了,不需要开漏
谢谢
主要这样还要调整方向,以前F103直接可以开漏输出,外面加上拉就可以正常工作了。
看TK499的HAL_GPIO.h里面有开漏输出
typedef enum
{
GPIO_Mode_AIN = 0x0,//模拟输入
GPIO_Mode_IN_FLOATING = 0x04, //浮空输入
GPIO_Mode_IPD = 0x28,//下拉输入
GPIO_Mode_IPU = 0x48,//上拉输入
GPIO_Mode_Out_OD = 0x14,//通用开漏输出
GPIO_Mode_Out_PP = 0x10,//通用推免输出
GPIO_Mode_AF_OD = 0x1C, // 复用开漏输出
GPIO_Mode_AF_PP = 0x18//复用推免输出
}GPIOMode_TypeDef;
但是在寄存器说明里面有没有这个选项:
设置方向可以理解,要是设置推挽/输入切换不需要上拉电阻就好了。
好像记得在那儿看到过这样设置,加上 SCL也推挽输出,可以不用上拉.
初音之恋 发表于 2021-5-20 14:19
发送前设置成推挽输出,接受前设置为输入就行了,不需要开漏
+1
对的,或加个二极管, bias 发表于 2021-5-20 14:27
谢谢
主要这样还要调整方向,以前F103直接可以开漏输出,外面加上拉就可以正常工作了。
看这个寄存器:Mode_Out_OD = 0x14,//通用开漏输出 ycheng2004 发表于 2021-5-20 14:37
看这个寄存器:Mode_Out_OD = 0x14,//通用开漏输出
实际好像没用
页:
[1]