历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2019年01月15日 | stm32 定时器3产生指定数量的脉冲

2019-01-15 来源:eefocus

一、场景描述:利用PB5产生一定数量的脉冲信号。PB5是定时器3的第2通道。


二、产生PWM代码:


void Timer3_Configuration(void )

TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

TIM_OCInitTypeDef  TIM_OCInitStructure;

 

TIM_DeInit(TIM3);

// ƵÂÊ30K

//Õ¼¿Õ±È50%

 // TIM_TimeBaseStructure.TIM_Period = 100-1; 

//TIM_TimeBaseStructure.TIM_Prescaler =24-1;


// ƵÂÊ20K

//Õ¼¿Õ±È50%

// TIM_TimeBaseStructure.TIM_Period = 100-1; 

//TIM_TimeBaseStructure.TIM_Prescaler =36-1;


// ƵÂÊ10K

//Õ¼¿Õ±È50%

// TIM_TimeBaseStructure.TIM_Period = 100-1; 

// TIM_TimeBaseStructure.TIM_Prescaler =72-1;


// ƵÂÊK

//Õ¼¿Õ±È50%

TIM_TimeBaseStructure.TIM_Period = 300-1; 

TIM_TimeBaseStructure.TIM_Prescaler =72-1;

 

// ƵÂÊ1K

//Õ¼¿Õ±È10%

//TIM_TimeBaseStructure.TIM_Period = 1000-1; 

//TIM_TimeBaseStructure.TIM_Prescaler =72-1;


TIM_TimeBaseStructure.TIM_ClockDivision = 0;

//ʱÖÓ·ÖÆµ

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

//TIMÏòÉϼÆÊý

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

TIM_ClearFlag(TIM3,TIM_FLAG_Update);         

TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); 


   

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;

//PWM1λÕý³£Õ¼¿Õ±Èģʽ£¬pwm2Ϊ·´¼«ÐÔģʽ

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

//ʹÄÜÊä³ö

TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable;

//»¥²¹Êä³ö¹¦ÄܽûÖ¹

 

TIM_OCInitStructure.TIM_Pulse = 30;

//Õ¼¿Õʱ¼ä

 

TIM_OC2Init(TIM3,&TIM_OCInitStructure);        //ͨµÀ2

TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);


// TIM_CtrlPWMOutputs(TIM3,ENABLE);

 

 

TIM_ARRPreloadConfig(TIM3, ENABLE);

//ʹÄÜTIMxÔÚARRPÉϵÄÔ¤×°ÔØ¼Ä´æÆ÷

//TIM_Cmd(TIM3, ENABLE);


TIM_Cmd(TIM3, DISABLE);

//ʹÄÜTIM3

   


}


三、引脚初始化



可以看出来,PB5复用功能是I2C的功能,需要进行重映射。


        GPIO_InitStructure .GPIO_Pin=GPIO_Pin_8 ;

GPIO_InitStructure .GPIO_Speed =GPIO_Speed_10MHz;

GPIO_InitStructure .GPIO_Mode =GPIO_Mode_Out_PP ;//

GPIO_Init (GPIOB ,&GPIO_InitStructure );

GPIO_ResetBits(GPIOB,GPIO_Pin_8);

GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);


四、脉冲计数


void TIM3_IRQHandler(void)

{

if(TIM_GetITStatus (TIM3 ,TIM_IT_Update )!=RESET )

{

MD_Pulse_Cnt++;

}

TIM_ClearITPendingBit(TIM3 ,TIM_IT_Update );

}

void main()

{

    if(MD_Pulse_Cnt>500)

    TIM_Cmd(TIM3,DISABLE);

       

}


五、总体思路。


在定时器初始化中打开中断,然后在中断里进行脉冲计数。


推荐阅读

史海拾趣

Frequency Devices公司的发展小趣事

面对快速变化的市场需求,Frequency Devices公司展现出了敏锐的市场洞察力。在21世纪初,随着无线通信技术的快速发展,对高频电子元件的需求急剧增加。公司及时调整产品策略,加大了对无线通信领域高频产品的研发投入,并成功推出了一系列适用于手机、基站等通信设备的高频滤波器、功率放大器等关键元件。这些产品不仅满足了市场需求,还进一步巩固了公司在行业内的市场地位。

ADTech公司的发展小趣事

AdTech公司一直注重创新,不断投入研发资源以推出新产品和解决方案。公司通过优化芯片结构设计、提升器件封装技术等手段,不断提升QCL的性能和稳定性。此外,公司还积极探索QCL在新能源、环保等领域的应用潜力,开发出了一系列具有创新性和实用性的产品。这些创新成果不仅提升了公司的核心竞争力,也为行业的发展注入了新的活力。

Freqtech Ohg公司的发展小趣事

随着业务的不断增长,Freqtech Ohg公司开始实施全球化战略。公司首先在欧洲建立了研发中心,随后在亚洲市场设立了生产基地和销售网络。通过整合全球资源,Freqtech不仅降低了生产成本,还更快速地响应了不同地区客户的需求。同时,公司积极参与国际展会和技术交流,不断提升品牌知名度和影响力,为公司的全球化发展奠定了坚实基础。

GSG公司的发展小趣事
除了基本的压力测量外,还可以实现温度补偿、压力校准、故障诊断等多种功能。
Embedded Artists公司的发展小趣事

随着业务的不断发展,Embedded Artists公司开始考虑向国际市场扩张。他们与全球各地的合作伙伴建立了紧密的合作关系,共同开发适用于不同市场的嵌入式解决方案。同时,公司还积极参加国际展会和研讨会,与全球同行交流技术心得和市场动态。这些努力使Embedded Artists公司的品牌在国际市场上得到了广泛认可。

Deutronic Elektronik GmbH公司的发展小趣事

为了进一步提升竞争力,Deutronic Elektronik GmbH开始实施全球化战略。公司在美国和中国设立了子公司,并通过并购等方式加强了在欧洲和亚洲市场的布局。这些举措不仅增强了公司的市场影响力,还为公司带来了更多的资源和优势。通过全球化战略的实施,Deutronic Elektronik GmbH逐渐成为一家具有全球影响力的电子科技企业。

问答坊 | AI 解惑

水来了,灌吧

目前从事plc开发,相关问题可以讨论,嘿嘿…

查看全部问答>

未来数字生活想实现,Windows Embedded缺不了!

近年来,信息家电、数码产品、智能手机及各种掌上型多媒体设备成为IT产业的潮流,除了以上所提到的电子产品以外,其实有更多的嵌入式应用隐身在不为人知的角落,从小到电子手表、电子体温计、翻译机等,到大如冷气机、电冰箱、电视机,甚至是路上 ...…

查看全部问答>

LED3216“大屏电子钟”V1.0发布【图】

几天前LED3216点阵屏控制板完工(见LED3216点阵屏控制板【图】),一有硬件就迫不及待地尝试写了这个电子钟的程序,很惭愧,移花接木随便搞了下,马上就要回家了,没时间弄了。因为只想搞出现象来,导致程序结构混乱,不具有代表性,升级也困难。以 ...…

查看全部问答>

UCOS2在51上的移植

这是我大学的毕业设计,当时拿到题目时真不知道如何下手,花了我3个月的时间,直到论文写完,才真正理解ucos2的工作原理的,希望对有兴趣进入嵌入式系统学习的战友们有所帮助,同时也希望大家一起探讨学习。…

查看全部问答>

交流耦合直流耦合

交流耦合就是通过隔直电容耦合,去掉了直流分量 直流耦合就是直通,交流直流一起过,并不是去掉了交流分量。   比如在3V的直流电平上叠加一个1Vpp的弦波,如果用直流耦合,看到的是以3V为基准,+/-0.5V的正弦波;如果用交流耦合,看到 ...…

查看全部问答>

想学单片机

放假了,想学单片机,c语言二级水平,希望大家能给些建议…

查看全部问答>

请问大家知道24V输入转5V输出应该用什么芯片吗???

24V输入转5V输出是直接转还是分级转??? 有什么合适的芯片片吗?? 第一次做这种电路。。。。…

查看全部问答>

求在深圳嵌入式硬件设计者(个人),急急急!...

求在深圳嵌入式硬件设计...我们要做i.MX51(Arm Cortex A8)产品.请有相关经验者与我联系,合作形式多样可选.谢谢!!!QQ705489316 要做的产品为:10.1寸的带触摸屏的平板电脑(类似于iPad) …

查看全部问答>

如何让我的WINCE系统具有象PC机一样的网上邻居?

我订制的操作系统上没有网上邻居,上网有些不方便,请问,如何添加自己的网上邻居?除了加入NETWORK USER INTERFACE组件外还需要其他什么组件? 谢谢…

查看全部问答>

真心求助

    想做基于ARM的无线音频采集,但是自己的基础比较薄弱,只有一点点单片机基础,c语言基础。     计划是一年内来完成它,所以要展开自己的学习计划,信心不是很足,也有点茫然,希望能够得到,指点指条大概的路   &nb ...…

查看全部问答>