a)目的:基础pwm输出,以及中断配合应用。输出选用pb1,配置为tim3_ch4,是目标板的led6控制脚。
b)对于简单的pwm输出应用,暂时无需考虑tim1的高级功能之区别。
c)初始化函数定义:
void tim_configuration(void);//定义tim初始化函数
d)初始化函数调用:
tim_configuration();//tim初始化函数调用
e)初始化函数,不同于前面模块,tim的初始化分为两部分——基本初始化和通道初始化:
void tim_configuration(void)//tim初始化函数
{
tim_timebaseinittypedeftim_timebasestructure;//定时器初始化结构
tim_ocinittypedeftim_ocinitstructure;//通道输出初始化结构
//tim3初始化
tim_timebasestructure.tim_period = 0xffff;//周期0~ffff
tim_timebasestructure.tim_prescaler = 5;//时钟分频
tim_timebasestructure.tim_clockdivision = 0;//时钟分割
tim_timebasestructure.tim_countermode = tim_countermode_up;//模式
tim_timebaseinit(tim3, &tim_timebasestructure);//基本初始化
tim_itconfig(tim3, tim_it_cc4, enable);//打开中断,中断需要这行代码
//tim3通道初始化
tim_ocstructinit(& tim_ocinitstructure);//默认参数
tim_ocinitstructure.tim_ocmode = tim_ocmode_pwm1;//工作状态
tim_ocinitstructure.tim_outputstate = tim_outputstate_enable;//设定为输出,需要pwm输出才需要这行代码
tim_ocinitstructure.tim_pulse = 0x2000;//占空长度
tim_ocinitstructure.tim_ocpolarity = tim_ocpolarity_high;//高电平
tim_oc4init(tim3, &tim_ocinitstructure);//通道初始化
tim_cmd(tim3, enable);//启动tim3
}
f)rcc初始化函数中加入tim时钟开启:
rcc_apb2periphclockcmd(rcc_apb2periph_tim3, enable);
g)gpio里面将输入和输出管脚模式进行设置。信号:af_pp,50mhz。
h)使用中断的话在nvic里添加如下代码:
//打开tim2中断
nvic_initstructure.nvic_irqchannel = tim2_irqchannel;//通道
nvic_initstructure.nvic_irqchannelpreemptionpriority = 3;//占先级
nvic_initstructure.nvic_irqchannelsubpriority = 1;//响应级
nvic_initstructure.nvic_irqchannelcmd = enable;//启动
nvic_init(&nvic_initstructure);//初始化
中断代码:
void tim2_irqhandler(void)
{
if (tim_getitstatus(tim2, tim_it_cc4) != reset)//判断中断来源
{
tim_clearitpendingbit(tim2, tim_it_cc4);//清除中断标志
gpio_writebit(gpiob, gpio_pin_11, (bitaction)(1-gpio_readoutputdatabit(gpiob, gpio_pin_11)));//变换led色彩
ic4value = tim_getcapture4(tim2);//获取捕捉数值
}
}
i)简单应用:
//改变占空比
tim_setcompare4(tim3, 变量);
j)注意事项:
管脚的io输出模式是根据应用来定,比如如果用pwm输出驱动led则应该将相应管脚设为af_pp,否则单片机没有输出。
单片机怎么接收远距离24V无源开关传来的信号?
闹市也能安静畅聊 声加科技SVE三麦克风通话降噪算法助力OPPO Enco W51耳机上市
中国联通在2019年通过四方面努力推动经营转型取得了开局性进展
十二五集成电路销售达3300亿 着力发展芯片设计业
沃尔玛正在测试自动拣货机器人“Alphabot”,员工可能会遭失业
STM32基础PWM输出
三星折叠式手机上市时间倒计时,预计3月底就能制造出完成品
全面屏手机主要有三种结构,这三种结构最终哪一种是主流?
草帽形LED灯珠和贴片灯珠那个好?
如何从解决方案开始 – 交互式信号链
用USB卫星接收盒接收远程教育资源的创意方案分析
Vivaldi 2.9基于最新的Chromium 78.0.3904.72开源Web浏览器
2021 年“双千兆”面临四大核心挑战 网络升级和融合应用培育是关键
Q3全球电视出货量达5497万台,小米排名第五
新唐科技NUC472 系列简介
如何制作空气质量监测器
中芯国际二零二二年第三季度业绩公告
果断变身“预警大师”,地震监测仪DIY设计
基于西门子PLC机房电源监控物联网系统解决方案
828 B2B企业节“中软国际日” | 全面解析政企数字化办公升级之路