代码拉取完成,页面将自动刷新
同步操作将从 dk鲁晓东/STC15库 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef __TIMER_H
#define __TIMER_H
#include "config.h"
//这些为Timer操作提供方便
#define T0x12(F) AUXR=F? AUXR|(1<<7):AUXR&(~(1<<7))// timer0 选1---1T 0---12T
#define T0CLKOUT(F) INT_CLKO=F? INT_CLKO|0x01:INT_CLKO&(~0x01)// 时钟输出使能P35
#define T1x12(F) AUXR=F? AUXR|(1<<6):AUXR&(~(1<<6))// timer1 选1---1T 0---12T
#define T1CLKOUT(F) INT_CLKO=F? INT_CLKO|0x02:INT_CLKO&(~0x02)// 时钟输出使能P34
//定时器2
#define ET2(F) IE2=F? IE2|(1<<2):IE2&(~(1<<2))// timer2允许中断
#define CT2(F) AUXR=F? AUXR|(1<<3):AUXR&(~(1<<3))// timer2计数/定时选择
#define T2x12(F) AUXR=F? AUXR|(1<<2):AUXR&(~(1<<2))// timer2 选1---1T 0---12T
#define TR2(F) AUXR=F? AUXR|(1<<4):AUXR&(~(1<<4))// 开始计数
#define T2CLKOUT(F) INT_CLKO=F? INT_CLKO|(1<<2):INT_CLKO&(~(1<<2))// 时钟输出使能P30口
//TH2,TL2为计数器
//定时器3
#define ET3(F) IE2=F? IE2|(1<<5):IE2&(~(1<<5))// timer3允许中断
#define CT3(F) T4T3M=F? T4T3M|(1<<2):T4T3M&(~(1<<2))// timer3计数/定时选择
#define T3x12(F) T4T3M=F?T4T3M|(1<<1):T4T3M&(~(1<<1))// timer3 选1---1T 0---12T
#define TR3(F) T4T3M=F?AUXR|(1<<3):T4T3M&(~(1<<3))// 开始计数
#define T3CLKOUT(F) INT_CLKO=F?INT_CLKO|0x01:INT_CLKO&(~0x01)// 时钟输出使能P04口
//TH3,TL3为计数器
//定时器4
#define ET4(F) IE2=F?IE2|(1<<6):IE2&(~(1<<6))// timer4允许中断
#define CT4(F) T4T3M=F?T4T3M|(1<<6):T4T3M&(~(1<<6))// timer4计数/定时选择
#define T4x12(F) T4T3M=F?T4T3M|(1<<5):T4T3M&(~(1<<5))// timer4 选1---1T 0---12T
#define TR4(F) T4T3M =F?T4T3M |(1<<7):T4T3M &(~(1<<7))// 开始计数
#define T4CLKOUT(F) INT_CLKO=F?INT_CLKO|0x10:INT_CLKO&(~0x10)// 时钟输出使能P06口
//TH4,TL4为计数器
#define Timer0 0
#define Timer1 1
#define Timer2 2
#define Timer3 3
#define Timer4 4
#define TIM_16BitAutoReload 0
#define TIM_16Bit 1
#define TIM_8BitAutoReload 2
//16位自动重装并且不可屏蔽中断
#define TIM_16BitAutoReloadNoMask 3
#define TIM_CLOCK_1T 0
#define TIM_CLOCK_12T 1
#define TIM_CLOCK_Ext 2
typedef struct
{
u8 TIM_Mode; //工作模式, TIM_16BitAutoReload,TIM_16Bit,TIM_8BitAutoReload,TIM_16BitAutoReloadNoMask
u8 TIM_Polity; //优先级设置 PolityHigh,PolityLow
u8 TIM_Interrupt; //中断允许 ENABLE,DISABLE
u8 TIM_ClkSource; //时钟源 TIM_CLOCK_1T,TIM_CLOCK_12T,TIM_CLOCK_Ext
u8 TIM_ClkOut; //可编程时钟输出, ENABLE,DISABLE
u16 TIM_Value; //装载初值
u8 TIM_Run; //是否运行 ENABLE,DISABLE
} TIM_InitTypeDef;
u8 Timer_Inilize(u8 TIM, TIM_InitTypeDef *TIMx);
void Timer_init(void);
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。