OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2789|回复: 3

求助stm32F030F4单片机TIM1配置问题

[复制链接]

8

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2019-5-29
在线时间
28 小时
发表于 2020-5-7 11:07:24 | 显示全部楼层 |阅读模式
10金钱
刚刚使用F0单片机,程序是从F1移植过来的,细节改了改,编译没有错误了,但是配置了TIM1之后没有现象,仿真在WATCH窗口看TIM1各个寄存器的值,发现全是0000,也就是配置语句没有作用,有人知道可能是什么原因么,我打了断点,每段代码都运行到了。
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_ICInitTypeDef  TIM_ICInitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
        NVIC_InitTypeDef   NVIC_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

        /* GPIOB Configuration: Channel 1N, 2N and 3N as alternate function push-pull */
        GPIO_InitStructure.GPIO_Pin = INPUT1_GPIO_PINx;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(INPUT1_GPIOx, &GPIO_InitStructure);         
       
        /* Time Base configuration */
        TIM_TimeBaseStructure.TIM_Prescaler = 47;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseStructure.TIM_Period = REST_TIME;
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
        TIM_TimeBaseInit(INPUT1_TIMx, &TIM_TimeBaseStructure);
       
        /* Channel 1, 2,3 and 4 Configuration in PWM mode */       
        TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;    // TIM_Channel_2            
    TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;//TIM_ICPolarity_Falling;      
    TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
    TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;              
    TIM_ICInitStructure.TIM_ICFilter = 0;                        
        //TIM_PWMIConfig(INPUT1_TIMx, &TIM_ICInitStructure);            
        TIM_ICInit(INPUT1_TIMx, &TIM_ICInitStructure);            

        TIM_SelectInputTrigger(INPUT1_TIMx, TIM_TS_TI2FP2);                 //??IC2??????
    TIM_SelectSlaveMode(INPUT1_TIMx, TIM_SlaveMode_Reset);              //TIM???:???????????????????????????
    TIM_SelectMasterSlaveMode(INPUT1_TIMx, TIM_MasterSlaveMode_Enable); //??????????

        TIM_UpdateRequestConfig(INPUT1_TIMx, TIM_UpdateSource_Regular);    //set URS

        TIM_ITConfig(INPUT1_TIMx, TIM_IT_Update/* | TIM_IT_CC1*/, ENABLE); //for judge  start signal       
        TIM_ClearITPendingBit(INPUT1_TIMx, TIM_IT_Update);
       
        /* TIM4 counter enable */
        TIM_Cmd(INPUT1_TIMx, ENABLE);

        NVIC_InitStructure.NVIC_IRQChannel = TIM1_BRK_UP_TRG_COM_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPriority = 1;
       
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);

最佳答案

查看完整内容[请看2#楼]

虽然我不懂,但还是帮顶!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2020-5-2
在线时间
0 小时
发表于 2020-5-7 11:07:25 | 显示全部楼层
虽然我不懂,但还是帮顶!
回复

使用道具 举报

8

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2019-5-29
在线时间
28 小时
 楼主| 发表于 2020-5-7 11:07:25 | 显示全部楼层
补充几点,刚又验证了一下,程序中我只配置了GPIO TIM1 DMA1,仿真看配置GPIO和DMA1的代码运行完以后各个寄存器的值都有变化,对照手册看了确实是自己需要的值。但是TIM1的寄存器还是没有任何变化
回复

使用道具 举报

8

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2019-5-29
在线时间
28 小时
 楼主| 发表于 2020-5-7 11:37:16 | 显示全部楼层
SORRY,兄弟们我眼瞎了,时钟开错了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 04:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表