📄 common.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 + -