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]只有那些基于描述符的外设使用(如DATDMAEDMAGPIOMcBSPTIMER

ü         [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代表的域中