欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
請教!為什么這個stm32程序無法運行?
[打印本頁]
作者:
zlkj
時間:
2018-7-8 16:09
標題:
請教!為什么這個stm32程序無法運行?
//
請教!為什么這個程序無法運行?
#include "stm32f10x.h"
void GPIO_Config(void)//GPIO配置
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能gpioc的時
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //選擇管腳PC.13作LED燈
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //管腳速度為50M
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //設置輸出模式為推挽輸出
GPIO_Init(GPIOC, &GPIO_InitStructure); //將上述設置寫入到GPIOC里去
}
void NVIC_Config(void) //中斷控制器的配置
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //優先組設置
NVIC_InitStructure.NVIC_IRQChannel =TIM2_IRQn ; //TIM2中斷選通
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //子優先級
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能中斷控制
NVIC_Init(&NVIC_InitStructure);
}
void Timer_Config(void) //定時器的配置
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , ENABLE); //Timer2 時鐘使能
TIM_DeInit(TIM2); //復位TIM2定時器
TIM_TimeBaseStructure.TIM_Period=1000; //定時器周期
TIM_TimeBaseStructure.TIM_Prescaler=36000-1; //預分頻數
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //TIM2時鐘分頻,為1表示不分頻
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//定時器計數為向上計數模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearFlag(TIM2, TIM_FLAG_Update); //清除定時器2的溢出標志位
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); //使能定時器2溢出中斷
TIM_Cmd(TIM2, ENABLE); //定時器2使能
}
int main(void)
{
SystemInit();//初始化時鐘,配置為72MHz,我試過將這句注釋掉,好像不影響結果。查了一下,在配置
//main函數之前的啟動代碼有這樣一句 LDR R0, =SystemInit,我疑惑的是難道啟動的時候就配成72Mhz?
GPIO_Config();
NVIC_Config();
Timer_Config();
while(1)
{
;
}
}
void TIM2_IRQHandler(void)
{
static int flag_bit=0;//定義一個標志位
if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET ) //判斷中斷溢出標志為是否為1
{
TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update); //清除溢出中斷標志位
flag_bit = !flag_bit;
if(flag_bit == 1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); //熄滅LED
}
if(flag_bit == 0)
{
GPIO_ResetBits(GPIOC, GPIO_Pin_13); //點亮LED
}
}
}
復制代碼
作者:
yousunny
時間:
2018-7-8 17:19
程序下載后,記得·復位一下。有時候是要復位才可以的
作者:
zlkj
時間:
2018-7-8 20:29
感謝回復!仿真沒有波形
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1