OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4473|回复: 2

STM32 做4*4的键盘 我用的是ZLG7290读取键值,想用PS2的方式给PC,现在关键是PS2和PC的通信搞不懂?

[复制链接]

48

主题

208

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1371
金钱
1371
注册时间
2015-3-24
在线时间
190 小时
发表于 2015-7-27 20:31:14 | 显示全部楼层 |阅读模式
5金钱
那个大哥有这方面的历程分享下、最好是有硬件驱动的成功案例,借鉴下
比如我小键盘的1的键码是0x69,是不是先发0x69是,在发一次0xf0.0x69结束,好像初始化时还要发什么初始化码?
我现在的程序是一会又了就无限是出现我发的数字,时间又出来不了,,不是按了就有了,是有几率的,我就估计我和电脑配对的时序没弄对,有时间他们有配合对了所以才一直有值,是不是?大家
//------------------------------------------------------------------------------
//---------------------------------------------------------------------------
void OnPS2SendChar(char dat)
{
 char ParityBit;
 char i;
 DIR2_OFF; 
if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_8)==1)
{
DIR2_ON;  

 

 S_SDA_L;
 Delay_Us(20);//start bit
 S_SCL_H;
 
 Delay_Us(20);
 S_SCL_L;
 
  Delay_Us(40);
 for(i=0;i<8;i++)
 {
  if(dat&0x01==0x01){PS_SDA_HarityBit++; Delay_Us(20);}
  else {PS_SDA_L; Delay_Us(20);}
  dat>>=1;
  PS_SCL_H;
   Delay_Us(20);
  PS_SCL_L;
   Delay_Us(40);
 }
 
 if(ParityBit%2==0)PS_SDA_H;
 else PS_SDA_L;
  Delay_Us(20);//parity bit
  PS_SCL_H;
  Delay_Us(20);
 S_SCL_L;
  Delay_Us(40);

 S_SDA_H; Delay_Us(20);//stop bit
 S_SCL_H;
  Delay_Us(20);
 S_SCL_L;
  Delay_Us(40);
 
 
 S_SCL_H;
 S_SDA_H;
 
  Delay_Us(30);
  DIR2_OFF; 
}
}
void main()
{       Stm32_Clock_Init(9); /*系统时钟设置72MHz*/
        delay_init(72);                  //延时时钟配置
        ps2_int();
        
 
      
    
    while(1)
    {
  
    OnPS2SendChar(0x73);
   Delay_Ms(8);
 
      
    }  

}


引脚是E8--SCL
        E10--SDA
        E7--SN74LV3245的DIR,    OE一直接10K拉的GND
中间是个SN74LV3245的一个芯片进行转化的

小时在工地上玩,捡了一个根木棒回家,麻麻问我捡这破玩意回来有什么用?我脑子一热,就说“你可以用它来打我啊!!”
于是,一根木棒伴随了我很多年。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

48

主题

208

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1371
金钱
1371
注册时间
2015-3-24
在线时间
190 小时
 楼主| 发表于 2015-7-27 20:32:50 | 显示全部楼层
上面的主函数现在只为调试PS2,所以就没读键
小时在工地上玩,捡了一个根木棒回家,麻麻问我捡这破玩意回来有什么用?我脑子一热,就说“你可以用它来打我啊!!”
于是,一根木棒伴随了我很多年。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-7-27 22:23:45 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 16:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表