历史上的今天
返回首页

历史上的今天

今天是:2024年09月27日(星期五)

正在发生

2021年09月27日 | stm32 pwm波 输出的对应通道

2021-09-27 来源:eefocus

(1) 定时器通道的管脚是确定的,不能随意改动。博主现在用的是STM32f103c8,其它的可以查相应的手册。


详细配置如下:


TIM1_CH1->PA8;

TIM1_CH2->PA9;

TIM1_CH3->PA10;

TIM1_CH4->PA11;


TIM2_CH1->PA0;

TIM2_CH2->PA1;

TIM2_CH3->PA2;

TIM2_CH4->PA3;


TIM3_CH1->PA6;

TIM3_CH2->PA7;

TIM3_CH3->PB0;

TIM3_CH4->PB1;


TIM4_CH1->PB6;

TIM4_CH1->PB7;

TIM4_CH1->PB8;

TIM4_CH1->PB9;


(2)不是所有的芯片都有重映像功能的,STM32f103c8这四个定时器就不需要重映像。


(3)定时器输出需要设置各个模块:


1)相应时钟要提前进行使能,其中包括TIMx,GPIO(用到哪个可以开哪个,初学者也可以全开起;

比如说:用TIM4 ,并且用到GPIOA 、GPIOB:


 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);


2)GPIO相应管脚模式设置


这里开启PB6~PB8


GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6

                           |GPIO_Pin_7

                           |GPIO_Pin_8

                           |GPIO_Pin_9;

          GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

          GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

          GPIO_Init(GPIOB,&GPIO_InitStructure);


3)定时器设置(下面的例子是产生4个通道的PWM)


void TIM_Configuration(void)

{

TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;

TIM_OCInitTypeDef         TIM_OCInitStructure;


TIM_DeInit(TIM4);


TIM_TimeBaseStructure.TIM_Period=(100-1);     //ARR的值 设定为100方便后期计算

TIM_TimeBaseStructure.TIM_Prescaler=(4000-1);

TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //采样分频

TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;

TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

TIM_ARRPreloadConfig(TIM4, ENABLE);//使能ARR预装载缓冲器


        /* Channel 1 Configuration in PWM mode */

        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;     //PWM模式1

        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //正向通道有效

        TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;//反向通道无效

        TIM_OCInitStructure.TIM_Pulse = 100;                                                         //占空时间

        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;    //输出极性

        TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; //互补端的极性  

        TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;

        TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;  


        TIM_OC1Init(TIM4,&TIM_OCInitStructure);      //通道1

        TIM_OCInitStructure.TIM_Pulse = 80;         //占空时间

        

       TIM_OC2Init(TIM4,&TIM_OCInitStructure);      //通道2

        TIM_OCInitStructure.TIM_Pulse = 40;         //占空时间

       

       TIM_OC3Init(TIM4,&TIM_OCInitStructure);      //通道3

        TIM_OCInitStructure.TIM_Pulse = 20;         //占空时间

        

     TIM_OC4Init(TIM4,&TIM_OCInitStructure);      //通道4

        TIM_OCInitStructure.TIM_Pulse = 10;         //占空时间


        /* TIM1 counter enable */

        TIM_Cmd(TIM4,ENABLE);

        

        /* TIM1 Main Output Enable */

        TIM_CtrlPWMOutputs(TIM4,ENABLE);


}

推荐阅读

史海拾趣

宝乘(baocheng)公司的发展小趣事

在激烈的市场竞争中,宝乘公司始终坚持质量为本的原则。公司建立了严格的质量管理体系,从原材料采购到生产加工、产品测试等各个环节都严格把关。正是这种对质量的执着追求,让宝乘的产品赢得了客户的信赖和好评。许多知名企业都成为了宝乘的长期合作伙伴,共同推动电子行业的发展。

全鹏(CHAMPION)公司的发展小趣事

随着电子商务的快速发展,全鹏公司也积极拥抱这一趋势。自2010年起,全鹏公司成立了电子商务零售部门,并与国内知名电商平台建立了长期战略合作关系。通过线上销售过季产品和折扣商品,全鹏公司的电商业务迅速增长,成为其新的增长点。同时,全鹏公司还不断优化电商平台的运营和管理,提升客户服务质量,为客户提供更加便捷、高效的购物体验。

以上五个故事基于全鹏公司在电子行业的发展历程和成就进行虚构,旨在展示全鹏公司在市场拓展、品牌建设、质量管理、研发创新和电商业务等方面的努力和成果。

台湾凌通(Generalplus)公司的发展小趣事
根据应用场合的光线变化范围和指示灯的响应要求,选择合适灵敏度的光敏元件。
格莱尔(GLE)公司的发展小趣事

深圳市格莱尔电子有限公司成立于2005年,初期专注于电感产品的研发与生产。在创始人及团队的共同努力下,公司迅速在行业内崭露头角。随着技术的不断积累和市场需求的扩大,格莱尔逐渐扩大生产规模,并于2012年在湖北投资建厂,自建两座工厂,厂房面积达2万平方米,员工人数增长至500人。这一系列的举措不仅提升了公司的生产能力,也为其后续的发展奠定了坚实的基础。

EMC Component Group公司的发展小趣事

深圳市格莱尔电子有限公司成立于2005年,初期专注于电感产品的研发与生产。在创始人及团队的共同努力下,公司迅速在行业内崭露头角。随着技术的不断积累和市场需求的扩大,格莱尔逐渐扩大生产规模,并于2012年在湖北投资建厂,自建两座工厂,厂房面积达2万平方米,员工人数增长至500人。这一系列的举措不仅提升了公司的生产能力,也为其后续的发展奠定了坚实的基础。

E-CMOS(飞虹高科)公司的发展小趣事

随着电子行业的快速发展,市场对CMOS图像传感器的需求日益增长。飞虹高科公司意识到,要想在市场中保持领先地位,必须不断进行技术创新。因此,公司加大了研发投入,引进了一批高端研发设备,并与国内外知名高校和研究机构建立了紧密的合作关系。经过数年的努力,公司成功开发出了多款具有自主知识产权的CMOS图像传感器产品,其中一款产品以其高灵敏度、低功耗和低噪声等优异性能,赢得了客户的广泛赞誉。

问答坊 | AI 解惑

ck9561能和lc246混用吗,很着急的,谢谢啊

ck9561能和lc246混用吗,很着急的,谢谢啊…

查看全部问答>

在ads里 字符串操作

在ads里 字符串操作 不会。举个简单例子,我读取时间寄存器得到 年月日 向组合 城 2007年 5月5日 这样显示 就是在数据中间加上汉字年月日 我竟然不会,研究两天了 ,在pc上特容易的事在这 …… …

查看全部问答>

求助:evc下自绘按钮无法输出caption

void CUniButton::DrawButtonCaption(HDC hDC, CRect * pRect, BOOL bEnabled, BOOL bSunken) { // select parent font         int nOldMode = SetBkMode(hDC,OPAQUE);         CString text; &nbs ...…

查看全部问答>

紧急求助!!!!!!启动盘做的总是有问题

我用的是intel82559er网卡,amd的Geode GX!处理器,选用的tornado软件为pc486的,config.h中修改如下“eevER(0,0)host:vxworks h=192.168.0.11 e=192.168.0.12 u=txd pw=targer tn=target”,启动盘插入目标机后,目标机显示几行配置参数,然后显示 ...…

查看全部问答>

学单片机学到什么水平能算有基础了?才能继续学STM32

小小白笑我没基础。。。 我不知道什么叫基础,什么水平才是掌握了基础。 大家说说自己的看法吧。…

查看全部问答>

网络协议芯片和用处理器写协议,这两种操作各自的优点和缺点是什么

如题,网络协议芯片和用处理器或者FPGA写网络协议直接跟以太网PHY芯片连接,这两种操作各自的优点和缺点是什么,比如用网络协议芯片W5300或者用PHY芯片,我不太明白为什么有协议芯片,还有那么多人或公司都自己写协议…

查看全部问答>

user guide 中文版用户指南向导 010 翻译slau144i

20OA ......... ......... ......... ......... .......................52520.1OA Introduction ......... ......... ......... ......... .52620.2OA Operation ......... ......... ......... ......... ...52720.2.1 OA Amplifier ......... .. ...…

查看全部问答>

基于zigBee的室内定位系统设计

新手求助,毕业设计的题目,首次接触zigbee 卖了两块cc2530,做了通信的实验,现在要做室内定位系统的实现,网上查了,有以下方案 1. cc2430 / cc2431 (带定位引擎) 实现定位 2. cc2530 实现定位 (自己实现算法) 貌似精度都不怎么高,1m开外 ...…

查看全部问答>

求助!STM32F103C8 cannot enter debug mode

我新建了项目工程,目标器件stm32F103c8编译成功,用JLINK Flash可以直接烧写进去,用keil MDK不能下载,提示cannot enter debug mode,但我的其他项目工程,用JTAG可以下载,是什么原因?请高手解救!…

查看全部问答>

按键扫描的一些疑惑,求指教!!!

在项目中需要一个8*16的矩阵键盘,扫描得出键值之后通过串口发送,mcu用的是xMega,当然这个无关紧要,中间会有串口接收中断。 现在发现的现象是:按键迟滞,按键丢失 我想考虑的是: 1.按键扫描是用哪种方式好? 书本上用的 是    ...…

查看全部问答>