STM32的stm32 定时器器TIM1 怎么设置不对呢

stm32(6)
在STM32F1系列中,其中定时器TIM1、TIM8是挂在在APB2上的,而定时器TIM2、3、4是关在在APB1上的。
在工程中我们一般设置APB1CLK = 36M &APB2CLK = 72M
但是为什么这几个定时器在计算定时时间的时候都是使用72M进行计算呢?
在时钟树上我们可以看到,定时器不是单纯的挂在在APB时钟源上的,而是经过了一个倍频器,而这个倍频器的倍频值受APBx时钟相对AHB的分频系数控制的,分频系数为1则x1,其他则x2
拿我们上面的时钟配置来说,AHB=72M & &APB1CLK =36M,是一个二分频的关系,这个时候就是触发倍频器x2&
这样挂在APB1上的定时器的时钟源就是 &36M*2 ,也就是说定时器2、3、4的时钟源也是72M
而APB2CLK相对于AHBCLk分频系数为1,则倍频器x1 & 时钟应该为72M*1,也就是定时器1、8的时钟源为72M
-------------------------------------------------------------------
上面主要解释了挂在不同频率的时钟线APBx上的定时器在计算的时钟,时钟源还是一样的 &都是72M
当然,如果APB1CLK的时钟分频不是2,而是4 &也就是 &APB1CLK为18M的时候,这个时钟定时器2、3、4的时钟应该是18M*2 = 36M
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:14174次
排名:千里之外
原创:29篇
(2)(6)(5)(3)(6)(1)(1)(2)(1)(6)(2)(1)(2)后使用快捷导航没有帐号?
查看: 5364|回复: 11
请问stm32f407的TIM1和其他标准定时器有什么区别
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
本帖最后由 helenhll 于
16:36 编辑
我用定时器做输入捕获,同样的程序,TIM3可以,TIM1就没有。
用的PB0管脚,正好是TIM3的chanel 3,和TIM1的channel2.
配置都一样,中断函数TIM1用的TIM1_CC_IRQHandler,
但是就是不进中断,改成TIM3的话就可以。。。
但此时TIM1还是在运行的,我看到CNT计数器一直在变化
这两配置还有什么区别吗
&&&&&&&&&&
在线时间1345 小时
威望77294分
芯币14172枚
TA的帖子TA的资源
你把你的配置发一下让大家看一下,它们不在一个时钟总线上 TIME1 在APB2上&&TIME3在APB1上
我上了配置了,帮我看看啊,大侠&
处处留心皆学问!
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
本帖最后由 helenhll 于
16:22 编辑
改成TIM8也不行,情况和TIM1一样,TIM8的配置程序
& && &&&RCC-&APB2ENR |= RCC_APB2Periph_TIM8;
& && &&&sysPinAFConfig(GPIOB, GPIO_PinSource0, GPIO_AF_TIM8);
& && &&&sysPinAFConfig(GPIOB, GPIO_PinSource1, GPIO_AF_TIM8);
& && &&&GPIO_InitStructure.GPIO_Pin =&&GPIO_Pin_0|GPIO_Pin_1;
& && &&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
& && &&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
& && &&&GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
& && &&&GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
& && &&&sysPinInit(GPIOB, &GPIO_InitStructure);
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //死区控制用。
&&TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;&&//计数器方向
&&TIM_TimeBaseInitStructure.TIM_Prescaler = 41;& &//Timer clock = sysclock /(TIM_Prescaler+1) = 2M
&&TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
&&TIM_TimeBaseInitStructure.TIM_Period = 0xFFFF;& &
&&TIM_TimeBaseInit(TIM8,&TIM_TimeBaseInitStructure);
&&TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;
&&TIM_ICInitStructure.TIM_ICFilter = 0;
&&TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_R
&&TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
&&TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
&&TIM_ICInit(TIM8,&TIM_ICInitStructure);
&&TIM_SelectInputTrigger(TIM8, TIM_TS_TI1FP1);
&&TIM_SelectSlaveMode(TIM8, TIM_SlaveMode_Reset );//触发方式&&
&&TIM_SelectMasterSlaveMode(TIM8, TIM_MasterSlaveMode_Enable); //
&&TIM_ClearITPendingBit(TIM8, TIM_IT_CC2);
&&TIM_ITConfig(TIM8, TIM_IT_CC2, ENABLE);
stm32fIntEnable(TIM8_CC_IRQn, INT_PRIO_1MS);
&&TIM8-&CR1 |= TIM_CR1_CEN;
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
TIM3的配置程序修改了
RCC-&APB1ENR |= RCC_APB1Periph_TIM3;
stm32fIntEnable(TIM3_IRQn, INT_PRIO_1MS);
其余就是TIM8-&TIM3,
channel从2-&3
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
我怀疑是APB2有什么问题
可是我用了一个USART1,也是APB2上的,可以读写
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
你把你的配置发一下让大家看一下,它们不在一个时钟总线上 TIME1 在APB2上&&TIME3在APB1上
我上了配置了,帮我看看啊,大侠
在线时间1345 小时
威望77294分
芯币14172枚
TA的帖子TA的资源
如果引脚的时钟配置好,复用功能定义,定时器配置,
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_E //互补输出允许
我这个是捕获,为什么要配输出呢?&
处处留心皆学问!
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
如果引脚的时钟配置好,复用功能定义,定时器配置,
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputN ...
我这个是捕获,为什么要配输出呢?
在线时间1345 小时
威望77294分
芯币14172枚
TA的帖子TA的资源
本帖最后由 daicheng 于
16:52 编辑
不好意思 刚才看错了
看一下手册反向引脚是否能够进行捕获功能
请问是啥意思啊?
是说这个引脚吗?PB0这个引脚可以捕获的,我用TIM3定时器,还是这个引脚,可以捕获。
还是说TIM1和TIM8的channel2不能用于捕获?&
处处留心皆学问!
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
不好意思 刚才看错了
看一下手册反向引脚是否能够进行捕获功能
请问是啥意思啊?
是说这个引脚吗?PB0这个引脚可以捕获的,我用TIM3定时器,还是这个引脚,可以捕获。
还是说TIM1和TIM8的channel2不能用于捕获?
在线时间5 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
没人回答吗
确认了一下PB0为PWM反向输出引脚(TIM2_CH2N/TIM8_CH2N ),如果捕获的话需要使用使用TIM2_CH2/TIM8_CH2&
在线时间1345 小时
威望77294分
芯币14172枚
TA的帖子TA的资源
没人回答吗
确认了一下PB0为PWM反向输出引脚(TIM2_CH2N/TIM8_CH2N ),如果捕获的话需要使用使用TIM2_CH2/TIM8_CH2
处处留心皆学问!
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
Powered by
逛了这许久,何不进去瞧瞧?9990人阅读
STM32(43)
STM32定时器溢出模式设置
本文博客链接:,作者:jdh,转载请注明.
开发环境:MDK4.23
MCU:STM32F103CBT6
说明:定时器采用TIM2,时钟源为内部8M晶振,向上溢出模式.此定时器用在延时函数,最小可以延时1us,故没有采用中断形式定时.
初始化代码:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);
//重新将Timer设置为缺省值
TIM_DeInit(TIM2);
//采用内部时钟给TIM2提供时钟源
TIM_InternalClockConfig(TIM2);
timInitStruct.TIM_ClockDivision = TIM_CKD_DIV2;
//定时器基准频率8MHz
timInitStruct.TIM_Prescaler = 8 - 1;
//计数频率为1us跳转1次
timInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
//向上计数
timInitStruct.TIM_RepetitionCounter = 0;
timInitStruct.TIM_Period = 0;
//这个值实际上就是TIMX-&ARR,延时开始时重新设定即可
TIM_TimeBaseInit(TIM2, &timInitStruct);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
//计数溢出时触发中断
TIM_Cmd(TIM2, ENABLE);
//开启计数器
延时函数代码:
//最大65536us
void _delay_us(uint16_t t)
TIM_SetCounter(TIM2,0);
TIM_SetAutoreload(TIM2,t - 1);
//等待时间到
while (TIM_GetITStatus(TIM2,TIM_FLAG_Update) == 0);
//停止计数
TIM_SetAutoreload(TIM2,0);
//清中断标志
TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);
//最大65ms
void _delay_ms(uint8_t t)
if (t & 65)
_delay_us(t * 1000);
说明:定时器采用TIM3,时钟源为内部8M晶振,向上溢出模式.此定时器用在长时间计时,最小计时间隔为100us,故采用中断形式定时.
初始化代码:
//中断NVIC设置:允许中断,设置优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
//更新事件
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
//抢占优先级0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
//响应优先级1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
//允许中断
NVIC_Init(&NVIC_InitStructure);
//写入设置
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
//重新将Timer设置为缺省值
TIM_DeInit(TIM3);
//采用内部时钟给TIM3提供时钟源
TIM_InternalClockConfig(TIM3);
timInitStruct.TIM_ClockDivision = TIM_CKD_DIV2;
//定时器基准频率8MHz
timInitStruct.TIM_Prescaler = 800 - 1;
//计数频率为100us跳转1次
timInitStruct.TIM_CounterMode = TIM_CounterMode_Up;
//向上计数
timInitStruct.TIM_RepetitionCounter = 0;
timInitStruct.TIM_Period = 0;
//这个值实际上就是TIMX-&ARR,延时开始时重新设定即可
TIM_TimeBaseInit(TIM3, &timInitStruct);
//清溢出中断标志
TIM_ClearFlag(TIM3, TIM_FLAG_Update);
//禁止ARR预装载缓冲器
TIM_ARRPreloadConfig(TIM3, DISABLE);
//开启中断
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
TIM_Cmd(TIM3, ENABLE);
//开启计数器
中断函数代码:
//TIM3中断
void TIM3_IRQHandler(void)
if(TIM_GetITStatus(TIM3, TIM_IT_Update) == SET)
TIM3-&ARR = 0;
//清中断溢出标志
TIM_ClearITPendingBit(TIM3,TIM_FLAG_Update);
//发送信号
Sig_Table.stop_require = 1;
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:928078次
积分:12025
积分:12025
排名:第895名
原创:162篇
转载:19篇
评论:517条
阅读:22368
阅读:50891
文章:19篇
阅读:219271
阅读:20369
(1)(3)(5)(3)(5)(2)(2)(2)(4)(3)(8)(2)(4)(2)(2)(1)(3)(4)(5)(1)(2)(4)(5)(6)(2)(1)(1)(4)(2)(1)(1)(2)(3)(1)(6)(5)(1)(6)(9)(11)(5)(4)(8)(18)(2)(2)(1)(1)(3)(2)(3)21ic官方微信-->
后使用快捷导航没有帐号?
查看: 4108|回复: 19
stm32f103rct6 定时器TIM1输出PWM问题
&&已结帖(20)
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
void Timer_Configuration(void)& & & & & & & & & & & && && && && &&&
& & & & TIM_TimeBaseInitTypeDef& & TIM_TimeBaseS
& & & & GPIO_InitTypeDef GPIO_InitS
& & & & TIM_OCInitTypeDef&&TIM_OCInitS
& & //&&TIMER1 定时器 PWM输出
& & & & RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
& & & & GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
& & & & GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
& & & & GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
& & & & GPIO_Init(GPIOB, &GPIO_InitStructure);
//& & & & GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);
& &/************************************
& & 频率 F = 16.384M / ( (+1) )
& &*********************************/& && && && && && && && && && && && && &
& & & & TIM_TimeBaseStructure.TIM_Period = 1023;& & & && && && && && && & //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
& & & & TIM_TimeBaseStructure.TIM_Prescaler = 15;& & & && && && && && && & //设置用来作为TIMx时钟频率除数的预分频值
& & & & TIM_TimeBaseStructure.TIM_ClockDivision = 0;& & & & & & & & & & & & & & & && &//设置时钟分割:TDTS = Tck_tim
& & & & TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;& & & && &//向上计数模式
& & & & TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
& & & & TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);& & & & & & & & & & & & & & & && &//根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
& & & & TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_T& & & & & & & && && & //pwm模式一输出
& & & & TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_E //比较输出使能
& & & & TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_E//反向通道使能
& & & & TIM_OCInitStructure.TIM_Pulse = 512;& & & & & & & & & & & & & & & & & & & && && & //设置待装入捕获比较寄存器的脉冲值
& & & & TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_H& && &//输出极性
& & TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_L& & //互补端的极性
& & TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_S
& & TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_R
& & & & TIM_OC1Init(TIM1, &TIM_OCInitStructure); & & & && && && && && && & //使能tim4在ccr3上的预装载寄存器
& & & & TIM_OCInitStructure.TIM_Pulse = 512;
& & & & TIM_OC2Init(TIM1, &TIM_OCInitStructure);
& & & & //清中断
& &&&TIM_ClearFlag(TIM1, TIM_FLAG_CC1);
& &&&//TIM1中断源设置,开启相应通道的捕捉比较中断
& &&&TIM_ITConfig(TIM1, TIM_IT_CC1, ENABLE);
& & & &&&//通道输出使能
& &&&TIM_CtrlPWMOutputs(TIM1, ENABLE);
& & & & TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable);
& & & & TIM_ARRPreloadConfig(TIM1, ENABLE);& & & & & & & & & & & & & & & & & & & & & & & & & & & && &//使能TIMx在ARR上的预装载寄存器
& & & & //TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);& & & & & & & & & & & & & & & & & & & && &//使能tim1中断
& & & & TIM_Cmd(TIM1, ENABLE);& &//使能定时器
引脚不输出PWM信号
满意回复+20
你的时钟分配的都不对怎么可能会有输出呢
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:37.00
主题帖子积分
加上这句试下:
GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, ENABLE);& & & &
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
mmuuss586 发表于
加上这句试下:
GPIO_PinRemapConfig(GPIO_FullRemap_TIM1, ENABLE);
加了也没输出pwm信号:(
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:37.00
主题帖子积分
kqslid 发表于
加了也没输出pwm信号
RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
mmuuss586 发表于
RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_T ...
就是不输出,真是愁死了
主题帖子积分
高级技术员, 积分 820, 距离下一级还需 180 积分
高级技术员, 积分 820, 距离下一级还需 180 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 820, 距离下一级还需 180 积分
高级技术员, 积分 820, 距离下一级还需 180 积分
先普通的IO输出,在设置时钟PWM输出试试,这样容易发现问题出在那里
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
yang4469 发表于
先普通的IO输出,在设置时钟PWM输出试试,这样容易发现问题出在那里 ...
这个是程序的一部分,其他的部分(io口,串口等)调试都没问题,应该是这部分配置的问题
主题帖子积分
高级技术员, 积分 820, 距离下一级还需 180 积分
高级技术员, 积分 820, 距离下一级还需 180 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 820, 距离下一级还需 180 积分
高级技术员, 积分 820, 距离下一级还需 180 积分
本帖最后由 yang4469 于
15:04 编辑
kqslid 发表于
这个是程序的一部分,其他的部分(io口,串口等)调试都没问题,应该是这部分配置的问题 ...
IO口配置的模式要对,stm32f103ve的PWM输出需要配置为复用推免模式才会有输出,开漏或者其他的都不行
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
你的时钟分配的都不对怎么可能会有输出呢
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
赶紧再看看时钟树
主题帖子积分
高级技术员, 积分 547, 距离下一级还需 453 积分
高级技术员, 积分 547, 距离下一级还需 453 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 547, 距离下一级还需 453 积分
高级技术员, 积分 547, 距离下一级还需 453 积分
& && && &//通道输出使能
& &&&TIM_CtrlPWMOutputs(TIM1, ENABLE);
把这句话放到最后,即 “TIM_Cmd(TIM1, ENABLE);& &//使能定时器”之后。
Only to live happily and wonderfully!
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
usst_mcclane 发表于
赶紧再看看时钟树
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& & & & RCC_APB2Periph_ADC1|
& && && && && && && && & RCC_APB2Periph_GPIOB&&| RCC_APB2Periph_GPIOC |& & & & RCC_APB2Periph_TIM1|
& && && && && && && && & RCC_APB2Periph_GPIOD&&| RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO, ENABLE);
&&RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB1Periph_USART3|RCC_APB1Periph_UART4|
& && && && && && && && &&&RCC_APB1Periph_UART5|RCC_APB1Periph_TIM4&&|RCC_APB1Periph_SPI2, ENABLE);
哪里有问题啊,看不出来啊
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& && &&&RCC_APB2Periph_ADC1|
& && && && && && && && & RCC_APB2Periph_GPIOB&&| RCC_APB2Periph_GPIOC |& && &&&RCC_APB2Periph_TIM1|
& && && && && && && && & RCC_APB2Periph_GPIOD&&| RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO, ENABLE);
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
kqslid 发表于
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& & & & RCC_APB2Periph_ADC1|
& && &&&...
TIM1是APB2的外设,你写的是RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
你自己的时钟树里面写的有RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& && &&&RCC_APB2Periph_ADC1|
& && && && && && && && & RCC_APB2Periph_GPIOB&&| RCC_APB2Periph_GPIOC |& && &&&RCC_APB2Periph_TIM1|
& && && && && && && && & RCC_APB2Periph_GPIOD&&| RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO, ENABLE);
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
usst_mcclane 发表于
TIM1是APB2的外设,你写的是RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
你自己的时钟树里面 ...
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& && &&&RCC_APB2Periph_ADC1|
& && && && && && && && & RCC_APB2Periph_GPIOB&&| RCC_APB2Periph_GPIOC |& && &&&RCC_APB2Periph_TIM1|
& && && && && && && && & RCC_APB2Periph_GPIOD&&| RCC_APB2Periph_GPIOE| RCC_APB2Periph_AFIO, ENABLE);
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 117, 距离下一级还需 183 积分
中级技术员, 积分 117, 距离下一级还需 183 积分
kqslid 发表于
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA |& && &&&RCC_APB2Periph_ADC1|
你时钟树里面写的是APB2,那里你是设置了,但是你后来的程序中写的是TIM_TimeBaseInitTypeDef& & TIM_TimeBaseS
& && &&&GPIO_InitTypeDef GPIO_InitS
& && &&&TIM_OCInitTypeDef&&TIM_OCInitS
& & //&&TIMER1 定时器 PWM输出
& && &&&RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE);
程序会以你后面这个为准的
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
usst_mcclane 发表于
你时钟树里面写的是APB2,那里你是设置了,但是你后来的程序中写的是TIM_TimeBaseInitTypeDef& & TIM_Tim ...
我一直在调试,这条语句已经被我注释掉了,也没有输出
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
实习生, 积分 48, 距离下一级还需 2 积分
实习生, 积分 48, 距离下一级还需 2 积分
usst_mcclane 发表于
你时钟树里面写的是APB2,那里你是设置了,但是你后来的程序中写的是TIM_TimeBaseInitTypeDef& & TIM_Tim ...
把这段代码用我的开发板调试就有输出,但是这个pcb板我看了也没发现有什么问题
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
找到原因了吗?
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
sihuochubulai
技术新星奖章
人才类勋章
技术领袖奖章
人才类勋章
时间类勋章
坚毅之洋流
发帖类勋章
荣誉元老奖章
等级类勋章
技术奇才奖章
人才类勋章
时间类勋章
甘甜之泉水
发帖类勋章
技术高手奖章
人才类勋章
时间类勋章
涓涓之细流
发帖类勋章

我要回帖

更多关于 stm32 的文章

 

随机推荐