你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 2637|回复: 1

关于仿真键盘的问题

[复制链接]

1

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2009-7-24 13:59:04 | 显示全部楼层 |阅读模式
我用STM32在调试键盘的时候,发现单步执行程序,键盘能检测到,而全速运行,则无法检测到键盘被按下,请问这是什么原因呢?逻辑应该不会有问题,因为单步执行程序是能够检测到键盘的.请大家帮帮忙,谢谢.注:调试的是4*4键盘矩阵,四个I/O配置成推挽输出,四个I/O配置成下拉输入.
回复

使用道具 举报

1

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
 楼主| 发表于 2009-7-29 19:51:53 | 显示全部楼层

回复:关于仿真键盘的问题

额~没人知道是为什么吗?
程序是这样的:
端口配置:
 //Key pin
 //x out
 GPIO_InitStructure.GPIO_Pin = PIN_KEYX1 | PIN_KEYX2 | PIN_KEYX3 | PIN_KEYX4;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(KEY_PORT, &GPIO_InitStructure);

 //y in
 //GPIO_InitStructure.GPIO_Pin = PIN_KEYY1 | PIN_KEYY2 | PIN_KEYY3 | PIN_KEYY4;//s//此句有问题
 GPIO_InitStructure.GPIO_Pin = PIN_KEYY2 | PIN_KEYY3 | PIN_KEYY4;//s//
       //s//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
       //s//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(KEY_PORT, &GPIO_InitStructure);
 
 //y in
 GPIO_InitStructure.GPIO_Pin = PIN_KEYY1;
  //s//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
       GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        //s//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_Init(KEY_PORTB, &GPIO_InitStructure);
 
利用中断检测键盘

<span style="color: #800000">void SysTickHandler(void)
{
  if(SysTick_key_scan_count
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版