新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2020-11-11
- 在线时间
- 1 小时
|
1金钱
求教:PA1上接外接TPAD,为何初始化后不能正常,不初始化反而正常?程序如下#include<stm32f10x.h>
#define D2_ON GPIO_ResetBits(GPIOB,GPIO_Pin_5) //LED_R.PB5
#define D2_OFF GPIO_SetBits(GPIOB,GPIO_Pin_5)
#define LIMIT_LOW GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==0 //T-PAD.PA1
#define LIMIT_HIGH GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)==1
void LEDKEY_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_5);
// GPIO_InitStructure.GPIO_Pin= GPIO_Pin_1;
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// GPIO_Init(GPIOA,&GPIO_InitStructure);
}
void delay_nms(u16 t)
{
u16 i=0;
while(t--)
{
i=12000;
while(i--);
}
}
int main(void)
{
SystemInit();
LEDKEY_GPIO_Config();
while(1)
{
if(LIMIT_LOW)
{
D2_ON;
delay_nms(1000);
}
else
D2_OFF;
}
}
|
|