你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
wasy 发表于 2015-8-16 10:51 你好,刚接触st,前几天买了个跟你一样的板子,请问下这个开发板是在什么环境下开发的,keil吗? ...
STM32中BOOT的作用
STM32的I2S外设
STM32怎么选型
简单分析STM32和51的区别
简单聊聊STM32的SPI外设
stm32单片机编程入门基础知识
STM32的三种启动模式解析
梳理STM32芯片的内部架构
STM32ADC过采样及几种ADC采样的处理方法
STM32的启动模式配置与应用
#define uint unsigned int
#define uchar unsigned char
uint i,j,k;
uchar h=0;
void NVIC_Configuration ();
void GPIO_Configuration ();
int main()
{
GPIO_Configuration ();
NVIC_Configuration ();
GPIO_SetBits(GPIOA, GPIO_Pin_5);
while(1)
{
}
}
void NVIC_Configuration (void)
{
NVIC_InitTypeDef NVIC_Initstructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_Initstructure.NVIC_IRQChannel=EXTI15_10_IRQn;
NVIC_Initstructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_Initstructure.NVIC_IRQChannelSubPriority=0;
NVIC_Initstructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_Initstructure);
}
void GPIO_Configuration (void)
{
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
//GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOC,&GPIO_InitStructure);
//GPIO_PinAFConfig(GPIOC, GPIO_PinSource13, GPIO_AF);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA,&GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource13);
EXTI_InitStructure.EXTI_Line = EXTI_Line13;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
下面是中断服务函数 放在it.c中
void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line13)==1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_5,(BitAction)((1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_5))));
EXTI_ClearFlag(EXTI_Line13);
}
}
keil+cubeMX,也可以只用keil,当然也可以IAR如果你习惯的话