IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STM32F4 TIM1输出PWM配置 -> 正文阅读

[嵌入式]STM32F4 TIM1输出PWM配置

芯片使用的是STM32F407VET6,在项目中使用PWM控制LCD背光亮度,硬件设计使用PB0--TIM1-CH2N,使用时出现PWM的输出受LCD显示内容相关函数影响

原因:

使用硬件PB0--TIM1-CH2N输出pwm ? 配置时配置了CH2、CH2N

解决方法:
单独使用CHxN不使用CHx时应将CHx设为禁用 否则可能出现问题

为确保安全 需单独使用CHx时 也应将CHxN设置为禁用

单独使用CHxN时配置代码:

void TIM1_CH2N_PWM_Init(u32 arr,u32 psc)
{?? ??? ? ?? ?

?? ?GPIO_InitTypeDef GPIO_InitStructure;
?? ?TIM_TimeBaseInitTypeDef ?TIM_TimeBaseStructure;
?? ?TIM_OCInitTypeDef ?TIM_OCInitStructure;
?? ?
?? ?RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE); ??? ?//TIM9时钟使能 ? ?
?? ?RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); //使能PORTA时钟?? ?
?? ?
?? ?GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //GPIOA3
?? ?GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
?? ?GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;?? ?//速度100MHz
?? ?GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽复用输出
?? ?GPIO_InitStructure.GPIO_PuPd = ?GPIO_PuPd_NOPULL;//上拉
?? ?GPIO_Init(GPIOB,&GPIO_InitStructure); //初始化PA3
?
?? ?GPIO_PinAFConfig(GPIOB,GPIO_PinSource0,GPIO_AF_TIM1); //GPIOA3复用位定时器9 AF3
? ? TIM_DeInit(TIM1);
?? ?TIM_TimeBaseStructure.TIM_Prescaler=psc; ?//定时器分频
?? ?TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
?? ?TIM_TimeBaseStructure.TIM_Period=arr; ? //自动重装载值
?? ?TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;?
?? ?TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);//初始化定时器9

? TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
? TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Disable;//正向输出失能 ?CH2--失能
? TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;//反向输出使能 CH2N--使能
? TIM_OCInitStructure.TIM_Pulse = 0;
? //TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//正向通道的输出极性
? TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCPolarity_High;互补通道的输出极性
? ///TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;//正向通道的空闲状态
? TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;//互补通道的空闲状态


?? ?
?? ?TIM_OC2Init(TIM1, &TIM_OCInitStructure); ?//根据T指定的参数初始化外设TIM9 OC2
?? ?TIM_OC2PreloadConfig(TIM1, TIM_OCPreload_Enable); ?//使能TIM1在CCR2上的预装载寄存器
?? ?TIM_CCxCmd(TIM1, ?TIM_Channel_2, ?TIM_CCx_Disable);//禁止TIM1-CH2 输出? ?需要单独使用?TIM1-CH2 时 此处因设置为?禁止TIM1-CH2N 输出
? ? TIM_ARRPreloadConfig(TIM1,ENABLE);//ARPE使能 ?? ?
?? ?TIM_Cmd(TIM1, ENABLE); ?//使能TIM1
?? ?TIM_CtrlPWMOutputs(TIM1, ENABLE);
?? ?TIM_SetCompare2(TIM1, 100);?? ??? ??? ??? ??? ??? ??? ??? ??? ? ?
} ?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:49:03  更:2022-05-18 17:49:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:37:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码