⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.h

📁 STM32定时器程序
💻 H
字号:
/* ************************************************************* **
							系统时钟配置
							============
 * 描		述:.c 包含
 *				1.系统时钟配置的函数
 *				2.系统延时函数(SysTick)
 *				3.IO操作函数
 *				.h 包含
 *				1.常用无符号数据类型定义
 *				2.对应头文件中包含寄存器位操作宏定义
 * 文	件	名:common.h
 * 芯 片 型 号:STM32F10x
 * 库	版	本:STM32F10x_StdPeriph_Lib_V3.5.0
 * 程	序	员:张伟亮
 * 创 建 日 期:XXXX-XX-XX
 * 版		本:V1.0
 * *************************修 订 信 息************************* **
 * 修 订 日 期:
 * 当 前 版 本:
 * 内 容 描 述:
** ************************************************************* */
#ifndef		_SYSTEM_CLOCK_SET_H_
#define		_SYSTEM_CLOCK_SET_H_


/* ----------------------------宏定义--------------------------- */
//---------------数据类型定义
#define		u8				unsigned char
#define		u16				unsigned short
#define		u32				unsigned int
//---------------系统时钟定义
#define		SYSCLK			72					//系统时钟72MHz

//---------------对寄存器位操作用
#define		RegBit0					(0x00000001)
#define		RegBit1					(0x00000002)
#define		RegBit2					(0x00000004)
#define		RegBit3					(0x00000008)
				
#define		RegBit4					(0x00000010)
#define		RegBit5					(0x00000020)
#define		RegBit6					(0x00000040)
#define		RegBit7					(0x00000080)
//8
#define		RegBit8					(0x00000100)
#define		RegBit9					(0x00000200)
#define		RegBit10				(0x00000400)
#define		RegBit11				(0x00000800)

#define		RegBit12				(0x00001000)
#define		RegBit13				(0x00002000)
#define		RegBit14				(0x00004000)
#define		RegBit15				(0x00008000)
//16
#define		RegBit16				(0x00010000)
#define		RegBit17				(0x00020000)
#define		RegBit18				(0x00040000)
#define		RegBit19				(0x00080000)

#define		RegBit20				(0x00100000)
#define		RegBit21				(0x00200000)
#define		RegBit22				(0x00400000)
#define		RegBit23				(0x00800000)
//24
#define		RegBit24				(0x01000000)
#define		RegBit25				(0x02000000)
#define		RegBit26				(0x04000000)
#define		RegBit27				(0x08000000)

#define		RegBit28				(0x10000000)
#define		RegBit29				(0x20000000)
#define		RegBit30				(0x40000000)
#define		RegBit31				(0x80000000)

#define		RegRead(REG, P)			((REG&(0x00000001<<P))>>P)			//读寄存其中的一位,并把读出的状态放置在Bit0位置
																		//参数如下:如读A口第5位RegRead(GPIOA->IDR, 5);
																		//REG	:寄存器名
																		//P		:操作第几位

#define		RegSet(REG, BITS)		(REG)|=(BITS);						//寄存器置位操作
																		//参数如下:如置位A0、A4 RegSet(GPIOA->ODR,RegBit0|RegBit4);
																		//REG	: 寄存器名
																		//BITS	:操作第几位

#define		RegClr(REG, BITS)		(REG)&=(~(BITS));					//寄存器位清零操作
																		//参数如下:如清零A0、A4 RegClr(GPIOA->ODR,RegBit0|RegBit4);
																		//REG	: 寄存器名
																		//BITS	:操作第几位

#define		RegTurn(REG, BITS)		(REG)^=(BITS);						//寄存器位翻转操作
																		//参数如下:如翻转A0、A4 RegTurn(GPIOA->ODR,RegBit0|RegBit4);
																		//REG	: 寄存器名
																		//BITS	:操作第几位
//32																				
/* ----------------------------结构体--------------------------- */

/* -------------------------外部变量声明------------------------ */
										  
/* ---------------------------函数声明-------------------------- */
void System_Init(void);							//配置系统时钟
void Delay_Init(u8 m_SysClk);					//SysTick初始化
void Delay_ms(u16 m_ms);						//毫秒延时函数
void Delay_us(u32 m_us);						//微妙延时函数

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -