TI中文支持网
TI专业的中文技术问题搜集分享网站

SN74HC166: 关于SN74HC166芯片开发读取数据错乱的时序问题

Part Number:SN74HC166

开发SN74HC166芯片时,读取到的数据是错乱的,以下是我的相关代码。    开发中,只需要控制CLK(PG14),SH/LD(PG11),QH(PB3)三个引脚,其余引脚已经通过硬件设计处理好了, 

//

uint8_t    SN74HC166_data()

{

   uint8_t   data = 0;

  uint8_t    i =0;

GPIO_writeBit(GPIOG,GPIO_Pin_11,Bit_RESET);     //将并行数据传入移位寄存器

//生成锁存时钟

GPIO_writeBit(GPIOG,GPIO_Pin_14,Bit_RESET);

GPIO_writeBit(GPIOG,GPIO_Pin_14,Bit_SET);

GPIO_writeBit(GPIOG,GPIO_Pin_11,Bit_SET);   //进入串行模式

for(i=0;   i<8;   i++)

{

     if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_3))

       {

             data | = 1<<i ;

         }

    else;

GPIO_writeBit(GPIOG,GPIO_Pin_14,Bit_RESET);

GPIO_writeBit(GPIOG,GPIO_Pin_14,Bit_SET);

}

return  data;

}

Vivian Gao:

能更详细说一下吗?错乱具体指的是什么?其余引脚是如何进行硬件设计的?

,

z l:

读到的数据,应该为0x9F,但实际读到的数据是7F,对于SER引脚是与GND连接,CLKEN与GND连接,

,

Vivian Gao:

你能分享一些你认为不正确的波型吗?试图通过解析C代码来调试移位寄存器的问题几乎是不可能的。

,

z l:

第一个图为clk与SH/LD之间的波形图关系,第二个图为SH/LD与Qh之间的关系。第三个图为CLK与Qh之间的关系,从波形图的分析来看,和得到的结果是一样的,查看不到问题的原因

,

Vivian Gao:

您是否尝试加载其他值?如果你放大时钟边缘,也会有所帮助,这样我们就可以看到是否存在边缘速率违规。

,

z l:

你好,特别感谢你一直以来的解答,我的问题已经解决了,特别感谢

赞(0)
未经允许不得转载:TI中文支持网 » SN74HC166: 关于SN74HC166芯片开发读取数据错乱的时序问题
分享到: 更多 (0)