前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇文献信息检索范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
培养学生信息意识,提高学生信息检索能力,是高等院校文献信息检索课的主要任务。随着计算机技术、网络技术、通信技术的迅速发展和广泛应用,网络信息和数据库的检索与利用日益成为大学生信息检索的重要内容。文献检索课是培养大学生信息素质的重要途径之一,是一门理论型和实践性非常强的课程。1984年教育部发文推广文献检索课程时建议,文检课的理论教学与实践教学比例为1:1至2:1。可见,在文献检索课的教学环节中,实践教学更重要一些,它是巩固和加深课堂教学效果提高学生检索与利用文献能力的有效手段,是文检课教学任务中最为重要的内容。
一、文献检索课教学的现状
(一)地位不高,课时压缩
因为不是专业课,一般高校文献信息检索课开设学时都不多,而且近年都有大幅缩减的趋势。虽然学时整体缩减,可是教学任务、教学要求、教学目标并未改变,老师该讲的理论知识不能不讲,学生该会的检索技能不能不会,这样,文献检索课的教学尤其是实践教学,因承载的教学任务较重而压力陡增因此,针对高校普遍存在的这种文检课学时日渐缩短的现状,很有必要加强文献检索课实践教学方法的理论研究与应用创新,借以缓解文检课实践教学存在的困境,努力提高学生文献检索能力和科研素养,并以此提高文献检索课的教学效果。
(二)教学资源有限
文献检索课教学的发展往往受到图书馆本身发展的限制,对于一些基础薄弱、学校资金投入不足的图书馆,文献检索教学资源备受限制,比如外文数据库的引进是典型例子,外文数据库费用昂贵,是很多图书馆购买数据库时的难题,所以当文献检索课教学提及外文数据库使用方法和检索技巧时,只能用多媒体进行理论讲解,学生不能进行实际操作。
(三)教学方法落后
目前,文献检索课教学方法仍采用传统的讲授法,授课基本思路是:基础理论知识、检索原理、检索工具、检索途径、检索报告这种讲授方法以基础理论和检索工具详细介绍为主,不能与学生互动交流,使学生感到乏味,不能调动起学生的积极性主动性和创造性教学效果不好,严重影响了教学质量。
(四)教师综合素质不高
从事文献检索课教学的教师日常工作在图书馆各部门,开课时集中授课,没有闲暇时间集体备课,研究教学方面的问题。而且这些教师多是非师范类院校毕业,没有经过系统的教学方面的训练,因此在教学方法运用、教材内容理解、教学艺术把握等方面普遍有所欠缺,而提高教师自身的业务素质和教学水平是文献检索课提升其课程魅力的重要环节。
二、文献信息检索课的改革措施
(一)理论知识最大程度实践化
理论教学容易使学生感觉枯燥乏味,因此文献检索课的教学要从基础知识的传授开始就采用注重实践的教学方法。1.浅化理论知识:尽可能以通俗易懂的PPT或场景编辑,将复杂难记的专业知识浅化、趣味化,充分发挥实践教学对学生的互动促学作用,唤醒学生的学习潜能。2.简化理论知识:以直观的实践过程来一步步演示深奥抽象的原理、名词概念及检索步骤,一些相对复杂易错的知识与技能可以略过。比如讲解基础知识及图书馆资源利用,就安排学生参观图书馆书库和报刊阅览室,以及到电子阅览室上课;讲解一次文献、二次文献、三次文献,要让学生从图书馆各类图书和报刊中找到与自己专业及就业方向相关的纸质资源,和各类电子资源,帮助学生提高信息获取及利用能力,这样既能让学生理解概念,又可增强他们对本校图书馆相关文献的利用,还可以提高学生们的学习热情。
(二)将文献检索课教学同学生所学专业紧密结合
大多数高校文献检索课使用的教材不分文理,所有的学生学的都是同样的内容,没有和各专业学生的专业课学习紧密结合。专业知识是学习文献检索课的基础和准备,同时文献检索课的学习又能够促进,带动专业课程的学习。因此,教学内容要体现出专业特色,使其与学生所学专业课程和专业方向紧密联系,做到因专业而异。
(三)强调分类检索方法的灵活应用
学生往往忽略对分类检索方法的应用,由于各专业学生的学习侧重点不一样,教会学生灵活使用分类检索尤为重要,学生要学习在网络上查询中图法分类表,利用对应的分类号到各数据库中查找自己感兴趣的文献。强调使用分类检索结合主题检索,并正确使用逻辑运算制定科学的检索策略,可让学生对比单独使用分类检索和主题检索及综合使用两种检索途径的效果,以突显综合检索的优势,使学生能够灵活应用分类检索方法。
(四)在理论讲授的同时构造网络同步操作环境
图书馆电子阅览室配备多媒体设备,教师可以结合检索实例,一边上机操作,一边利用幻灯片讲解,在演示检索的全过程中,学生也可同步进行。这既可大幅度提高教学效果,也能更好地激发学生们的学习兴趣,启发他们自己去动手去实践。
(五)探索新型网络教学模式
利用网络教学平台是今后图书馆开展文献检索课的发展趋势,它可以拓展教学空间,补充教学资源,提高教学质量。文献检索课要利用多媒体技术制作该课程的网络课件,在图书馆的主页上设立文献检索课教学栏目,让学生可随时调出该课程教学大纲、教案内容、习题和教学视频,遇有疑难问题亦可通过网络向老师咨询。
(六)改进授课的方式方法
加入课堂趣味互动环节,如实践教学“关键词提炼”,以课程设计、毕业设计科研创新题目为例,做“砸金蛋”游戏,提炼对一个关键词,就有一个金蛋开花学生参与这样的学习活动比较踊跃,真正做到“寓教于乐”。
总之,文献信息检索课改革是一项系统工程,需要循序渐进地进行探索,只有探索发现新的好的教学模式,才能在培养实践性应用型人才造就高素质人才的过程中发挥积极的作用因此,教师应以学校教学改革为契机,开拓创新,进行行之有效的教学改革,推动文献检索课教学工作更上一层楼。
参考文献
[1]李宏宇,冯晓丽.高校短学时文献检索课实践教学创新研究.兰台世界[J]2012,(12).
[2]杨晶石,杨杰.高校文献检索课教学改革探析.通化师范学院学报[J]2012,(12).
[3]史素梅,孙会清.论高校文献检索课教学与信息素质教育的关系.农业网络信息[j]2013,(3)
【关键词】 文献信息检索课;中医高等院校;中医教育
中医药文献信息检索课自1985年首批中医院校开课至今已25年,目前国内所有中医院校均已开设检索课,有了相应的统编教材和自编教材、教参和一支教师队伍,不少院校还成立了检索教研室。通过对这门课程的学习,增强了中医院校大学生的信息意识,使广大同学普遍掌握了文献检索最基本的方法和技能,为今后的临床和科研奠定了基础。
1 发展历程调研
笔者借助2009年本校主办“首届中医药信息学与信息素质教育高级研讨班”之际,对全国23所中医高等院校文献检索课的教研室设置,教材使用,教学内容、层次,授课和考核方式,以及相关主题的情况进行了调查,并与1996年浙江中医药大学张长生老师开展的《中医文献检索课》的调查进行了对比[1]。这次调查结果有如下变化:①在计算机检索教学和实习场所2项建设方面取得了显著的成绩。目前,各个院校都建立了电子阅览室,特别是近几年,随着新校区的搬迁,电子阅览室的计算机台数更是成倍递增,为检索课的实习提供了有力的保障。②20多年来,文献信息检索课的教学不断发展,取得了长足的进步。wwW.lw881.com教学规模不断扩大,师资力量逐渐雄厚,拥有了各个职称层次的教学队伍;教学效果有所突破,特别是使学生增强了信息意识,达到了在一定程度上学以致用的目的;教学参考书和教材的编写呈现百花争鸣的态势;依托教材建设的平台,不断开展校际间的交流。③教师不断在教学过程中总结教学经验,撰写了一定数量具有中医特色的检索教学论文。
但是,从此次调查和会议的交流中,我们清楚地意识到:中医院校文献信息检索课的发展偏慢,存在的问题不容忽视,与“医学生七种能力”的培养要求距离甚远。
2 存在问题
2.1 各行其是,疏于交流
从资料记载和统计看,2000-2005年大约先后有24位检索课教师参加了福建中医学院图书馆主办的每年一期的国家级继续医学教育项目《网络医学信息采集与服务》培训班。而全国中医院校以文献信息检索课交流为主要议题的学术会议,自1996年在浙江中医学院召开之后再没有开会。因此,各院校同仁间几乎互不认识,信息沟通基本处于闭塞状态。
2.2 缺乏统一规范的要求和管理
自教育部(84)高教一号《教育部印发关于在高校开设文献检索与利用课的意见的通知》下发以来,20多年来再没有新的有关文献检索课教学的文件、意见或通知,各高校均依据自己学校的情况自行安排教学内容。从我们调查的数据和本校长期以来的做法可以看出,中医院校没有统一的教学计划和大纲要求,课程名称、课程设置也不统一,有的学校是必修课,有的学校是选修课。必修课和选修课开设的学期段也不同,从大一到大四必修和选修均有;课时安排也不尽相同,有的学校是2个学期的课程,有的学校是1个学期,学时从18~51学时不等。
2.3 缺乏对检索能力评价和考核标准
迄今为止,我国尚缺乏对中医院校学生在校期间信息素质的评价和指导标准。各类探讨检索课教学方法和内容的研究论文数量不少,但涉及具体如何评价检索能力或信息素养的论文鲜见,与西医院校的发展和水平相比差距很大。我们在面向研究生的课程中,发现许多研究生不懂如何选题和立项,面对导师指定的选题,又不知如何制定信息搜集策略,如何动手实施一项检索任务,如何识别或捕捉复杂多变的课题需求,如何对信息进行鉴别、组织和分析。而这些知识,在某种程度上比检索技能更为重要。近年来,信息检索课之所以徘徊不前,很大程度上是缺乏自身认识和内容的创新。
2.4 教研室建设无统一要求
从调查情况看,许多学校的任课教师都是兼职的,备课时间相对不充分。有的学校虽然开设文献信息检索课的时间比较久,但由于没有形成独立的教研室,几乎处于学校教学的边缘状态,对教学内容、教学方法、任课教师的考核和评价,都游离在学校教务处统一规范的管理之外。因此,教师的责任心和进取心大打折扣。另外,有些图书馆对青年教师培养不够,虽然是图书馆或中医药专业毕业,但没有受过教学方面的专业训练,不了解教学方法,不能有效地把握课堂;同时还存在年轻教师没有充足的检索实践经验,检索的基本功较薄弱等问题。
3 建议
3.1 开设各层次、各专业文献信息检索课
以《高等学校本科教育中医学专业设置基本要求(试行)》(教高厅〔2008〕3号)为契机,积极主动地配合学校教学管理部门,探索课程设置。国家中医药管理局在文件中提出了高等学校本科教育中医学、中药学的专业培养要求,明确单列一条规定:本科学生在完成学业时,专业水平应达到“熟练运用计算机,掌握文献检索、资料查询的基本方法”和“了解中医药学科及其相关学科的学术发展动态”。而目前已经在医学院校推广的国际医学专业认证的考核指标中,文献检索能力也作为一项单列的考核指标。因此,检索教学的意义更加凸显。教学效果的好坏关乎学生文献检索能力的高低,这对从事中医检索教学的教师、团队而言,既是机遇也是挑战。
3.2 推动文献信息检索课内容从传统检索到信息分析的跨越
随着信息检索技术的发展,信息检索已经由手工检索、计算机检索发展到了网络化、智能化、认知化阶段,这一阶段的信息检索平台具备了初步的信息分析功能,从而使传统检索信息向信息分析层次发展。而目前的中文检索平台,如cnki的知网节、万方的知识服务平台、读秀知识平台等,都开始朝信息分析的方向发展。以cnki为例,当检索出某一主题的结果后,检索者还可以利用该平台提供的信息分析功能,对检索结果从以下几个方面进行深入分析:①分组分析法:从学科类别、中文关键词、研究层次、文献作者、作者单位、文献出版来源、研究获得资助、来源数据库等角度深入;②排序分析法:按照相关度、发表时间、被引频次、下载频次等排序方法,对同一主题的检索结果进行分析。
而英文数据库的isi检索平台,同样能够按照时间进行分析,了解不同时间阶段课题研究的状态;按照国家分析,了解该领域的主要研究国家以及国内该领域研究情况;按照机构分析,了解该领域的主要研究机构;按照作者分析,了解该领域的核心研究人员;按照来源刊分析,了解该领域研究的重点期刊以及对某刊物收录论文情况;按照学科进行分析,了解该课题涉及哪些学科领域以及对感兴趣学科进行更深入的分析。很显然,通过对检索结果从6个方面进行深入分析,将使学生有进一步的深入了解。
中英文数据库的示例表明,检索课的教学侧重点应该有明显的改变,信息检索目前已经发展到信息分析层次,这一变化具有非常重要的意义,值得教师和学生高度重视和关注,并及时引入课堂,作重点分析和介绍,引导学生由传统的单纯检索向检索与信息分析相结合的方向发展。
3.3 尽快制定信息能力评估指导性标准
本次调查除了问卷形式之外,我们还对各个中医院校的网站进行了调研。除了南京中医药大学、福建中医学院的检索课有精品课程网站之外,尚未发现其他院校有中医药文献检索的精品课程的相关网页,说明中医院校的文献检索课程建设还需要加强精品意识,相关教学手段、教材编写、教学内容、教学队伍还要不断努力,朝精品课程建设方向发展。
3.4 培养和提升教师队伍素质
目前,承担检索课的教师在完成现有教学任务的同时,面临着继续学习和知识更新的挑战。因此,应该主动融入到中医药信息学的学科建设中,将学习、教学、科研紧密结合,扩展知识结构,根据信息学学科涵盖的其他课程的需要,积极开设更多的课程,提升自己的能力和水平。
【关键词】三元体系 医学信息检索 教学
【中图分类号】G252.7 【文献标识码】A 【文章编号】2095-3089(2015)10-0247-02
本课程内容的知识建设注重课程体系构建,从教学目标、内容、手段三个方面对医学文献检索课(简称文检课)进行整改,使该课程形成特色知识体系。经过多年的文检课教学过程实践,逐步发现三元体系知识架构,使该课程知识体系得以系统性归类。
1.三元体系的认识
指若干有关部门事物或某意识互相联系而构成的一个整体。任何体系都应建立在一定的目标基础之上,在此基础上提出三元体系的医学信息文检课体系,实践证明三元体系有利于教学相长的发挥。其概念是指文检课的教学模式、形式以及教学方针都分别由三部分归纳构成。
三元体系的教学模式包括:基础理论知识、检索实习、咨询答疑三个环节;教学形式采用:课件教学、格式知识、内容模块三种形式;教学方针的内容包括:因才施教(考量学生的学科类型背景、文献知识基础差别)、因材施教(考查推荐使用教材和参考教材以及自编教材的知识内容异同)、因差(读音:chai)施教:(考虑学生的文献信息现实需要的变化和利用文献信息的能力)。从而构成文检课全方位的三元体系。
实践证明,该体系符合课程知识规范和学生对文献信息知识的认知,具有以下特点:(1)体系完整,结构严谨;(2)内容关联,基点统一;(3)内容合理,方法实用。
2.三元体系的内容
三元体系引入数学思维模式,课程中所有主要知识内容都以三个基本知识点构成。在具体的教学中,把文检课的知识以检索知识为基干,课程整体结构分为:(1)检索前知识储备内容;(2)检索中知识获取内容;(3)检索后知识应用内容三个分枝。具体内容结构如下:
2.1检索前知识储备内容包括:文献信息知识、文献组织方法知识、文献检索语言三部分。
2.1.1 文献信息知识内容包括:信息及信息素养、文献情报知识概念、信息文献主要类型三部分。
文献情报知识概念包括文献、情报以及知识三个概念。其中文献体现三个知识点:记录形式、知识载体和文献作用,文献作用主要体现在保存文化遗产、传播传递信息和科研成果最终表现形式三个方面。情报概念中最重要的知识点就是情报的三个属性:知识性、传递性、效用性。
信息文献主要类型划分形式:按信息存储技术的类型划分、按文献出版类型划分以及按信息加工的程度划分。按信息存储技术的类型划分按照过去的理论知识有四种形式,但是其中一种缩微型(缩小存储在感光胶卷)正在逐步退出历史舞台,因此主要有三种形式:电子文献、印刷型和声像型,而电子文献有三种格式:文本型、多媒体型和超文本型。按文献出版类型划分:图书、连续出版物和特种文献三种;图书的种类也分三种:教科书、专著以及参考工具书;连续出版物也主要有三种:期刊、报纸和年鉴。按信息加工的程度划分:一次文献、二次文献和三次文献。
2.1.2 文献组织方法的教学内容包括:检索语言、检索标引、检索工具。检索语言包括:叙词语言(主题词/关键词/自由词)简介、分类语言简介、代码语言(计算机专用);检索工具:组成方式、数据记录格式、索引使用。
2.2检索中知识内容包括:计算机文献信息检索、数据库知识内容、讲授选取数据库系统三部分。在这部分内容中重点讲授数据库的检索方法。
2.2.1计算机文献检索内容:计算机检索的概念、网络检索、检索模式。
概念包括:计算机系统、现代通讯、文献信息系统。网络检索:搜索引擎、学科专题、专业数据库。
2.2.2 数据库知识内容讲授:数据库结构、数据库模式、数据库访问。
数据库结构包括:文档、记录和字段;数据库模式:题录(索引)数据库、文摘数据库、全文数据库;数据库访问:本地(镜像)访问、远程访问、 服务器访问三种访问方式。
2.3 检索后知识内容包括:资料的整理方法,情报调研方法论、医学文献写作三部分。
2.3.1 资料的整理方法讲授:建立个人知识档案、个人资料整理方法、使用个人资料库。整理方法可分为:序列法、背景法、纵横法三部分内容。
2.3.2 情报调研方法论分为:文献整体研究、析出内容研究、引文研究三部分内容。
2.3.3 医学文献写作:医学学术论文、综述、医学学位论文三部分内容。
3.结束语
为进一步加强医学院校的医学文献检索教育,探索新环境下的新型教学模式、教学方法,建立符合学生现实需要的文检课知识体系,培养具备一定科学精神和创新意识以及信息能力的医学学生,是文检课教育工作者的责任和义务。三元体系追求的目标是向学生传授医学文献(信息)检索的知识的体系、医学文献(信息)检索体系的知识。
参考文献:
[1]高艳霞,叶小利.医学图书馆开展循证医学用户教育探析[J]. 医学信息学,2011;32(1):87
[2]张稚鲲.赫尔巴特兴趣论在文学检索教学中的应用[J]. 中华医学图书情报杂志.2010;19(3):72
关键词:大学生,信息素养,文献检索课
中图分类号:G642.0 文献标志码:B 文章编号:1674-9324(2012)12-0017-02
信息时代,信息素质已经与科学素质、人文素质一样成为了当代大学生必备的基础素质。它是一种综合素质,它跨及了科学素质和人文素质,信息素质是每个人终身学习的基础,覆盖了所有学科以及教育阶段[1]。
在我国,文献检索课是培养大学生信息素养的一个重要途径。随着社会的进步,文献检索课对大学生信息素养的养成越来越重要,本文从大学生在校时期几个时间点的学习生活入手,分析了大学信息检索课对于当代大学生的影响,以点带面,将能进一步揭示文献检索课对于大学生信息素养培养的重要意义。
一、文献检索课对大学生信息素养影响调查
(一)调查对象
本次调查分两个阶段进行,调查样本分别抽取了佳木斯大学材料学专业入学新生105人,上过文献检索课程的学生110人,共发放调查问卷215份,回收214份,回收率99.5%,有效问卷212份,有效率99%。
(二)调查方法
为了充分揭示大学文献检索课对大学生信息素养的影响,课题组采用的调查对象同为一个专业的学生,入学间隔没有超过一年,数量上也相差不大,从而进一步减少了样本间的差异。调查采取匿名问卷调查的形式。
(三)调查结果
信息素养具有一个完整的体系结构,包括信息意识与情感、信息伦理道德、信息知识与信息能力[2]。根据这个体系结构分别对入校新生以及上过文献检索课程的老生进行关于信息素养的问卷调查。限于篇幅本文仅介绍有代表性的三项问题的调查结果,具体数据见表1及表2.
通过对以上数据的对比分析我们不难发现,刚入学新生的信息素养相对比较低,主动学习、主动研究的能力还比较欠缺。通过文献检索课的学习,学生的信息素养有了很大提高。“自己主动通过各种途径解决问题”的调查数据由9.3%迅速上升到了62.7%。其次,刚入学的新生大多数对于专业期刊、专业数据库基本没有概念。然而,通过文献检索课的培养教育,学生们普遍对自己本专业的专业期刊、专业数据库有了一定程度的了解,尤其是对于专业数据库的使用,从1.9%上升到54.5%,可以说是跨越式的提升。再有,通过调查表的对比分析,能够看到,通过文献检索课程的教育,大学生初步具备了获取信息、评估信息的能力。但比较遗憾的是,通过调查我们也发现大学生信息伦理方面并没有显著的提高,这与相关内容授课时间设置较少有一定的关系。
二、文献检索课对在校大学生信息素养影响的三个阶段
(一)入学教育阶段
中国的高中教育重视理论学习,高中的各种资源也比较缺乏,作为高中生而言没有、不会也无需自主地搜寻各种资料,进行任何研究。因此刚刚升入大学的新生往往没有自己学习、自己研究的愿望和能力。
文献检索课首先解决的便是入校新生各种信息资源使用的问题,都会向入学新生展示我国各个高校的信息资源,培养学生独立学习、独立思考的能力。调查结果显示,学生在对待疑难问题上,能够主动寻找途径解决问题的比率从12.3%上升到62.7%,这说明文献检索课已经促使大部分学生正在逐步改变过度依靠老师的学习态度,从而为新生适应未来的大学学习生活铺平了道路。
(二)学习研究阶段
高校的文献检索课程一般都会设置在大一或者大二阶段。学生经过一段时间的学习都会掌握一定的专业课知识,此时,部分学生便会有进一步了解专业甚至进行专业研究的想法。通过文献检索课的学习,学生会逐步掌握各种检索工具、网络搜索引擎、各种专业数据库的使用方法,从而使他们的信息素养、学术水平能够在短的时间内取得迅速地提升,这也是文献检索课的教学目的之一[3]。
(三)面向毕业阶段
1.创造就业优势。随着我国教育事业的不断发展,大学生的基数不断增长,大学生就业问题越来越严峻。文献检索课培养的目的是提升学生的信息素养,信息素养提升的同时,就强化了学生的自主科研能力。笔者认为,若是在大学本科阶段便在专业上有所建树,那么这将是大学生就业分量最重的一个砝码。
2.毕业设计的支撑因素。大学生的毕业论文是大学生们的一次正式的、重要的科研活动。在调查中我们能够发现学生们通过文献检索课程的学习,使用专业数据库查找资料的学生从1.9%上升到了54.5%。这完全可以说明大学生的面向科研的信息能力得到了很大的提升。
3.求职面试的沸腾效应。大学生已经在专业等各方面准备了整整四年时光,但是使水沸腾的那一把火应该就是对求职面试的准备。应包括对招聘单位整体情况适当地了解以及对自己进行恰当的外在包装。而这些信息的获取,正是文献检索课信息意识、信息能力教学目的的充分体现。
三、结束语
全球信息化的今天,信息素养对于一个现代人来讲,重要性不言而喻。但是文献检索教育的现状却并不尽如人意。我国十七大报告提出信息化战略,重点首先应该是人的信息化,作为培养人们信息素养的重要环节,文献检索课应该得到应有的重视与发展。
参考文献:
[1]刘一宁,蔡庆芳,张教业.文献检索课与大学生信息素质教育(上)[J].科技情报开发与经济,2006,(6):254-255.
[2]李卫星,何飞.现代信息素养与文献检索[M].武汉:湖北人民出版社,2010:10.
一、前 言
计算机的日益普及和计算机技术日益成熟,使得计算机在工业控制监测中的应用渐渐深入。但工业应用不同于其它方面,它要求有较强的实时性。现在有很多的DOS软件在运行过程中通过挂接外部中断方式实现DOS应用软件与外设的实时通信,这种方法实现起来十分简单。而在Windows中应用程序能否也能够利用外部硬中断实现外设与Windows应用程序的实时通信呢?答案是肯定的。这里的关键是要解决好中断代码与Windows应用程序相互之间交换信息的问题。
从外设发送异步的硬中断,通过中断处理程序传递一条信息给Windows应用程序。这时可以初始化相关端口,准备好数据,然后进行数据传送,从而做到实时通信。
实现Windows应用程序响应外部中断的方法有很多,如Microsoft公司自己开发的SDK、DDK软件包,使用嵌入式汇编等等。本文将介绍一种在BC++3.1的基础上利用Windows 3.1拥有的一些功能实现Windows实时通信的实例。
二、中断代码的位置
在Windows中,几乎所有的异步事件都是由中断处理程序来管理的。中断处理程序包含在设备驱动程序中,由Windows在环境初始化中安装。例如,KEYBOARD.DRV、MOUSE.DRV和COMM.DRV均含有中断处理程序,以处理相应的键盘、鼠标和串行口的异步中断。可以仿照标准设备驱动程序,编写中断处理代码,以响应外设的通信请求,从而完成一次实时通信。
中断代码既可以包含在应用程序的可执行代码中,也可以包含在动态连接库(DLL)中。包含在应用程序中的代码只能在一个程序中使用,而在动态连接库中的代码则可以在Windows系统中所有的应用程序所共享。这样不仅在整个Windows系统中只有一个中断代码的副本,提高了内存的使用效率,更重要的是可以防止由于同时存在多个中断代码的副本而发生冲突。本文将在DLL中编制中断处理程序。
当动态连接库被装入时,要调用DLL库的入口点LibMain(),利用这一点可以执行一些初始化工作,可以分配一些内存块,可以初始化一些全局变量或者静态变量,可以安装中断服务程序的代码等等。例如:
void interrupt (oldIsr)(--CPPARGS)
/* 旧的中断服务程序地址 */
LibMain(HANDLE hInstance,WORD wDataSeg,WORD cbHeapSize,L
PSTR
lpszCmdLine)
{
…
oldIsr=getvect(IRQNum);
/* IRQNum指中断号 */
setvect(IRQNum,newIsr);
/* newIsr指新中断服务程序代码 */
return(1);
}
函数setvect()既可在实模式下,也可在保护模式下设置中断处理向量。
上述代码也可以放在一个由用户设置的引出(export)函数中,在应用程序中用户可以调用此引出函数来安装中断服务程序代码。
由于中断可以在任何时刻发生,中断代码必须驻留在内存中,并且在应用程序运行的过程中一直处于某一固定内存中。这一点无论是在实模式还是在保护模式下都是一致的。
在DLL的模块定义文件中应注意:
1.CODE语句为固定代码段,即FIXED;
2.EXPORTS语句要引出被应用程序和其它DLL用作入口点的函数。
三、通信机制
编写实时通信例程关键在于必须认识到,异步事件对应用程序的触发是异步发生的,不在Windows的消息处理机制和多任务范围内。为了使通信例程能够正确地工作,通信例程必须通知Windows有异步事件发生,且不能打断应用程序的任务管理或消息流。要作到这一点,通信例程必须通过调用PostMessage或PostAppMessage函数向应用程序的消息队列中加入一条消息。
需要注意的是,在DLL中调用PostMessage(HWND hwnd, …)时,必须先确定hwnd的实际值,可以通过使用引出函数的办法来实现,如下所示:
static HWND hWndApp;
void FAR PASCAL SetIsrWin(HWND hwnd)
{
hWndApp=hwnd;
} 然后在应用程序的窗口函数中,对WM-CREATE消息进行处理时调用此函数来初始化DLL中的静态变量hWndApp:
CASE WM-CREATE:
…
SetIsrWin(hwnd); /* hwnd指应用程序窗口句柄 */
定义一个在应用程序中使用的消息:
#define ISRM-RUPT WM-USER+255最后在DLL中的中断服务程序代码中,调用PostMessage即可完成Windows应用程序和中断服务程序代码相互的信息交流:
void interrupt newIsr(--CPPARGS)
{
…
PostMessage(hWndApp,WM-RUPT,wParam,lParam);
…
}
四、程序实例
本示例先安装在DLL中的外中断服务代码,通过386/AT总线上的中断申请线(IRQ12)外触发,由中断服务代码发送一条消息WM-RUPT通知Windows应用程序外设有实时通信请求,应用程序收到这条消息后,在窗口用户区显示一条信息,表明已和外设联络上,并同时鸣叫一声喇叭。
程序分为两部分:DLL库代码和Windows应用程序代码。
1.DLL库代码
/*----------*
* interrupt include file,named handle.h*
*----------*/
void FAR PASCAL SetIsrWin(HWND hwnd);
void FAR PASCAL SetIRQNum(unsigned char IRQ);
/*----------*
* module defination file, named handle.def *
*----------*/
LIBRARY HANDLE
EXETYPES WINDOWS
STUB 'WINSTUB.EXE'
CODE PRELOAD FIXED
DATA PRELOAD SINGLE
HEAPSIZE 1024
EXPORTS
WEP
@1 RESIDENTNAME
SetIRQNum @3
/*----------*