ARM LINUX入门与实践
一个嵌入式爱好者的自学体验,从零介绍ARM和LINUX的方方面面博客稳阁丛书程方网名阿南曰曰强个嵌入式爱好者的自学体验南编著与实践京航空统无荟出版社内容简介本书是以作者自学、应用嵌入式 Linux时的笔记(包括实验、出现的问题、调试过程、经验总结等)为基础,再增加应用到的硬件平台而成的。全书以亲自制作实验平台硬件,亲自设计实验软件为线索,指导读者从零开始学习到最终掌握ARM和 Linux应用的方方面面。全书可以分成ARM硬件、ARM前后台系统应用和基于Lnux系统的应用3个部分。ARM硬件部分包括整个硬件的原理分析、原理图、PCB板的绘制、元件焊接、硬件的检测与调试。ARM前后台系统应用部分包括启动代码、处理器内部外设、扩展外部设备及接口等的所有底层软件分析与实现,还有 Bootloader、文件系统、GUI等的原理与实现。 Linux系统的应用部分包括基于PC机的操作、应用编程和驱动、嵌入式 Linux的汗发环境创建、各种硬件的驱动实现、网络编程、图形用户界面设计等。本书可作为有志于掌握ARM、 Linux等嵌入式技术的高校学生、工程师等的参考书。图书在版编目(CIP)数据ARM Linux人门与实践/程昌南,方强编著.一北京:北京航空航天大学出版社,2008.10ISBN978-7-81124-422-9I.A…Ⅲ.①程…②方…Ⅲ.①微处理器,ARM系统设计② Linux操作系统一系统设计Ⅳ.TP332TP316.89肀国版本图书馆CIP数据核字(2008)第150813号c2009,北京航空航天大学出版社,版权所有。未经本书出版者书面许可,任何单位和个人不得以任何形式或手段复制本书及光盘内容。侵权必究。ARM Linux入门与实践一个嵌入式爱好者的自学体验程昌南[网名阿南]编著方强责任编辑董立娟北京航空航天大学出版社出版发行北京市海淀区学院路37号(100191)发行部电话:010-82317024传真:010-82328026http://www.buaapress,comcnE-mail:bhpress@263.net涿州市新华印刷有限公司印装各地书店经销开本:787mm×960mm1/16印张:31.5字数:706千字2008年10月第1版2008年10月第1次印刷印数:;5000册ISBN978-7-81124-422-9定价:49.50元(含光盘1张)本书的使用及学习方法ARM和 Linux学习方法的体会如何才能学好或尽快上手ARM和 Linux?这是很多初学者想问的,也曾经在网上讨论过。其实学习没有捷径,主要还是取决于学习态度和学习方法。ARM、 Linux也一样,在此阿南根据自学过程中的体会和网上的讨论作一些总结。ARM的学习。有了单片机或计算机结构的基本知识、C语言的基础,上手ARM是比较容易的。学习ARM,首先应该了解一下ARM的体系结构,了解它有哪些版本、哪些模式、哪些寄存器、异常等。这方面的内容可以参考《ARM体系结构与编程》一书,这本书介绍的内容还是很全的,可以先快速地浏览特别是汇编指令不需要记住,以后应用时再查。其次选定一种具体厂家型号的ARM处理器,学习该处理器相关的开发工具的使用,如开发环境、仿真器及评估板等。然后可以分析该处理器的外围扩展方法,如 SDRAM、 NAND Flash等,一般官方或第三方都会提供原理图,可以用来分析。接下来要理解该处理器的启动过程,亲自尝试从块裸板逐步运行自己的应用程序,也可以参考官方的启动代码及例程。最后就可以调试、测试该处理器的各种外围部件,例如定时器PWM串口、LCD等,特别是中断及执行过程。Liux的学习。尽管我们最终应用的是嵌入式 Linux,但还是要先在PC机下学习,因为无论基于PC机还是嵌入式处理器的 Linux开发、编程、调试等都是相近的,而PC机的性能、资源等都更加丰富,嵌入式 Linux的开发环境通常也都建立在PC机 Linux环境下,另外Linux大量的书籍也都是针对PC机写的。阿南觉得学习的顺序应该是先在PC机上安装Linux系统,再参考相应的入门书籍,主要是熟悉 Linux环境,学习常用的命令和操作(不一定多,基本、常用的就可以,以后在使用过程中慢慢积累),理解各 Linux下的目录结构与作用等。其次,学习在Liπux环境下编程。可以参考《GNU/ Linux编程指南》或《UNX环境高级编程》,它们介绍了文件描述符的概念,打开读写等操作的系列基础知识;没有这些基础而直接看《 Linux设备驱动程序》会觉得困难。再次,了解一下 Linux内核源代码树的目录结构、编译等。最后,学习《 Linux设备驱动程序》,理解驱动程序的结构框架等。根据实践需要也可学习网络编程和图形用户界面GUI编程,可以参考学习《UNIX网络编程》和《C++ GUI Qt3编程》。另外由于 Qt GUI是基于C++的,所以需要学习C++的知识,也可以选择其他如Microwindows、 MiniGUI等。有了PC机的 Linux基础及编程知识后,就可以直接应用于嵌入式前言了!此时需要一个硬件平台(如开发板或直接的产品等目标系统)和该平台的开发环境。一般的处理器原厂或第三方都会提供开发环境,所以不需要我们移植,它包括建立在PC宿主机上的编译等工具和嵌入式 Linux内核(包括硬件驱动等BSP)源码。此时只须学习开发环境的建立和使用以及将PC机所学的知识应用于具体的嵌入式平台。如果涉及硬件及驱动那么应三该有一定的硬件调试和解决问题的能力,此时单片机、ARM基础及外围设备接口的调试能力将起到很重要的作用。很多朋友(包括非电子、自动化专业的朋友)都希望将来从事 Linux驱入门与实践入动方面的工作,认为学习了Limx驱动方面的知识就OK了而往往忽略硬件本身的调试解决问题能力,阿南觉得这是不正确的。因为 Linux驱动与前后台控制硬件外设的区别只在于它与应用程序的接口,它要遵循一定的结构和规则,这种规则涉及的也就是通常讲的 Linux驱动知识和技术,它是固定的,是容易掌握的,只要遵循就不会出问题。而硬件及外设是千变万化的,它所涉及的技术是多方面的,除处理器本身外,还有各种接口及协议、数字、模拟技术等。这些在设计、调试时是很容易出现问题的,此时要求我们有一定的调试、测试手段和方法。所以,阿南认为要想成为一名优秀的 ARM Linux驱动工程师,首先必须是一名优秀的、具有丰富调试经验的单片机或ARM处理器应用工程师本书的使用与相关知识的同步学习曾经有一个朋友这样告诉阿南:“如果看您的笔记就能掌握 ARM Linux驱动,那就是最好的目的了”。对不起,阿南做不到,写不出这种“葵花宝典”。这本书的前身是在21CBBS上发表的《嵌入式 Linux人门笔记》,主要是阿南在自学 Linux和在项目中应用 Linux时记录的笔记、出现的错误和心得等,是自己平时工作中非常重要的参考手册。发表后得到众网友的喜爱、支持及北航出版社胡晓柏主任的鼓励,故花更多的时间、精力将笔记丰富出版。嵌人式是一门实践性很强的技术,而《嵌入式 Linux入门笔记》主要记录的是 Linux等相关的软件部分,没有包括硬件相关的部分,为了让读者能够亲自实践,故增加了ARM及硬件部分。并且亲自设计了AN2410SSB(最小系统板)和AN2410MB(扩展底板),给出了所有原理图,介绍了制作过程,记录了用裸板开始调试的步骤和过程,介绍了如何让ARM运行及启动等各方面的内容,以及前后台(无操作系统下)的应用等。本书没有将所涉及的技术及理论都包括进来,不仅篇幅有限,而且也没有必要,因为已有太多相当经典的资料。本书第1章为概述。第2章分析了硬件的原理图,读者应该阅读S3C2410A的数据手册,特别是信号引脚功能描述,内存控制部分。第3章主要介绍了关于 Protel原理图和PCB板的绘制,如果读者没有 Prote的基础可以参考人民邮电出版社的《电路设计与制版— Protel99入门与提高》或其他 Protel书。如果有 Protel基础,只是没有绘制过多层板,那么可以参考人民邮电出版社的《 Protel99E多层电路板设计与制作》。第4章介绍了S3C2410A系统核心部分的调试方法和工具的使用,以及利用工具进行测试的方法、手段。该部分是整个系统的基础,也是非常重要的,读者需要多试验,出现问题时多参考S3C2410A的数据手册。第5章专门分析了S3C2410A的启动代码,用于理解S3C2410A的启动过程,中断处理过程及存储器等前言相关部分,也是非常基础和重要的。因为启动代码由汇编组成,此时可参考清华大学出版社的《ARM体系结构与编程》,学习理解ARM的汇编语言等相关知识。第67章为硬件平台上实现ARM的外围实验和扩展实验读者仍然要参考S3C240A的数据手册,在仿真调试情况下理解ARM内部的寄存器、存储器、状态寄存器等与ARM体系相关的知识。另外还要阅读如WAv音频格式,SD卡规范及相关的数据手册等。CPLD部分读者可以参考电子工业出版社的《基于 Quartus II的FPGA/CPLD设计》,学习基本的工程创建,图形设计输入,编译和编程等。 Altera cpld更详细的资料可以去官网下载。第8章介绍了前后台系统还需要考虑的相关知识: NAND Bootloader、文件系统和图形界面。图形界面部分,读者需要理解一些基本的绘图原理和算法,可以参考机械工业出版社的《计算机图形学的算法基础》。第9章介绍了在PC机下的 Linux各方面技术,这些都是嵌入式 Linux的基础,非常重要,涉及的知识内容也很多。在该章中,阿南只是总结了一些实践操作的部分内容所以还需要读者自己去参考学习Linux的这些书籍: Linux系统的基本操作参考清毕大学出版社的《 Red hat linuⅹ9系统管入门与实践理》(这本书应该被实践安装的桌面 Linux系统相应版本的书替代),应用编程参考清华大学出版社的《GNU/Linuⅹ编程指南》或机械工业出版社的《Uniⅸx高级环境编程》,驱动编程参考中国电力出版社的《 Linux设备驱动程序》。第10章主要介绍S3C2410A的嵌入式 Linux开发环境的搭建及工具的使用。这里采用的是MIZI公司的 Linux for s3C2410平台,读者也可以直接参考《 MIZI Linux sdk for s3C2410》文档。第11章介绍在S3C2410A下实现 Linux驱动,很多原理性的知识依然要参考《 Linux设备驱动程序》一书,而且要多试验验证。读者在调试实现过程中也可以直接参考 Linux for s3C2410的内核源码中和硬件、驱动相关的代码例子(可以在 Windows系统下安装 Source insight软件,方便阅读 Linux内核源代码)。第12章介绍嵌人式 Linux桌面系统,可读写文件系统 YAFFS的实现,嵌入式Web服务器BOA、NFS及WIFI。这些都是实践性很强的应用操作,所以读者主要是应用它们,出现问题时上网查找相关应用操作,寻找解决问题的思路,再测试验证。第13章是网络编程方面的知识,主要参考清华大学出版社的《UNIX网络编程第1卷:套接口API》,目的是掌握TCP客服机/服务器的实现及网络的调试方法。第14章介绍嵌人式GUI开发环境的创建和开发方法,桌面系统的移植。学习前读者应该先学习基于Qt的应用编程,可以参考北航出版社的《C++GU1Qt3编程》,如果没有C++的基础可以参考清华大学出版社的《C++程序设计教程》。致谢感谢我的导师(也是本书的另一位作者)—方强多年来的关心与指导,且对本书付出的辛苦劳动。感谢我的公司——广州市天誉创高科技有限公司及同事们,他们对本书提供了很大帮助。段克为本书绘制了部分电路图,丁亚锋为本书编写并调试了部分程序。另外,还要感谢曾水生、李玉琪、刘卫国、张端峰、龙靖、彭雄飞、王勇、黄焕立、王菊林、黄斌、何运辉、吴建、方斌、黄伟、傅良英、胡孝发、黄志艳、张凯、欧孔德、梁家乐、宁雪玉、蔡青青及蓝萍等人的帮助。前言感谢深圳英蓓特公司提供 Realview mDK开发工具及相关资料和技术支持。感谢EDN网为本书创立书友会(hp:// group. ednchina, com/999/)和开展本书的AN2410SSB学习板助学等活动。感谢北京航空航天大学出版社嵌入式系统事业部主任胡晓柏的信任与鼓励,感谢21CBBS上网友们的支持、建议和帮助。感谢我的父母、老师、姐姐、姐夫及所有亲戚朋友们,你们的关心与爱都是阿南不断前进的动力。入门与实践阿南的技术水平、经验都还很欠缺,书中的错误和不妥之处在所难免,恳请广大读者朋友们批评指正;也欢迎登陆21CBBS的ARM论坛或《 ARM Linux人门与实践》书友会与阿南交流,共同提高。阿南2008年9月自序嵌入式自学经历和体会目的回想从2000年自学单片机开始,到后来的ARM,再到 Linux,自己经历了很多,也体会了很多,有经验也有教训,所以希望通过此次机会与读者相互交流,也让更多的爱好者在自学过程中有所借鉴。如果能得到您的共鸣,可以发送电子邮件给阿南:c422@hotmail.com。初识单片机和电子竟赛大一的暑假没有回家,留在学校里希望能向师兄学点技术,后来他向我推荐了单片机和全国大学生电子竞赛。和普通学生一样,阿南认为能参加电子竞赛是多么自豪呀!且对单片机很是好奇,于是去图书管借了些基础书来阅读,很快就被它的强大功能吸引,也产生了迅速学好、将来参加电子竞赛的念头买仿真器,下定决心学好单片机当时学校还没有开模拟、数字电子等专业基础课程,所以学习单片机还是很困难的,一般阿南都拿两三本单片机基础书一起对照着看,旁边还放着模拟、数字等基础教程以便查阅。暑假很快就过去了,期间虽然专心学习,但进展很慢,后得到师兄的指点:要想学好单片机,必须要有个仿真器实践大概1500元。这么贵?(这对农村孩子来讲,实在太贵了!另外买了之后,还不一定就能学会呢!)经过一个星期的思想斗争,终于下定决心要买。当时的想法是这样:“从小家里就穷,家人为了阿南付出了很多心血,所以阿南必须学好技术,好将来回报他们;要参加电子竞赛且取得好成绩,在技术上必须要超越同学、师兄及其他院校的同齡人,而论聪明、基础不可能占优,唯有比他们更早开始,更加勤奋和善于思考;是的,很心疼父母的这些辛苦钱,也正是这个原因更促使阿南尽最大努力,更加勤奋地学习”。培养兴趣,它是最好的老师买了仿真器后,阿南比以前任何时候都更加勤奋了:图书馆、书店找书学习,独自骑两小时自行车买器件,万能板上焊接电路,学习自己编程,用仿真器仿真,万用表测量各种信号变化等。对于单片机,阿南到了近乎疯狂的地步,调试遇到困难时的痛苦、解决问题后的畅快和兴奋,都让阿南对它产生了很深的感情,也已不再是在当初的巨大压力和包袱下学习了,而是在种很浓厚的兴趣下享受着它带来的喜怒哀乐。自序冲破难关,学会独立时间过的真快,自学单片机已经一年了,在这期间阿南对51系列单片机的原理已经理解得差不多了,也实验、测试了所有的片内外设,但只有并行通信测试还一直没有成功过,就是ADCo809的A/D转换实验。这个实验已经断断续续调了近两个月,分析了书上所有的相关内容,对原理也已经很清楚了,但仿真器就是采集不到正确的数据。当时遇到困难时没有像现在这样方便的网络,也没有示波器,只能分析书本和凭自己的想象和试验,另外总是期盼着师入门与实践兄能帮助解决。后来静下心来想了各种解决测试的方法和线索,一个个排除,最终在仿真器说明书中发现“POD52仿真头的P0、P2口只能用作IO用,POD51可以作为总线用”。由于直使用POD52的仿真头,所以读/写等信号都没有出来,换成POD51果然就成功了。(当时真的很兴奋!)之后,单片机学习就变得非常顺利,一般的系统都能独自完成,也终于可以自豪地宣告:阿南的单片机人门啦。在这一过程中阿南体会到了独自思考、解决问题的重要性,也明白了开发工具在实践过程中所起到的作用。(其实很多问题是要用示波器测试和请求工具厂商技术支持的。)上帝是公平的,机会留给有准备的人人门单片机后,不仅自己做些小课题,也用它完成课程设计、参加校里组织的竞赛等。虽然没有参加院里的工程师摇篮协会,但自己的勤奋、动手能力及对单片机的执着还是得到了老师的肯定。初识贾老师(负责组织参加全国大学生电子竞赛相关事务的老师)时,他给了一道1999年的竞赛题——工频真有效值表。该题有很多的运算,考虑到汇编语言实现的难度,所以阿南学习用C语言为单片机编程。由于大一时开过C语言的基础课,再加上良好的汇编语言基础能力,这个课题很顺利地完成了。之后,贾老师将阿南推荐给方老师,目的很明确:学好单片机,备战2003年SONY杯全国大学生电子设计竞赛。有了方老师的指导,再加上实验室的各种硬件,阿南开始了一个新的阶段:不仅学习单片机和C语言编程,还要学习单片机以外的相关技术,如 Protel绘制原理图、PCB制板;学习各种总线和协议,学习电动机控制等;还要学习PLC、MCGS组态软件以及VB。这2年半的时间里,阿南早已不仅仅是为了竞赛更多的是在体会和享受着整个学习过程。回想自己5年的大学学习生活,感觉真的很幸运,最初的王师兄,后来的贾老师和方老师、女朋友及所有帮助过阿南的朋友,在此对他们表示衷心的感谢,感谢他们总是在适当的时候出现指导和帮助阿南,让阿南为之感动,为之奋斗。同时,也深深体会一个道理:机会总是留给足够真诚,足够勤奋、执着,有所准备的人;连自己都不能感动,何以感动别人?感动上帝?坎坷的一年,技术上的追求而不断放弃工作当同学们纷纷进入大中专院校,从事让多少人羡慕的稳定的教师职业时,阿南却选择了南下打工,希望在技术上有更高的造诣。当时ARM在国内已经流行,阿南和广大爱好者一样,和当年初识单片机一样,也被它深深地吸引。辗转了几家公司后,终于可以从事单片机的应用开发。半年后,阿南作出了一个让
- 2021-05-06下载
- 积分:1
小草手把手教你LabVIEW仪器控制
小草手把手教你LabVIEW仪器控制LabVIEW 串口通信 的讲解 很详细小草手把手教你 Labview串凵仪器控制,开篇词(1),关于LabⅤEW我大概接触 LabView才两年,这两年,也只是一个业余爱好,也写过很多代码。以数据采集跟仪器控制居多,虽然没做过太大的项日,不过平时在QQ群里或者GSD论坛跟ihome论坛看过别人的问题,都会自己思考一遍,然后看解答或者给别人解答。本科时候大四学过LabⅤEW的倮程,结果那时侯,却忙着考研,没怎么听课,然后有上机考试,老师总会说,要自己动于做一做,不然自己肯定不会做的。然后自己也不太懂,只管考研。后来期末考试,还是不会做。成绩只是及格硏一时候,由于教学需要,自己买了本《我和 LabvIew》,NI公司的人都很推荐这本书,也是他们公司的大牛写的。然后我自己看了下,然后又去图书馆借了很多书,结果都大同小异。《我和 Labview》确实很好,很多经验之谈,自凵都经常翻一番,而且自u也经常会写写笔记,或者看看 LabvIew自带的范例。两年过去了。LabⅤlW的应用,如果专业知识要求不是特别晑,我都会业余去了解,最常见的就是数据釆集,还有串口通讯,还有图像处理,还有数学运算等等,还有 GSDzone, net上面的代码库的很多小程序两年内,看到Q群里,问的最多的就是串口通信问题。原因是很多做嵌入式单片机之类的,学校毕业设计需要,或者自己项目需要,人概都是山于有需要才学这个语言。现在网上的教程很多,但是很多人,还是有各种各样的问题所以,QQ群里经常有人重复的问VSA串口通信的问题,几乎每天都有,而且特别是毕业设计或者期末课程设计的时候。而且这个时候,网上的代做毕业设计的,貌似也很火我比较反感那些只为了完成某种任务(毕业设计或者课程设计)而到论坛或者加很多Q群来求资源的。我没有给人代做过毕业设计,只是从开始到现在,帮助过很多完成课程设计或者毕业设计。我觉得,生活中很多东西,你都应该端正自己的态度和培养自己的思维。而不是只为求个功利性的结果。要做一个自己有自己独立思考和学习能力的人。一个人的能力是慢慢的学习出来的。所以,很多吋候,Q群里很多人的问题根本不是编程问题,而是自己思维的问题由于使用串凵通信的人很多,网上看了看,虽然资料很多,但是很杂,也没谈到什么经验问题。所以,自凵建议Q样群主木风创办了《那些年,我们一起 Labview》这个论坛,为了帮大家总结常见的问题,避免不停地重复地把某个问题问着。比如今天有人在群里问某个问题,给解答了,第二天,又有人问同样的问题。如果在论坛回复,可以自己搜搜以往回答。关于 Labview的论坛网上很多,主要推荐N官网 GSDzone. net跟 ihome。自己如果对LabⅤEW很感兴趣,并且想多学习,可以经常到上面去看看,里面还有很多资源,可以自己搜搜旦然论坛很多,但是,回帖的效很低,或者没人去好好整理,所以,我们创办了自己的论坛有兴趣可以访问我们的论坛:htp:/www.mufenglv.com或者百度“那些年,我们一起 Labview”。也欢迎大家到上面提问交流、那些年,我们一起LabⅤIEW,无论那些年过去多久,记得自己曾经用过LabⅤIEW,记得我们的论坛。那些年,为你自己 LabviewLIEWsaRMergunethttp://www.mufengly.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制(2),关于仪器控制很多人到群里或者论坛问LabⅤIEW编写串口程序的问题。为什么这么多人用 Labview编写串口呢?因为它方便。编写上位机,只需要几个步骤,就完成了。LabvIew在仪器控制方面,还是很有优势的,把你仪器给你,读懂指令,然后估计半小时就可以编写好一个完整的仪器控制系统。从仪器配置到薮据发送,数据接收,到数据生成报表。如果使用其他语言,例如VB.VC之类的,写过仪器控制的同学来说,这个问题,写个界面,就要写半天,还得什么进制转换啊,各种操作,麻烦多了。但是,如果你采用LabⅤEW,这些问题,都是小儿科了。所以,你想做仪器控制,选择 Labview吧,这样,你将节省很多很多时间。到现在为止,我写过好多个仪器控制的,比如 keithley20002400万用表, Ruska7250压力计等等,还有很多利用 MODBUS总线通讯的仪器常见的仪器通讯协议人概就SCPI, MODBUS等等,当然还有自定义的,搞过单片机和上位机的,应该都比较熟悉,可以自己定义协议,然后发命令给单片机,单片机回送数据。归结起来,都是使用的VSA,使用 Labview的VSA驱动来编程还是很方便的。对VISA不明白的同学,可以百度下VSA,它是一种虚拟架构,让你不用关心底层,直接调用就好,而且不用管接∏是什么类型的,它通吃。比如,你是232接∏,用VSA吧,485接口,用ⅥSA吧,是GPIB接口(GPIB实际上不属于串口,所以,本篇不讲GPIB方面的内容,但是使用方式也是VSA,不过自己要安装好GPB卡跟它的驱动)?一样的用VSA吧用过VB、VC的,可能用 WINAPI习惯了。用 MSComm控件啊,用其他的DLL什么的,当然也可以,那样,可以在生成 SETUP文件时候,少打包进VSA,这个看自己需求了。其实既然有VISA,而且也方便使用,我建议大家还是使用ⅤISA吧。LabⅤIEW的推岀,本来就是为了让编程简单化,模块化,你如果用其他的DLL之类的,要涉及到底层的些知识,要配置很多参数什么什么的(3)一些建议本文章,旦然是手把手教你串∏仪器控制,但是由于本人能力有限,并不能面面俱到而且篇幅也有限。由于自己临近毕业,所以很多精力也有限建议读本篇文章时候,读者需要自己对 Labview有一定的了解跟认识,会基本的程序结构。一般建议看LabⅤlW相关的书籍的前儿章。看基础部分就差不多了。我所说的前几章,一般指数据类型,基本程序结构,错误调试。这几个自己一定要弄清楚。这个是最基本的对于串口通信来说,最麻烦的就是数据转换,最常见的,就是16进制转10进制,浮点数转16进制,10进制转16进制。还有正常显示的16进制到IEX显示的字符串转换的。所以,自己好好看数据类型对于仪器,看说明书:物理连接方式(232或485)、通信指令(协议)必须有。本篇文章,可能话语比较啰嗦,由于自己非专业写手,只能用自己方式米描述问题不过建议如果对串口不太了解的人,还是从头看起,因为篇幅不长谢谢大家的阅读本帖网址:htt:/www.mufenglv.net/forum.php?mod=viewthread&tid-17&exta=page%3D1IEWwkaMeMgis.nethttp:/www.mufenglv.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制二,VSA驱动下载安装篇:上一篇,我已经讲了。仪器控制,核心在于VSA函数.。有些仪器可能不需要ISA,有自凵的DLL什么的,我就管不着正常情况下,大家安装的LabⅤIEW,都是不带ⅤISA驱动的。但是, Lab view即使不安装VSA驱动,也是有VSA函数的啦!注意:有些人以为有VSA函数就是装了驱动,我无法理解现在人的思维跨度真的是很大,所以,学习知识,不要一贯自己想当然,一步一步的踏实地走。VISA函数的位置见下图。问数据阳力工且包享变量用户局可变量①山: Lan T L51t队列操作七串口SHLP3配置〓口1电可儿选板当然,还有一个位置。其实都差不多的啦。自己可以研究下。见下图所伙器IMWBs卜数据信仪器LU时于控制设计与仿真+88下T」v工≤A收藏月户库产丽心高AJI IvVIk咋设备淸零A读职rBⅥA触发打开ⅥS关闪s:奇共资源SA设置超时vsA属性节点总线/接口配置更改可见选江5读取文.ⅥA读取识事处理ⅥIs解寄存器访问LIEWsrwmfeNgivnethttp://www.mufengly.comEmail:happyarrow@qg.com小草手把手教你 Labview串凵仪器控制首先得了解函数在哪里,以后才方便编程串口YL凡PR园讧SA配置串口5戟写S帖卖取Vs关团ⅥA串口字.Ⅵ串口中断Ⅵ3设置工/.ⅥA清空工般用的比较多的函数,就是上面4个啦,其他的,最开始都可以不用管。这4个会用就行啦。基本的串口通信程序,都差不多是上面几和。不信的话,多看一看LabⅤIEW自带的范例。你会发现,结构都差不多吧。这一篇主要讲驱动下载安装。前面只是引言。安装是很重要的步骤哦。是串口通信的前提。安装好了 LabvieW之后,再安装VSAVISA驱动下载地址可以到Wwsn.com官网去搜索,以下我给出了连接地址http://www.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/zhs/pg/1/sn/catnav:du,n8:3.25.123.1640 shaw:ndr/版本有很多,自己看着办,最好去看下ⅤSA的 support文件说明,看攴持什么版本的LV。正常情况下,高版木的ⅤISA都是支持低版木的 LabVIew,可是如果你的 Labview比较占老,可能会有意外,所以,保险情况,你看下 Support说明。给大家看下支持性文件的链接位置。如下图所示可用下载下乖选项1. NI Downloader: vE a512tull downloader cxc (5/4.9/NB)N推荇使用N下载器提供更稳定文忄下戟意外中断时,可自行缝续文件下载文件下戟斯间,时C上运行提供暂停和驻续功能?标酲下截:近51川Pe7497MRh使用标生下载直接下载至PC连接问题可能会引意外中断,以文件下不稳定n不提供暂停知踡续功能readme. html(33 KB tepatents. tct(17 KByilelicense. r.(103KB le安装很容易,就不停的下步,到完成记住:安装的时候,记得退出杀毒软件,360之类的,这样安装会顺利也防止出意外IEWwhmfeNgnethttp://www.mufenglv.com!Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制等待安装结束,会提示重启安装完毕后重启一下电脑。然后到MAX( measurement& Automation Explorer)里找,看设备有接口下,有没有 Serial& Parallcl,有的话,就说明你串口安装成功了安装NI其他硬件驱动,也是同理,看MAX有木有只体操作,点击桌面上Max图标或者找到这个MAX路径运行,按下图位置进行查看。捷方我的系统- measurenent蟲 Hut ion Exp1arer区文件〔)编辑但)查看)工具①)帮助c?显示帮助中□数据邻居即设备和接口网络设备National Instruments+-E NI-IMAAdxr DevicesMeasurement了 Serial 8 Par21eAutomation Explorery CoM1Measurement automationCOM2Explorer(M|A用于访问N『品y CoMCOMe使用指南y COMe管理设备和接口罗LPT管理已经安装的N软件4换算管理设备的虚拟道道和任务软件远程系统凵创建虚拟仪器的换算圍配置N器驱动程序?帮助到现在为止,ⅥSA驭动就安装成功啦很简单的吧。欢迎大家继续关注本论坛。我们将循疗渐进带领大家一步一步的学习 Labview本帖论坛地址:htp:/www.mufenglv.net/forum.php!mod=viewthread&td-46&extra=page%3D1三,安装使用仪器现有驱动声明:很多仪器是没有驱动的。所以,具体问题具体分析。另外声明:所谓的驱动,也就是封装好的底层的串口通信程序,也是程序而己,只不L IEWengu.nethttp://www.mufenglv.com/Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制过别人帮你做成了子ⅥI,让自己容易用。所以:不要弄混淆了概念。国外的很多仪器,都是有现成的Lv程序驱动的,这个时候,我们到网上搜搜就行了。如果你要做仪器驱动,你最好先到网上搜搜,看有木有现成的有现成的,开发速度就好多啦如果手边的仪器搜不到现成的驱动,那就只能自己写了下面讲解怎么安装现成的驱动。①,网站下载篇,前面这个贴子讲了。http://www.mufenglv.net/forum.php?mod=viewthread&tid=59&extra=page03d1有兴趣可以看看下面是通过 LabVIew软件下载我下面手把手教下在LV软件里下载安装。首先在LV的帮助菜单里,找到查找仪器驱动E未命名1程序框图章文件¢)编)查署①)项目)操作@)工具)窗口)帮助□今间留别w可12应用程序字体昱示新时帮助锁定印时帮助在帮期.,色解程错吳c木帮迎)查找范列〔查找仪据亚动网络资源0l 1bWAOdx WI RF五R激活LaE粗件激活附加软件检查面新信管息关于L工E"追A造查内邹错误〔然后就会弹出一个仪器査找界面。如果你己经连接好了仪器的使件,且仪器支持DN?这个SCP指令的话可以使用扫描仪器按钮,扫描·下你的仪器。因为使用那个指令,如果仪器连接好没错误,会返回一个仪器本身的仪器类型和版本的。这个时候,LV就知道是什么仪器8EanwUfeNdismethttp:/www.mufengly.comEmail:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制迕接到了。这个需要查仪器说明书指令。E器动程序查找器一配置搜索s KeitHley 2H器驱动查找工具可帮助您方快速地查找和安装abIE即插即用有些仪器,发送IDM?指今会返回点击扫描仪器,1EW会自动象网(m的仪器驱动,刚和江m,可仪锅动仪器的名称跟版本。串口发送命令,看是有返可来判断连接的器类型刃换用户扫措伙器制造高择一个附加关键词□仅认译的驱动程序仕→生[搜索>匚关闭[帮助如果仪器木有连接好,或者没扌描出米(没扫描出米原因太多了。没装ⅤSA驱动,电缆没连接好,仪器参数不对等。)自凵想下载驱动。就自凵选型号了,见卜图。选型号,然后点击搜索我们下面搜索 Keithley2400.好了,点击搜索。H仅驱动厅查找器一配置搜索ID SuieiLLiLiU主已连接的仪器安法的像马动v ReithFKiasu折即月俊器驱动。 Kin.elie Syslems程序Laser preciPrmh戶T附加关键词□所认证的动程序榨牛用千干动设定枵索。壮步_索>□关帮助一LIEWGnrmufengnethttpwww.mufenglv.com/Email:happyarrow@qq.com小草手把手教你 Labview串凵仪器控制然后会搜出来。注意看右边的驱动信息。开发环境,版本,还有支持的接口等。J仪死动程序查找器一搜索结果驱动程序认正cckePl必需的软件支持最低版本亚动程序作订版刮造商支持的号挑口IEEE 0本该言息用于定适合仪和开发环境的马动程序壮步装〉□关二〖鞦助一从上图可以看出,这个仪器支持串∏和GPIB∏。还有支持的型号,有2400,2410等扫肛璽动程序查找器搜索结果动程序m证-3.4★大★大六3等包司k2400 Instrument Driver要动程斥开发环墁:LabVIEW最低版半一.2仪器驱动安装t-style)成功。驱动程序位于以下目录中D: Frorra FilesNtional Instrument:LabYIEY 20111 ib Keithley24置安禁其它程序开始德用该动程序才支持的型号:信息用于确定适合位喜和开发环境的驱动程序。上=步□安装10einethttp://www.mufenglv.com/Email:happyarrow(@qq.com
- 2021-05-06下载
- 积分:1