CSL库函数命名规则
来源:互联网 发布:javascript redis 编辑:程序博客网 时间:2024/05/11 05:51
原文出自:http://blog.csdn.net/henhen2002/article/details/4397788
1、 CSL命名规则
类型
命名规则
函数
PER_funcName()
变量
PER_varName
宏
PER_MACRO_NAME
Typedef类型
PER_Typename
函数传递参数
funcArg
结构体成员
memberName
² 所有函数、变量、宏及数据类型都是以“PER_“开始,其中PER是模块或外设的名字
² 外设名后面的函数名,用小写字母表示;只有当函数包括两个单词时才能用大写字母如PER_getConfig()
² 外设名后面的宏名要用大写;如DMA_PRICTL_RMK
² 数据类型用大写字母开头;如DMA_Handle
注意:CSL库中每个寄存器和每个域的宏名和常量名都定义在了CSL文件中,因此,在重新定义时不要重名,由于许多CSL函数都已在CSL库中定义,因此在创建自己的函数时也要当心。
2、 CSL 数据类型
数据类型
描述
Uint8
unsigned char
Uint16
unsigned short
Uint32
unsigned int
Uint40
unsigned long
Int8
char
Int16
short
Int32
int
Int40
long
3、 CSL函数
Function
Description
handle=PER_open(
channelNumber
[priority]
Flags)
打开一个外设通道,根据flag进行操作,在使用通道前必须先调用该函数,返回值将在下面的API调用中唯一的标识设备名称
注:[priority]参数只适用于DAT模块
PER_config(
[handle,]
*configStructure)
将配置结构体的值写入外设寄存器,可以用整数常量、整数变量、CSL标识常量PER_REG_DEFAULT等初始化配置结构体
PER_configArgs(
[handle,]
regval_1
.
.
regval_n)
将一系列值(regval_n)写入外设寄存器中
参数可以是整数常量、整数变量、CSL标识常量PER_REG_DEFAULT等
PER_reset ( [handle])
将一个外设复位成上电初的默认值
PER_close ( handle )
关闭由PER_open()函数打开的通道,此时,通道寄存器的值复位成上电默认值,并且所有未被处理的中断会被清除。
ü []表示可选项
ü [handle]只有那些基于描述符的外设使用(如DAT、DMA、EDMA、GPIO、McBSP和TIMER)
ü [priority]只有在DAT模块中才有用
4、 CSL宏
注:
PER代表一个外设(如DMA)
REG代表一个寄存器名(如PRICTL0)
FIELD代表寄存器中的一段域(如ESIZE)
regval代表一个整型常量、整型变量、一个符号常量(PER_REG_DEFAULT)
x代表一个整型常量、整型变量
sym代表一个符号常量
一般的CSL宏
Macro
Description
PER_REG_RMK( Fieldval_n……fieldval_0)
将值存储到外设寄存器中,基于域构造值时,_RMK宏更加简化
有以下规则:
1、 只能包括那些可写的域
2、 首先指明的域参数做为最重要的位
3、 无论是否可用,所有可写域的值都必须被包括
PER_RGET ( REG )
返回外设寄存器中的值
PER_RSET(REG, regval)
将值写入外设寄存器
PER_FMK(REG,FIELD,fieldval)
PER_FGET(REG,FIFELD)
返回外设寄存器中指定域中的值
PER_FSET(REG,FIELD,fieldval)
将值写入寄存器指定域中
PER_REG_ADDR(REG)
如果可用,将得到寄存器REG的存储地址
PER_FSETS(REG,FIELD,sym)
将符号值写入寄存器指定域
PER_FMKS(REG,FIELD,sym)
类似于PER_FMK
一般基于handle的宏
Macro
描述
PER_ADDRH(h,REG)
返回handle代表的寄存器地址
PER_RGETH(h,REG)
返回handle代表的寄存器中的值
PER_SGETH(h,REG,x)
将值写入handle代表的寄存器中
PER_FGETH(h,REG,FIELD)
返回handle代表的域中的值
PER_FSETH(h,REG,FIELD,x)
将值x写入到handle代表的域中
PER_FSETSH(h,REG,FIELD,SYM)
将符号值写入handle代表的域中
- CSL库函数命名规则
- CSL库函数命名规则
- CSL(Chip Support Library,CSL)库函数简介
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- 命名规则
- DevExpress 图表控件:ChartControl 动态绑定数据
- 【android】[美化][selector] [state list] button 的背景切换
- Qt Windows下链接子系统与入口函数(终结版)
- 复制安装Android SDK
- 项目名称: 报数游戏
- CSL库函数命名规则
- module学习(17)
- module学习(18)
- module学习(19)
- 一个用于网络传输,转换数据类型到byte的例子
- 崭新下载的PlayBook 2.0 vmware虚拟机启动后工作不正常
- Web弹出对话框比较
- C# 中静态调用C++动态链接
- 多来轻松一下