初级会员

- 积分
- 117
- 金钱
- 117
- 注册时间
- 2013-9-29
- 在线时间
- 1 小时
|

楼主 |
发表于 2013-10-12 17:04:48
|
显示全部楼层
例程在着
#include"stm32f10x.h"
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); //????USART1?GPIOA?±??
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStructure);
}
void TIM6_Configuration(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);
TIM_TimeBaseStructure.TIM_Period = 10000-1;
TIM_TimeBaseStructure.TIM_Prescaler = 7200-1;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM6, ENABLE);
}
void NVIC_Configuration(void) //中断初始化
{
NVIC_InitTypeDef NVIC_InitStructure; //初始化结构体
/* Configure the NVIC  reemption  riority Bits */
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
/* Enable the USARTy Interrupt*/
NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn;//设置哪个通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void TIM6_IRQHandler(void)
{
if(TIM_GetITStatus(TIM6,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIM6,TIM_IT_Update);
GPIOD->ODR^=GPIO_Pin_2;
}
}
u8 All_Init(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); //????USART1?GPIOA?±??
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);
GPIO_Configuration();
TIM6_Configuration();
NVIC_Configuration();
return 1;
}
int main(void)
{
All_Init();
while(1);
} |
|