历史上的今天
今天是:2025年08月05日(星期二)
2020年08月05日 | stm32f103基本定时器,定时器中断服务程序里面输出脉冲波形
2020-08-05 来源:51hei
main.c
/**定时器中断TIM3方式,(当基本定时器不用PWM输出)
设计两路输出两路脉冲波:
周期:100us,占空比80%
周期:100us,占空比20%**/
int main(void)
{
LED_Init();//pc14引脚初始化
BEEP_Init();/pc13引脚初始化
TIME_Init();//定时器初始化
while(1);
}
time.c
#include "stm32f10x.h"
#include "time.h"
#include "delay.h"
#include "beep.h"
#include
void TIME_Init(void)
{
TIM_TimeBaseInitTypeDef time3;//定义基本定时器结构体名字
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
//定时器time4初始化
time3.TIM_Prescaler=72-1;//设置用来作为TIMx时钟频率除数的预分频值7199
time3.TIM_Period=10-1; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值4999
TIM_TimeBaseInit(TIM3,&time3); //根据指定的参数初始化TIMx的时间基数单位
TIM_Cmd(TIM3,ENABLE ); //使能指定的TIMx
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM4中断,允许更新中断
//中断优先级NVIC设置
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
}
//定时器4中断服务程序
int i=0;
void TIM3_IRQHandler(void) //TIM4中断
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) ==1) //检查TIM4更新中断发生与否
{
if(i<2)
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
else
GPIO_SetBits(GPIOC,GPIO_Pin_13);
if(i<5)
GPIO_ResetBits(GPIOC,GPIO_Pin_14);
else
GPIO_SetBits(GPIOC,GPIO_Pin_14);
i++;
if(i>9)
i=0;
TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除TIMx更新中断标志
}
}
史海拾趣
|
2442 +wince 5.0 在kernal 起来一半,系统死机,死的地方每次还不一样,求肋! 各位大虾,小弟最近碰到一个死机的问题,偶然有那么几块板在开机的过程中会死机,一般都在kernal起来一半的样子,就停住了,而且每次停的地方还不一样,并且不是每次都会死机,开几十次有那么一两次的样子,所以这个问题非常的烦人。 另:我的产 ...… 查看全部问答> |
|
我在EASYARM2200上集成TCPIP,在实时轮询时可以稳定的运行,可是我改成中断触发模式后,我的板向PC机发送连接请求,发现前句分钟PC应答的报文总是ACK,过了好几分钟才变成SYN+ACK,有没有哪位大侠了解的?… 查看全部问答> |
|
不使用三极管和MOS管是否也可以搭建一个单键开关电路呢? 就是按一下电源可以接通,再按一下电源断开的那种。 哪位高人能给一个示意图呢? 恳请大家帮帮忙,感谢万分!… 查看全部问答> |
|
随着医疗电子设备在医疗场所的广泛应用,漏电流对病人的威胁也越来越大。在医院里有些病人并非死于疾病或重伤,而是死于电气事故。为了保障医疗重要场所的电气安全,为这些场所的医疗电器提供一个安全可靠的电源,世界各国大多采用局部IT系统(亦 ...… 查看全部问答> |




