广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925 程序清单1配置 TargetResetInit0函数 #ifdef DEBUG 开发板上JP6接为 BankO-RAM. Bank1- Flash,JP7接为 OUTSIDE MEMMAP=OX3 BCFG0=0x10000400, 外部RAM BCFGI=0x10000460, 1外部 #ifdef OUT CHIP 开发板上JP6接为Bank0 Flash, Bank1 RAMJP7接为 OUTSIDE MEMMAP=Ox3 BCFG0=0x1000046 ∥外部 FLASH BCFGI=0x10000400 ∥外部RAM #ifdef IN CHIP ∥开发板上JP6接为Bank0 RAM. Bank1- Flash.JP7接为Ⅰ NSIDE MEMMAP= OxI //remap BCFG0=0x10000400, 外部RAM BCFG1=0x10000460 1外部Fash #endif USB驱动程序软件包提供给用户6个API函数。这6个函数都在D12 Driver.c文件中。 下面说明这6个函数的作用以及入口参数,如表5到表10所示。 表5nitD120函数 数名称 函数原型INT8UntD12(vod 功能描述设置D2与硬件的连接,初始化D|2,复位D12,初始化相关变量 函数参数无 函数返回值0初始化成功:1初始化失败 特殊说明该函数执行时间比较长,且执行时关闭了中断,所以只允许在pCOS开始运行时调 和注意点用 表6 TaskSetup0函数 函数名称 Task Setup 函数原型| void Task Setup( void"pdata) 功能描述控制传输处理任务 函数参数|void" pdata:任务入口参数 函数返回值无 在μCOS-Ⅱ开始运行时要创建该任务,该任务的堆栈为:OS_ STK TaskSetup Stk28 特殊说明 该任务的优先级必须高于用户任务,以便USB能够及时完成枚举。建议设置该任务 和注意点 优先级设为0
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 示。 程序清单 1 配置 TargetResetInit ()函数 #ifdef __DEBUG //开发板上 JP6 接为:Bank0-RAM,Bank1-Flash,JP7 接为:OUTSIDE MEMMAP = 0x3; //remap BCFG0 = 0x10000400; //外部 RAM BCFG1 = 0x10000460; //外部 Flash #endif #ifdef __OUT_CHIP //开发板上 JP6 接为:Bank0-Flash,Bank1-RAM,JP7 接为:OUTSIDE MEMMAP = 0x3; //remap BCFG0 = 0x10000460; //外部 FLASH BCFG1 = 0x10000400; //外部 RAM #endif #ifdef __IN_CHIP //开发板上 JP6 接为:Bank0-RAM,Bank1-Flash,JP7 接为:INSIDE MEMMAP = 0x1; //remap BCFG0 = 0x10000400; //外部 RAM BCFG1 = 0x10000460; //外部 Flash #endif USB 驱动程序软件包提供给用户 6 个 API 函数。这 6 个函数都在 D12Driver.c 文件中。 下面说明这 6 个函数的作用以及入口参数,如表 5 到表 10 所示。 表 5 Init_D12()函数 函数名称 Init_D12 函数原型 INT8U Init_D12(void) 功能描述 设置 D12 与硬件的连接, 初始化 D12, 复位 D12,初始化相关变量 函数参数 无 函数返回值 0: 初始化成功; 1: 初始化失败 特殊说明 和注意点 该函数执行时间比较长,且执行时关闭了中断,所以只允许在 µC/OS-II 开始运行时调 用。 表 6 TaskSetup()函数 函数名称 TaskSetup 函数原型 void TaskSetup(void *pdata) 功能描述 控制传输处理任务 函数参数 void *pdata:任务入口参数 函数返回值 无 特殊说明 和注意点 在 µC/OS-II 开始运行时要创建该任务,该任务的堆栈为:OS_STK TaskSetupStk[128]; 该任务的优先级必须高于用户任务,以便 USB 能够及时完成枚举。建议设置该任务 优先级设为 0。 - 6 -
广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925 表7 Read Port10函数 函数名称 Read Port 函数原型INI8 U ReadPortI(INT32 Lenina8 U *recbuffINTI6 U timeout 功能描述从端点1读出len个字节 INT32U len 要读出的字节数(取值范围为0x0000001~0 XFFFFFFFE) 函数参数INT8 U * recbuf:接收数据指针(长度为len) INTI6 u timeout:超时时间,必须大于等于 函数返回值0读出成功 >0:读出失败(错误码,见表11) 特殊说明如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数 和注意点回0(读出成功)为止 表8 ReadPort20函数 数名称 Read Port2 函数原型|INT8 U Read Por2(INT32Ulen,INT8 U *rebuff, INT6 U timeout 功能描述从端点2读出len个字节 INT32U len 要读出的字节数(取值范围为0x0000000~0 XFFFFFFFF) 函数参数INT8U· rebuff:接收数据指针(长度为len) INTI6 0 timeout:超时时间,必须大于等于0 函数返回值0:读出成功 >0:读出失败(错误码,见表11) 特殊说明如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数 和注意点回0(读出成功)为止 表9 Write Port10函数 数名称 函数原型INT8 U Write Port I(NT32Ulen,INI8U* sendbuffINTI6 U timeout 「功能描述用端点1发送ln个字节 NT32U len 送的字节数(取值范围为0x0000001 函数参数|INT8 U sendbuff发送缓冲区指针 INTI6 U timeout:超时等待时间,必须大于等于0 函数返回值0发送成功: >0:发送失败(错误码,见表11) 特殊说明如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数 和注意点回0(发送成功)为止 表10 Write Port20函数 函数名称 Write Port2 函数原型INT8 U WritePort2(NT3Ulen,INI8 U*sendbuff, INTI6 U timeout 功能描述用端点2发送len个字节 发送的字节数(取值范围为0x000001~0 XFFFFFFFF) 函数参数INI8 0 sendbuf:发送缓冲区指针 INTI6 U timeout:超时等待时间,必须大于等于0
广州周立功单片机发展有限公司 Tel: (020) 38730916 38730917 38730976 38730977 Fax: 38730925 表 7 ReadPort1()函数 函数名称 ReadPort1 函数原型 INT8U ReadPort1(INT32U len,INT8U *recbuff,INT16U timeout) 功能描述 从端点 1 读出 len 个字节 函数参数 INT32U len: 要读出的字节数(取值范围为 0x00000001 ~ 0xFFFFFFFF) INT8U *recbuff: 接收数据指针(长度为 len) INT16U timeout: 超时时间, 必须大于等于 0 函数返回值 0: 读出成功; > 0: 读出失败(错误码,见表 11) 特殊说明 和注意点 如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数返 回 0(读出成功)为止。 表 8 ReadPort2()函数 函数名称 ReadPort2 函数原型 INT8U ReadPort2(INT32U len,INT8U *recbuff,INT16U timeout) 功能描述 从端点 2 读出 len 个字节 函数参数 INT32U len: 要读出的字节数(取值范围为 0x00000001 ~ 0xFFFFFFFF) INT8U *recbuff: 接收数据指针(长度为 len) INT16U timeout: 超时时间, 必须大于等于 0 函数返回值 0: 读出成功; > 0: 读出失败(错误码,见表 11) 特殊说明 和注意点 如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数返 回 0(读出成功)为止。 表 9 WritePort1()函数 函数名称 WritePort1 函数原型 INT8U WritePort1(INT32U len,INT8U *sendbuff,INT16U timeout) 功能描述 用端点 1 发送 len 个字节 函数参数 INT32U len: 发送的字节数(取值范围为 0x00000001 ~ 0xFFFFFFFF) INT8U sendbuff: 发送缓冲区指针 INT16U timeout: 超时等待时间, 必须大于等于 0 函数返回值 0: 发送成功; > 0: 发送失败(错误码,见表 11) 特殊说明 和注意点 如果用户需要无限等待,那么请在该函数返回超时错误时再次调用该函数,直至函数返 回 0(发送成功)为止。 表 10 WritePort2()函数 函数名称 WritePort2 函数原型 INT8U WritePort2(INT32U len,INT8U *sendbuff,INT16U timeout) 功能描述 用端点 2 发送 len 个字节 函数参数 INT32U len: 发送的字节数(取值范围为 0x00000001 ~ 0xFFFFFFFF) INT8U sendbuff: 发送缓冲区指针 INT16U timeout: 超时等待时间, 必须大于等于 0 - 7 -