OpenEdv-开源电子网

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

MINI STM32矩阵键盘输入 不接地不接电源的矩阵

[复制链接]

21

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-4-26
在线时间
2 小时
发表于 2014-4-26 10:09:32 | 显示全部楼层 |阅读模式
#define L1 PBin(3)  //PB3
#define L2 PBin(2) //PB2 
#define L3 PBin(1) //PB1
#define L4 PBin(0)  //PB0
#define H1 PBout(7) //PB7 
#define H2 PBout(6) //PB6
#define H3 PBout(5) //PB5
#define H4 PBout(4) //PB4

void KEY_Init(void)
{
RCC->APB2ENR|=1<<3;     //使能PORTB时钟
GPIOB->CRL&=0X00000000;//PB0~3输入 
GPIOB->CRL|=0X33338888;//PB4~7推挽输出  
  
// GPIOB->ODR|=1<<4;      //PB4输出高
// GPIOB->ODR|=1<<5;      //PB5输出高
// GPIOB->ODR|=1<<6;      //PB6输出高
// GPIOB->ODR|=1<<7;      //PB7输出高

GPIOB->ODR&=~(1<<4);      //PB4输出低
GPIOB->ODR&=~(1<<5);      //PB5输出低
GPIOB->ODR&=~(1<<6);      //PB6输出低
GPIOB->ODR&=~(1<<7);      //PB7输出低

GPIOB->ODR&=~(1<<0);     //PB0下拉输入
GPIOB->ODR&=~(1<<1);     //PB1下拉输入
GPIOB->ODR&=~(1<<2);     //PB2下拉输入
GPIOB->ODR&=~(1<<3);     //PB3下拉输入

我想用PB4~7输出高电平,检测PB0~3的输入状态,但不知道设置的PB口对不对,且输出高和输出低是怎么回事
我是个新手,请多多指教
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-4-26 16:40:38 | 显示全部楼层
回复【楼主位】汉新手:
---------------------------------
禁止JTAG,才可以正常使用PB3,PB4。
具体看原理图,默认这两个IO是给JTAG用的。
你看我们的代码,都有JTAG_Set函数,禁止JTAG的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

21

主题

69

帖子

0

精华

初级会员

Rank: 2

积分
183
金钱
183
注册时间
2014-4-26
在线时间
2 小时
 楼主| 发表于 2014-4-26 16:51:27 | 显示全部楼层
谢谢我明白了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-11 09:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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