蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

2通过Kn控制LEDn(中断)说明文档

  • 资源ID:50597173       资源大小:38.50KB        全文页数:10页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

2通过Kn控制LEDn(中断)说明文档

功能描述按下Kn的时候LEDn亮(n1..4) 一、 驱动程序(KeyLed.cpp) include windows.h //include ceddk.h include nkintr.h //include oalintr.h include pm.h include pmplat.h include Pkfuncs.h include s2440.h volatile IOPreg *s2440IOP IOPreg *IOP_BASE; volatile INTreg*s2440INT INTreg *INT_BASE; HANDLE KeyThread; HANDLE KeyEvent; UINT32 g_KeySysIntr[4]; void Virtual_Alloc;// Virtual allocation DWORD UserKeyProcessThreadvoid; const TCHAR szevtUser[] LFriendlyARM/ButtonEvent; DWORD UserKeyProcessThreadvoid { DWORD IRQ; // 创建一个事务 KeyEvent CreateEventNULL,FALSE,FALSE,NULL; if KeyEvent { RETAILMSG1,TEXTERRORKELFailed to create event.\r\n; return FALSE; } // 将物理中断号转换为逻辑中断号 // IRQ 物理中断号;g_KeySysIntr逻辑中断号 IRQ 36; if KernelIoControlIOCTL_HAL_REQUEST_SYSINTR,IRQ,sizeofUINT32,g_KeySysIntr[0],sizeofUINT32,NULL { RETAILMSG1,TEXTERRORKEL Failed to request sysintr value.\r\n; return FALSE; } IRQ 39; if KernelIoControlIOCTL_HAL_REQUEST_SYSINTR,IRQ,sizeofUINT32,g_KeySysIntr[1],sizeofUINT32,NULL { RETAILMSG1,TEXTERRORKEL Failed to request sysintr value.\r\n; return FALSE; } IRQ 41; if KernelIoControlIOCTL_HAL_REQUEST_SYSINTR,IRQ,sizeofUINT32,g_KeySysIntr[2],sizeofUINT32,NULL { RETAILMSG1,TEXTERRORKEL Failed to request sysintr value.\r\n; return FALSE; } IRQ 42; if KernelIoControlIOCTL_HAL_REQUEST_SYSINTR,IRQ,sizeofUINT32,g_KeySysIntr[3],sizeofUINT32,NULL { RETAILMSG1,TEXTERRORKEL Failed to request sysintr value.\r\n; return FALSE; } // 通知系统使能这个中断g_KeySysIntr,并且当这个中断产生时产生一个事务、 if InterruptInitializeg_KeySysIntr[0],KeyEvent,NULL,0 { RETAILMSG1,TEXTFail to initialize key interrupt event\r\n; return FALSE; } if InterruptInitializeg_KeySysIntr[1],KeyEvent,NULL,0 { RETAILMSG1,TEXTFail to initialize key interrupt event\r\n; return FALSE; } if InterruptInitializeg_KeySysIntr[2],KeyEvent,NULL,0 { RETAILMSG1,TEXTFail to initialize key interrupt event\r\n; return FALSE; } if InterruptInitializeg_KeySysIntr[3],KeyEvent,NULL,0 { RETAILMSG1,TEXTFail to initialize key interrupt event\r\n; return FALSE; } while1 { // 等待中断发生 WaitForSingleObjectKeyEvent,INFINITE; const char nIndex[] { 0, 3, 5, 6}; const char nIndex2[] { 5, 6, 7, 8}; // 扫描Kn1..4的状态并赋给LEDn1..4 for int i0;i4;i { if s2440IOP-rGPGDAT 0 x01 nIndex[i] { s2440IOP-rGPBDAT s2440IOP-rGPBDAT | 0 x01 nIndex2[i]; } else { s2440IOP-rGPBDAT s2440IOP-rGPBDAT 0 x01 nIndex2[i]; } } // 已经完成中断的处理,重新开启该中断 // K1 ifs2440IOP-rEINTMASK DWORD0 x18 { InterruptDoneg_KeySysIntr[0]; } //EINT11 - K2 ifs2440IOP-rEINTMASK

注意事项

本文(2通过Kn控制LEDn(中断)说明文档)为本站会员(15775730132)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开