stm32 定时器3产生指定数量的脉冲

发布者:CelestialMagic最新更新时间:2019-01-15 来源: eefocus关键字:stm32  定时器3  脉冲 手机看文章 扫描二维码
随时随地手机看文章

一、场景描述:利用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);

       

}


五、总体思路。


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


关键字:stm32  定时器3  脉冲 引用地址:stm32 定时器3产生指定数量的脉冲

上一篇:STM32独立看门狗IWDG的使用
下一篇:LPC11C14 启动代码分析

推荐阅读最新更新时间:2024-03-16 16:22

STM32普通定时器(TIM2-7)的时钟源
iframe id="iframe_0.9722621580585837" src="data:text/html;charset=utf8,%3Cstyle%3Ebody%7Bmargin:0;padding:0%7D%3C/style%3E%3Cimg%20id=%22img%22%20src=%22http://img.ph.126.net/Q5uD6HNVvCLylT0oKY6Z2w==/3353492872531932260.jpg?_=2389336&_=6218048%22%20style=%22border:none;max-width:1058px%22%3E%3Cscript%3Ewindow.onload%2
[单片机]
<font color='red'>STM32</font>普通<font color='red'>定时器</font>(TIM2-7)的时钟源
基于STM32单片机的电源设计
1. STM32 数据手册电源部分研读 RTC电源管脚为V BAT, 电源范围为1.8~3.6V,主要用于RTC时钟的供电, RTC在大部分场合用于保存一些重要的参数,比如在电脑主板上用于保存boss的信息, 如果这个电源丢了将导致无法重启,在单片机中低功耗设备常常也会使用这个RTC进行定时的唤醒功能,在普通的MCU中常用于做实时时钟。 VDD为数字电源,电源范围也是1.8~3.6V,在芯片内部集成了电压转化器,一般芯片内核供电为1.2V,图示的Regulator为转换器,将VDD电源稳压至1.2V。数据手册建议加入11个100nF和4.7uF的电容,不过实际应用中,只需要每个VDD加入一个100nF的去耦电容。 下图为模
[单片机]
基于<font color='red'>STM32</font>单片机的电源设计
射频光传输设备及其在核电磁脉冲防护中的应用
     引言       20世纪80年代后期,号称“电磁杀手”的电磁脉冲炸弹问世了。这种炸弹爆炸后产生的高强度电磁脉冲,覆盖面积大,频谱范围宽,几乎能够攻击其杀伤半径内所有带电子部件的武器系统。它产生的强电磁脉冲可以通过暴露在地面上的天线、馈线等设备产生感应电流,破坏地下防护工程内的电子通信设备,瘫痪整个通信系统。通过近年来发生的几场高技术条件下的局部战争,我们可以看到,电磁脉冲炸弹已投入实战使用,并已成为控制信息权的“杀手锏”,严重地威胁到无线通信的发展。如何提高抗电磁摧毁能力已是各国在通信发展中遇到的一个严峻问题。     电缆传输和光纤传输衰耗与距离的比较     与电缆传输相比,光纤传输具有无电磁辐射、传输带宽
[网络通信]
STM32——GPIO输入模式下上拉和下拉的设置
GPIO处于输入模式下,下拉输入和上拉输入的相关配置如下图所示。需要注意的是,下拉输入和上拉输入是通过端口输出寄存器GPIOx_ODR来区分的。因此,在进行上拉/下拉输入配置时候,虽然对GPIO进行的关于输入的操作,但是仍要对和输出相关的寄存器ODR进行配置。 上述注意事项在实际代码编写时表现为: (1)库函数 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PA0 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 下拉输入 GPIO_Init(GPIOA, &GPIO_InitStructure); GP
[单片机]
<font color='red'>STM32</font>——GPIO输入模式下上拉和下拉的设置
STM32 ADC的规则通道和注入通道有什么区别
STM32的每个ADC模块通过内部的模拟多路开关,可以切换到不同的输入通道并进行转换。STM32特别地加入了多种成组转换的模式,可以由程序设置好之后,对多个模拟通道自动地进行逐个地采样转换。 有2种划分转换组的方式:规则通道组和注入通道组。通常规则通道组中可以安排最多16个通道,而注入通道组可以安排最多4个通道。 在执行规则通道组扫描转换时,如有例外处理则可启用注入通道组的转换。 一个不太恰当的比喻是:规则通道组的转换好比是程序的正常执行,而注入通道组的转换则好比是程序正常执行之外的一个中断处理程序。 再举一个不一定使用的例子: 假如你在家里的院子内放了5个温度探头,室内放了3个温度探头;你需要时刻监视室
[单片机]
基于STM32的无线通讯终端系统设计
  1.引言   目前仪器设备多数采用 R S232接口与计算机通信,但是随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。   本文详细介绍了一种采用USB通信接口设计的无线数据通讯终端系统。此系统以高速、可 靠、可在线编程的STM32F103C6T6为主控制器件,实现了通过计算机与其他终端之间数据及文件的无线传输功能。实验证明,该系统的设计具有低成 本、高集成度和设计简单等优点,实现无线联网和组网功能,适于便携式电子设备的文件远端下载和上传,为诸如无线切割机、各类物联网掌上终端等设备的数据传输提供了解决方案。   RS232接口与USB接口虽然都属于串行
[单片机]
基于<font color='red'>STM32</font>的无线通讯终端系统设计
设计一个基于STM32和RFID Reader读取RFID卡的系统
在本教程中,我们将设计一个使用 STM32 和 RFID Reader读取 RFID 卡的系统。RFID代表射频识别,它通过使用无线电频率读取信息。RFID 用于许多身份验证系统,如电梯停车系统、自动收费、在医院维护患者信息、自动数据收集等。 所需组件 STM32F103C8(蓝色药丸板) EM-18 RFID阅读器模块 射频识别卡 16x2 液晶显示模块 面包板 连接电线 在将 RFID 与 STM32 连接之前,首先我们将了解 RFID 标签和 RFID 阅读器。 射频识别标签 RFID标签由带有线圈天线的微芯片组成,可以与附近的阅读器进行无线通信。市场上有各种不同形状和尺寸的 RFID 标签。他们中很少有人使用不同的频率
[单片机]
设计一个基于<font color='red'>STM32</font>和RFID Reader读取RFID卡的系统
STM32的CustomHID的各描述符介绍
俗话说的好,看协议手册,不如看源代码来的好! 在USB的工程中,USB的各描述符定义在usb_desc.c文件里面,这里就将USB的各描述符定义代码贴上来,各个数值的意义都已经详细注释。当然很细节的东西看不懂还是建议去看手册去!!! /* USB标准设备描述符*/ const uint8_t CustomHID_DeviceDescriptor = { 0x12, /*bLength:长度,设备描述符的长度为18字节*/ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType:类型,设备描述符的编号是0x01*/ 0x00, /*bcd
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved