unsigned char i;
ADDR_SW_Data = 0;
GPIO_ResetBits(GPIOC, 2);//clock_en ´ò¿ª165ѡͨ¶Ë
GPIO_ResetBits(GPIOC, 1);//PL //ÔËÐÐÊý¾Ý¼ÆÈë165
delay_ms(1);
GPIO_SetBits(GPIOC, 1);//PL //ÔÊÐíÊý¾ÝÒÆÎ»
delay_ms(1);
for(i=0;i<16;i++) //¶Á16´ÎÊý¾Ý
{
GPIO_ResetBits(GPIOC, 0);//clock
delay_ms(1);
ADDR_SW_Data = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_3) | (ADDR_SW_Data<<1);//¶ÁÊäÈëÊý¾Ýλ
GPIO_SetBits(GPIOC, 0);//clock
delay_ms(1);
}
GPIO_SetBits(GPIOC, 2);//clock_en //¹Ø±Õ165ѡͨ¶Ë
GPIO_ResetBits(GPIOC,1);//PL //ÔËÐÐÊý¾Ý¼ÆÈë165
ADDR_SW_Data = ~ADDR_SW_Data; //²¦Â뿪¹ØÈ¡·´
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
本帖最后由 wenyangzeng 于 2017-4-5 10:09 编辑
GPIO_SetBits( ADDR_SW_Data, i);//先前变量弄错了
else
GPIO_ResetBits( ADDR_SW_Data, i);
i已经在移位了,74HC165自己已经根据时钟在移动其并行端口的数据到串行输出端了。
一周热门 更多>