为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

psam卡驱动设计

2012-12-07 20页 ppt 235KB 29阅读

用户头像

is_844589

暂无简介

举报
psam卡驱动设计nullPSAM卡驱动设计PSAM卡驱动设计 黄 文 林 东南大学国家专用集成电路系统工程技术研究中心PSAM卡简单介绍PSAM卡简单介绍PSAM卡Psam1Init( )Psam1Init( )函数名称: VOID Psam1Init(VOID) 入口参数: 无 返回值: 无 函数功能: PSAM卡初始化,配置各I/O口,包括:contorl、reset、data三个端口。 RES --- PC5 CLK --- PC12 DATA---PE9Psam1Init( )Psam1Init( )*(RP)PORTE...
psam卡驱动设计
nullPSAM卡驱动PSAM卡驱动设计 黄 文 林 东南大学国家专用集成电路系统工程技术研究中心PSAM卡简单介绍PSAM卡简单介绍PSAM卡Psam1Init( )Psam1Init( )函数名称: VOID Psam1Init(VOID) 入口参数: 无 返回值: 无 函数功能: PSAM卡初始化,配置各I/O口,包括:contorl、reset、data三个端口。 RES --- PC5 CLK --- PC12 DATA---PE9Psam1Init( )Psam1Init( )*(RP)PORTE_DIR |= 0x0200; //将PE9中断口配成psamcard1的data口; *(RP)PORTE_SEL |= 0x0200; *(RP)PORTE_INTRCTL |= 0x000c0000; *(RP)PORTE_INCTL |= 0x0200; *(RP)PORTE_INTRCLR |= 0x0200; *(RP)PORTE_INTRCLR = 0X0000; *(RP)PORTC_SEL |= 0x0020; //将PC5配成psamcard1的reset口; *(RP)PORTC_DATA &= (~0x0020); *(RP)PORTC_DIR &= (~0x0020); *(RP)PORTC_SEL |= 0x1000; //将pc12配成psamcard1的control口 *(RP)PORTC_DATA |= 0x1000; *(RP)PORTC_DIR &= (~0x1000); Psam1_Str_Init( )Psam1_Str_Init( )函数名称: VOID Psam1_Str_Init(VOID) 入口参数: 无 返回值: 无 函数功能: PSAM卡收发结构体的初始化 Psam1_Str_Init( )Psam1_Str_Init( )typedef struct _psam{ CHAR send_data[5]; //命令头 INT command_len; //命令长度 CHAR command_data[MAXLEN]; //命令字节 CHAR receive_data[MAXLEN]; //接收字节 INT receive_len; //接收长度 }psamcard; memset(psam1.send_data,0,5); psam1.command_len = 0; memset(psam1.command_data,0,MAXLEN); memset(psam1.receive_data,0,MAXLEN); psam1.receive_len = 0;Psam1Init( )Psam1Init( )*(RP)PORTE_DIR |= 0x0200; //将PE9中断口配成psamcard1的data口; *(RP)PORTE_SEL |= 0x0200; *(RP)PORTE_INTRCTL |= 0x000c0000; *(RP)PORTE_INCTL |= 0x0200; *(RP)PORTE_INTRCLR |= 0x0200; *(RP)PORTE_INTRCLR = 0X0000; *(RP)PORTC_SEL |= 0x0020; //将PC5配成psamcard1的reset口; *(RP)PORTC_DATA &= (~0x0020); *(RP)PORTC_DIR &= (~0x0020); *(RP)PORTC_SEL |= 0x1000; //将pc12配成psamcard1的control口 *(RP)PORTC_DATA |= 0x1000; *(RP)PORTC_DIR &= (~0x1000); Psam1Init( )Psam1Init( )*(RP)PORTE_DIR |= 0x0200; //将PE9中断口配成psamcard1的data口; *(RP)PORTE_SEL |= 0x0200; *(RP)PORTE_INTRCTL |= 0x000c0000; *(RP)PORTE_INCTL |= 0x0200; *(RP)PORTE_INTRCLR |= 0x0200; *(RP)PORTE_INTRCLR = 0X0000; *(RP)PORTC_SEL |= 0x0020; //将PC5配成psamcard1的reset口; *(RP)PORTC_DATA &= (~0x0020); *(RP)PORTC_DIR &= (~0x0020); *(RP)PORTC_SEL |= 0x1000; //将pc12配成psamcard1的control口 *(RP)PORTC_DATA |= 0x1000; *(RP)PORTC_DIR &= (~0x1000); Psam1ResetCold( ) Psam1ResetCold( ) 函数名称: VOID Psam1ResetCold(VOID) 入口参数: 无 返回值: 无 函数功能: PSAM卡冷复位Psam1ResetCold( )Psam1ResetCold( )*(RP)PORTC_SEL |= 0x0020; *(RP)PORTC_DATA |= 0x0020; *(RP)PORTC_DIR &= (~0x0020);Psam1CommandSend( )Psam1CommandSend( )函数名称:VOID Psam1CommandSend(CHAR *command,INT len) 入口参数:CHAR *command 发送命令的首指针 INT len 发送命令的长度 返回值: 无 函数功能: 发送PSAM卡命令的一个字节Psam1CommandSend( )Psam1CommandSend( )将data口置为普通I/O口 起始位 8位数据 校验位(奇校验) 发送完成后,将data口置为中断口()Psam1Lisr( )Psam1Lisr( )函数名称: VOID Psam1Lisr(VOID) 入口参数: 无 返回值: 无 函数功能: 响应PSAM卡产生的低级中断,激活其高级中断程序。 Psam1Lisr( )Psam1Lisr( )mask_irq(10); psam1.receive_len ++; NU_Activate_HISR(&PSAM1HISR); *(RP)PORTE_INTRCLR |= 0X0200; *(RP)PORTE_INTRCLR &= (~0X0200);Psam1Hisr( )Psam1Hisr( )函数名称: VOID Psam1Hisr(VOID) 入口参数: 无 返回值: 无 函数功能: 处理PSAM卡产生的高级中断。将data口配置为通用口,以接收data口上产生的8位数据。 (流程图) Psam1Hisr( )Psam1Hisr( )for(j=0;j<234;j++);//246 *(RP)PORTE_SEL |= 0X0200; *(RP)PORTE_DIR |= 0X0200; for(i=0;i<8;i++){ temp = *(RP)PORTE_DATA; if(temp&0X0200) { verify ++; data = 0x01; psam1.receive_data[psam1.receive_len-1]|= (data<
/
本文档为【psam卡驱动设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索