你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
wasy 发表于 2015-8-16 10:51 你好,刚接触st,前几天买了个跟你一样的板子,请问下这个开发板是在什么环境下开发的,keil吗? ...
没学过51单片机,能否零基础学STM32?
STM32电机控制用什么型号?高级定时器功能详解与芯片选型指南
STM32入门指南:从零开始,如何为你的首个项目选择最合适的MCU?
25个STM32问答,考验你基础的时候到了
概述STM32
STM32 不同时钟频率有什么不同的影响
STM32的基本知识
STM32的分类和选型
学习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如果你习惯的话