关于接线,
1-DATA(DI):信号流向从手柄到主机。此信号是一个8 bit的串行数据,同步传送于时钟下降沿(输入输出信号在时钟信号由高 到低时变化,所有信号的读取在时钟前沿到电平变化之前完成。)
2-CMD(DO):信号流向从主机到手柄。此信号和DATA相对,同样是一个8 bit的串行数据,同步传送于时钟下降沿。
程序:
我们可以使用SPI,也可以自己写驱动,软件模拟波形。
void PS2_Cmd(u8 CMD)
{
 volatile u16 ref=0x01;
 Data[1] = 0;
 for(ref=0x01;ref<0x0100;ref<<=1)
 {
  if(ref&CMD)
  {
   DO_H;                   //输出一位控制位
  }
  else DO_L;
  CLK_H;                        //时钟拉高
  DELAY_TIME;
  CLK_L;
  DELAY_TIME;
  CLK_H;                        //手动拉出一个下降沿使DO和DI得以同时传送
  if(DI)
   Data[1] = ref|Data[1];      //运用或运算按位存入Data[1]的8位
 }
 delay_us(16);
}
      声明:
      
        本文采用
        BY-NC-SA
        协议进行授权,如无注明均为原创,转载请注明转自
        走着的小站
        
本文地址: 关于ps2驱动时序图的理解
      本文地址: 关于ps2驱动时序图的理解
 
        