打印
[STM32F1]

STM32F103下载程序后不运行

[复制链接]
577|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2021-3-3 23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
仿真的话在RCC里面出不来,已经选中了run to main 。这是为什么呢?

使用特权

评论回复
沙发
huangchui| | 2021-3-3 23:26 | 只看该作者
少写了什么程序

使用特权

评论回复
板凳
jiajs|  楼主 | 2021-3-3 23:29 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
地板
jiajs|  楼主 | 2021-3-3 23:31 | 只看该作者
下面是主程序;(测量引脚与PWM引脚均不对)
int main(void)
{
        RCC_Configuration();
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        LED_Init();
        TIM2_PWM_Init(9999,143);    //50Hz
        TIM_SetCompare1(TIM2,5000); //50Hz
        TIM_SetCompare2(TIM2,4000); //50Hz
        TIM_SetCompare3(TIM2,3000); //50Hz
        TIM_SetCompare4(TIM2,2000); //50Hz
        while(1)
        {
                GPIO_SetBits(LED_PORT,LED1_BIT);
                GPIO_ResetBits(LED_PORT,LED2_BIT);
        delay_ms(100);
        }
}
void LED_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStrue;
   
    RCC_APB2PeriphClockCmd(LED_CLK,ENABLE);   
   
    GPIO_InitStrue.GPIO_Pin=LED1_BIT;         
    GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP;  
    GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz;
    GPIO_Init(LED_PORT,&GPIO_InitStrue);      
}
void TIM2_PWM_Init(u16 arr,u16 psc)
{
    GPIO_InitTypeDef     GPIO_InitStrue;
    TIM_OCInitTypeDef     TIM_OCInitStrue;
    TIM_TimeBaseInitTypeDef     TIM_TimeBaseInitStrue;
   
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  
   
    GPIO_InitStrue.GPIO_Pin=GPIO_Pin_0 | GPIO_Pin_1
        | GPIO_Pin_2 |GPIO_Pin_3;  
    GPIO_InitStrue.GPIO_Mode=GPIO_Mode_Out_PP;         
    GPIO_InitStrue.GPIO_Speed=GPIO_Speed_50MHz;         
    GPIO_Init(GPIOA,&GPIO_InitStrue);               

        
    TIM_TimeBaseInitStrue.TIM_Period=arr;                  
    TIM_TimeBaseInitStrue.TIM_Prescaler=psc;            
    TIM_TimeBaseInitStrue.TIM_CounterMode=TIM_CounterMode_Up;
    TIM_TimeBaseInitStrue.TIM_ClockDivision=TIM_CKD_DIV1;   
    TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStrue);        
    TIM_OCInitStrue.TIM_OCMode=TIM_OCMode_PWM1;           
    TIM_OCInitStrue.TIM_OCPolarity=TIM_OCPolarity_High;   
    TIM_OCInitStrue.TIM_OutputState=TIM_OutputState_Enable;
        TIM_OCInitStrue.TIM_Pulse = arr/10;                          
        
    TIM_OC1Init(TIM2,&TIM_OCInitStrue);                    
    TIM_OC1PreloadConfig(TIM2,TIM_OCPreload_Enable);     
    TIM_OC2Init(TIM2,&TIM_OCInitStrue);                  
    TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);        
        TIM_OC3Init(TIM2,&TIM_OCInitStrue);                    
    TIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);      
        TIM_OC4Init(TIM2,&TIM_OCInitStrue);                  
    TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);      
        
        TIM_ARRPreloadConfig(TIM2, ENABLE);
    TIM_Cmd(TIM2,ENABLE);                              
}

使用特权

评论回复
5
jiajs|  楼主 | 2021-3-3 23:33 | 只看该作者
编译无错误,无警告

使用特权

评论回复
6
jlyuan| | 2021-3-3 23:35 | 只看该作者
检查一下晶振电路吧,多半是外部晶振没有起振死机了。

使用特权

评论回复
7
chenjunt| | 2021-3-3 23:37 | 只看该作者
用LED亮灭作标志,测试看是停在哪了。

使用特权

评论回复
8
stly| | 2021-3-3 23:39 | 只看该作者
按上面测一下,看看是哪儿问题。

使用特权

评论回复
9
chenjunt| | 2021-3-3 23:42 | 只看该作者
先跑个官方的例子,看看能否运行

使用特权

评论回复
10
ousj| | 2021-3-3 23:43 | 只看该作者
如果可以,那说明硬件好的,你软件错了。

使用特权

评论回复
11
houcs| | 2021-3-3 23:46 | 只看该作者
下载官方的CUBE工具包

使用特权

评论回复
12
jiajs|  楼主 | 2021-3-3 23:48 | 只看该作者
嗯,已经发现了,程序写错了,尴尬

使用特权

评论回复
13
磨砂| | 2021-4-2 13:33 | 只看该作者
查看晶振起振了吗

使用特权

评论回复
14
晓伍| | 2021-4-2 13:35 | 只看该作者
这是什么意思

使用特权

评论回复
15
八层楼| | 2021-4-2 13:36 | 只看该作者
检查一下晶振电路

使用特权

评论回复
16
观海| | 2021-4-2 13:38 | 只看该作者
用LED亮灭作标志,测试一下

使用特权

评论回复
17
guanjiaer| | 2021-4-2 13:40 | 只看该作者
查一下供电情况

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝