STM32 基本定时器输出,GPIO翻转输出最大频率是多少?

2019-07-20 17:28发布

void tim_NVIC_Configuration()
{
   NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.NVIC_IRQChannel=time_IRQ;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void tim_Configuration()
{
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
RCC_APB1PeriphClockCmd(time_CLK,ENABLE);
TIM_TimeBaseStructure.TIM_Period=9;
TIM_TimeBaseStructure.TIM_Prescaler=0;
TIM_TimeBaseInit(time,&TIM_TimeBaseStructure);
TIM_ClearFlag(time,TIM_FLAG_Update);
TIM_ITConfig(time,TIM_IT_Update,ENABLE);
TIM_Cmd(time,ENABLE);
}
void GPIO_Configuration()
{

GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(GPIO_CLK, ENABLE);  
   GPIO_InitStructure.GPIO_Pin=GPIO_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(OutGPIO,&GPIO_InitStructure);
}
stm32f103通过基本定时器实现在定时器中断中对GPIOE管脚输出一个方波,输出的方波按照计算应该是3.6MHz,但是示波器观测到的波形只有600kHz,那位大神能够指导一下!
而且波形也有很大的毛刺
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 22:07
估计你的计算有问题,或者主频不对
hefuzhang
2楼-- · 2019-07-20 22:43
 精彩回答 2  元偷偷看……
hefuzhang
3楼-- · 2019-07-20 23:51
正点原子 发表于 2016-12-26 01:47
估计你的计算有问题,或者主频不对

这段时间工作忙,没有调用RCC函数,直接用的默认的主频时钟90M,频率较低时通过示波器观测的频率和计算的一样,但是频率设置过高时就会出现了问题


根据公式,理论上是可以通过GPIO翻转出一个10M的方波频率的

一周热门 更多>