要用到一个IO口 是以实现读和写的功能 对这个IO口 设置成开漏输入模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
并外接10K电阻 上拉到3.3v
在读这个IO口的时候 先对其输出置高 然后读取其输入一直是高电平
DIO_H; // #define DIO_H GPIO_SetBits(GPIOF, GPIO_Pin_2)
for(i=0;i<8;i++)
{
delay_us(5);
temp>>=1;
CLK_L;//CLK=0;
delay_us(1);
if(DIO_R) // #define DIO_R GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_2)
{
temp|=0x80;
}
CLK_H;//CLK=1;
}
return temp; ///读到的这个TEMP 值一直都是256
请问这个问题出在了哪里?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>