- /******************** (C) COPYRIGHT 2012 WildFire Team **************************
- **********************************************************************************/
- #include "stm32f10x.h"
- #include "stm32f10x_conf.h "
- void Delay(__IO u32 nCount);
- void TIM4_EIR_Init(void);
- void PA8_INIT(void);
- uint16_t COUNT = 0;
-
- int main(void)
- {
- PA8_INIT();
- TIM4_EIR_Init();
- while (1)
- {
- TIM_SetCounter(TIM4, 0); // CLEAR
-
- Delay(200);
- GPIO_SetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_ResetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_SetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_ResetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_SetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_ResetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_SetBits(GPIOA, GPIO_Pin_8);
- Delay(200);
- GPIO_ResetBits(GPIOA, GPIO_Pin_8);
-
-
- COUNT=TIM_GetCounter(TIM4);
- TIM_SetCounter(TIM4, 0); // CLEAR
- COUNT=TIM_GetCounter(TIM4);
- TIM_SetCounter(TIM4, 0); // CLEAR
- }
- }
- void Delay(__IO u32 nCount) //简单的延时函数
- {
- for(; nCount != 0; nCount--);
- }
-
- /*
- void TIM4_EIR_Init(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
-
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
- //Config PE0 为浮空输入
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOE, &GPIO_InitStructure);
- TIM_DeInit(TIM4);
- TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
- TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
- TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); // Time base configuration
-
- TIM_ETRClockMode2Config(TIM4, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);
- TIM_SetCounter(TIM4, 0);
- TIM_Cmd(TIM4, ENABLE);
-
- }
- */
- void TIM4_EIR_Init(void)
- {
-
- GPIO_InitTypeDef GPIO_InitStructure;
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
- /////////////////////////////////////////////////////////////////////////////
- /* RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);
- TIM_CounterModeConfig(TIM3,TIM_CounterMode_Up);
- TIM_SetAutoreload(TIM4,9);
- TIM_TIxExternalClockConfig(TIM4,TIM_TIxExternalCLK1Source_TI2,TIM_ICPolarity_Rising,0);
- TIM_Cmd(TIM4,ENABLE);
- TIM_ITConfig(TIM4,TIM_IT_CC2|TIM_IT_Update,ENABLE);
- */
- /////////////////////////////////////////////////////////////////////////////
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
-
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);
- //Config PE0 为浮空输入
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOE, &GPIO_InitStructure);
- TIM_DeInit(TIM4);
- TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
- TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
- TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); // Time base configuration
-
- TIM_ETRClockMode2Config(TIM4, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 10);
- TIM_SetCounter(TIM4, 0);
- TIM_Cmd(TIM4, ENABLE);
-
- }
- void PA8_INIT(void)
- {
- /*定义一个GPIO_InitTypeDef类型的结构体*/
- GPIO_InitTypeDef GPIO_InitStructure;
- /*开启GPIOA的外设时钟*/
- RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);
- /*选择要控制的GPIOA8引脚*/
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
- /*设置引脚模式为通用推挽输出*/
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- /*设置引脚速率为50MHz */
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- /*调用库函数,初始化GPIOA*/
- GPIO_Init(GPIOA, &GPIO_InitStructure);
- /* 关闭所有led灯 */
- GPIO_SetBits(GPIOA, GPIO_Pin_8);
- }
- /******************* (C) COPYRIGHT 2012 WildFire Team *****END OF FILE************/
复制代码
|