📄 apb.h
字号:
/****************************************Copyright (c)**************************************************
**
** STR710 development team
**
**
** http://www.appchip.com
**
**--------------文件信息--------------------------------------------------------------------------------
** 文 件 名: apb.h
** 创 建 人: lhl
** 创建日期: 2006年5月10日
** 描 述: 该文件包含了所有APB功能函数原型与所需要的常量
**
**--------------历史版本--------------------------------------------------------------------------------
** 创 建 人: lhl
** 版 本: V1.0
** 日 期: 2006年5月10日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __APB_H
#define __APB_H
#include "cpu_cfg.h"
#ifdef __cplusplus
extern "C" {
#endif
#if EN_ARM_APB > 0 //决定是否编译该文件
/************************************** 宏定义,常量定义 ******************************************/
///APB1 Peripherals
#define I2C0_PERIPHERAL 0x0002
#define I2C1_PERIPHERAL 0x0004
#define UART0_PERIPHERAL 0x0010
#define UART1_PERIPHERAL 0x0020
#define UART2_PERIPHERAL 0x0040
#define UART3_PERIPHERAL 0x0080
#define USB_PERIPHERAL 0x0100
#define CAN_PERIPHERAL 0x0200
#define BSPI0_PERIPHERAL 0x0400
#define BSPI1_PERIPHERAL 0x0800
#define HDLC_PERIPHERAL 0x2000
//APB2 Peripherals
#define XTI_PERIPHERAL 0x0002
#define GPIO0_PERIPHERAL 0x0004
#define GPIO1_PERIPHERAL 0x0008
#define GPIO2_PERIPHERAL 0x0010
#define ADC12_PERIPHERAL 0x0080
#define TIM0_PERIPHERAL 0x0200
#define TIM1_PERIPHERAL 0x0400
#define TIM2_PERIPHERAL 0x0800
#define TIM3_PERIPHERAL 0x1000
#define RTC_PERIPHERAL 0x2000
#define WDG_PERIPHERAL 0x4000
#define EIC_PERIPHERAL 0x8000
/************************************** 枚举类型定义 *******************************************/
typedef enum { APB1 = 0, APB2 = 1 } APB_CHANNELS_T;
/************************************** 结构体类型定义 ******************************************/
/********************************** 全局外部函数原型声明 *****************************************/
/*********************************************************************************************************
;** 函数名称: APBn_ClockConfig
;** 功能描述: 允许禁止APBn所属外设时钟 说明:该函数不被频繁的调用,执行速度没有什么要求,所以可不定义为内联函数
;**
;** 参 数: abp_number: 外设所属的APB编号(APB1,ABP2)
:** new_status: ENABLE: 允许 DISABLE: 禁止
;** peripheral: 具体的设备
;**
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void APBn_ClockConfig(APB_CHANNELS_T abp_channel, CONFIG_STATUS_T new_status, UWORD16 peripheral);
/*********************************************************************************************************
;** 函数名称: APBn_SwResetConfig
;** 功能描述: 禁止或允许指定外设软件复位
;**
;** 参 数: abp_number: 外设所属的APB编号(APB1,ABP2)
:** new_status: ENABLE: 允许 DISABLE: 禁止
;** peripheral: 具体的设备
;**
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void APBn_SwResetConfig(APB_CHANNELS_T abp_channel, CONFIG_STATUS_T new_status, UWORD16 peripheral);
/*********************************************************************************************************
;** 函数名称: APBn_AllClockConfig
;** 功能描述: 允许允许APBn所属外设时钟
;**
;** 参 数: abp_number: 外设所属的APB编号(APB1,ABP2)
:** new_status: ENABLE: 允许 DISABLE: 禁止
;**
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void APBn_AllClockConfig(APB_CHANNELS_T abp_channel, CONFIG_STATUS_T new_status);
/*********************************************************************************************************
;** 函数名称: APBn_AllSwResetConfig
;** 功能描述: 禁止或允许所有APBn外设软件复位
;**
;** 参 数: abp_number: 外设所属的APB编号(APB1,ABP2)
:** status : new_status: ENABLE: 允许 DISABLE: 禁止
;**
;** 返 回 值: 无
;**
;** 作 者: lhl
;** 日 期: 2006年5月10日
;**-------------------------------------------------------------------------------------------------------
;** 修 改 人:
;** 日 期:
;**------------------------------------------------------------------------------------------------------
;********************************************************************************************************/
void APBn_AllSwResetConfig(APB_CHANNELS_T abp_channel, CONFIG_STATUS_T new_status);
#endif /* EN_ARM_APB > 0 */
#ifdef __cplusplus
}
#endif
#endif // __APB_H
/***************************************** end of file *******************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -