新手入门
- 积分
- 25
- 金钱
- 25
- 注册时间
- 2014-12-21
- 在线时间
- 0 小时
|
5金钱
各位大神帮个忙!!
我的板子是stm32f103rbt6的
我想用板子上的4个按键,下面是按键PA8的可以使用,现在想用PB2该怎么配置
#include"type.h"
#include"STM32F103.h"
void Delay(u32 nCount) //延时函数
{
u32 i;
for(i=0;i<nCount;i++);
}
int main(void)
{
RCC_APB2ENR|=((u32)0x00000fff); //打开时钟总线
GPIOC_CRL=((u32)0x11111111); //设置GPIOC口低8位内部上拉电阻,输出模式
GPIOC_CRH=((u32)0x11111111); //设置GPIOC口高8位内部上拉电阻,输出模式
GPIOA_CRL=((u32)0x44444444); //设置GPIOA口低8位内部上拉电阻,浮空输入模式
GPIOA_CRH=((u32)0x44444444); //设置GPIOA口高8位内部上拉电阻,浮空输入模式
AFIO_EVCR|=((u32)0x00000080); //打开事件寄存器并设置PA8引脚为信号输入脚
EXTI_IMR|=((u32)0x00000001<<8); //中断屏蔽寄存器的线路8,非屏蔽
EXTI_EMR|=((u32)0x00000001<<8); //事件屏蔽寄存器的线路8,非屏蔽
//EXTI_RTSR|=((u32)0x00000001); //线路8上升沿产生事件
EXTI_FTSR |=((u32)0x00000001<<8); //线路8下降沿产生事件
NVIC_ISER0|=(((u32)0x00000001)<<23); //设置外部中断8中断使能
GPIOC_ODR=((u16)0xffff); //GPIOC口并行输入高电平,全灭
while(1)
{
}
}
void EXTI9_5_IRQHandler(void)
{
NVIC_ICPR0|=(((u32)0x00000001)<<8); //清除线路8中断使能
GPIOC_ODR=~GPIOC_ODR; //取反
Delay(0xAFFFF); //延时
NVIC_ICPR0|=(((u32)0x00000001)<<8); //挂起线路8外部中断
EXTI_PR |=((u32)0x00000001<<8); //挂起EXIT的线路8
NVIC_ISER0|=(((u32)0x00000001)<<23); //设置外部中断8中断使能
}
|
|