当前位置:首页 > 单片机 > 单片机
[导读]实验现象:LED一亮一灭闪烁在main函数中改变比较寄存器的值/*****************************************************************************************函 数 名:bsp_InitTIM11*函数功能:初始化IO 和定时器11*形

实验现象:LED一亮一灭闪烁

在main函数中改变比较寄存器的值




/****************************************************************************************
*函 数 名:bsp_InitTIM11
*函数功能:初始化IO 和定时器11
*形 参:arr重装载寄存器的值 psc预分频
*返 回 值:无
*****************************************************************************************/
void bsp_InitTIM11(uint16_t arr,uint16_t psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);/*使能GPIOF时钟*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM11,ENABLE);/*使能定时器11时钟*/

GPIO_PinAFConfig(GPIOF,GPIO_PinSource7,GPIO_AF_TIM11);/*复用*/

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;/*复用*/
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;/*推挽输出*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;/*PF7*/
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;/*上拉*/
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;/**/
GPIO_Init(GPIOF,&GPIO_InitStructure);/*初始化IO*/

TIM_TimeBaseInitStructure.TIM_Period = arr;/*自动重装载*/
TIM_TimeBaseInitStructure.TIM_Prescaler = psc;/*预分频*/
TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;/*时钟分频*/
TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;/*向上计数*/
TIM_TimeBaseInit(TIM11,&TIM_TimeBaseInitStructure);/*初始化*/

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/*PWM模式*/
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;/*输出*/
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;/*起始是低*/
TIM_OC1Init(TIM11,&TIM_OCInitStructure);

TIM_OC1PreloadConfig(TIM11,TIM_OCPreload_Enable);/*输出比较预装载使能*/

TIM_ARRPreloadConfig(TIM11,ENABLE);/*自动重载预装载使能*/


TIM_Cmd(TIM11,ENABLE);/*计数使能*/
}

/*
*********************************************************************************************************
* 函 数 名: main
* 功能说明: c程序入口
* 形 参:无
* 返 回 值: 错误代码(无需处理)
*********************************************************************************************************
*/
int main(void)
{
/*
ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_stm32f4xx.c 文件,主要功能是
配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM
*/
bsp_Init();//初始化定时器


/* 进入主程序循环体 */
while (1)
{
bsp_DelayMS(1000);
TIM_SetCompare1(TIM11,450);
bsp_DelayMS(1000);
TIM_SetCompare1(TIM11,10);
}
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Holtek新推出BS67F2432具备触控按键、高精准度HIRC与LCD驱动器Flash MCU。主要特色为内建高精准度4MHz HIRC振荡电路、8路触控按键及最大支持4COM×15SEG LCD驱动器。适用于触控接...

关键字: MCU LCD驱动器 定时器

Holtek持续扩展Touch A/D Flash MCU产品,新增系列成员BS86C12CA,延续优良抗干扰特性,提供丰富的定时器资源并支持LXT振荡器。引脚与BS86C08C及BS86D12C相容,具高性价比,适合需...

关键字: MCU LXT振荡器 定时器

采用MCU(微控制器单元)模块实现定时器的设计是通过利用MCU内部的定时器/计数器资源来实现的。定时器是MCU中的一个重要功能模块,它可以在特定的时间间隔内执行特定的操作,如产生中断、更新定时器值、触发其他设备等。

关键字: mcu模块 定时器

在这篇文章中,小编将对pwm的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: pwm 脉冲宽度调制

在下述的内容中,小编将会对PWM控制器的相关消息予以报道,如果PWM控制器是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 控制器 pwm控制器

单片机的外设是指与单片机核心处理部分相连的附加硬件模块,它们能够扩展单片机的功能和能力。这些外设包括各种模块和接口,用于处理特定的任务或实现特定的功能。

关键字: 单片机 定时器

PIC单片机是基于RISC系统结构的单片机,最初的设计是支持PDP(编程数据处理器)计算机。大量的操作可以用来控制外围设备。PIC单片机比微控制器具有更快的程序执行能力。它是由微芯片技术公司于1889年发明的,是一种8位...

关键字: PIC单片机 定时器 中断

外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用,无需用复杂的程序结构来减少接点的使用次数。

关键字: plc编程 定时器 计数器

在下述的内容中,小编将会对PWM的相关消息予以报道,如果PWM是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: pwm 变换器

在这篇文章中,小编将为大家带来PWM变换器的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: pwm 变换器 pwm变换器
关闭
关闭