Labview Core II官方教材
这是NI的官方收费培训:labview core2的官方教材,手工扫描的D.为设计模式设置定时执行定时总结一测验答案1.状态机是设计模式的范例。78-0a)对软件控制定时?NATIONALINSTRUMENTSniconwhina training总结一测验答案总结一测验答案2.下列哪项或哪几项为使用多循环模式的原因?3.软件控制定时能够为处理器提供处理其它任务的a)同时执行多个任务时间。b)通过状态机执行不同的状态c)以不同的速率执行任务d)执行开始代码、主循环和关闭代码)INSTIIONALNALRUMENTSn. comchinastrainingUMENTSni.comichinaitraining第2课同步技术第作的A变量(预览)做日·与前面板输入控件/显示控件关联位于同一计算·与具有前面板,但不存在程序框图的特殊机上的多个Ⅵ全局Ⅵ关联主题动全期位于一计算·使用带有未初始化的移位寄在器的Whe机上的多个Ⅵ环实现,移位寄存器用于存储全局数据A.变量(预览)位于同一计算·使用项目中的项日库实现B.通知器机上的多个Ⅵ·便于转换为网络发布共享变量C.队列以太网使用项目中的项目库实现通常用于与实时终端通信INStRumEnTsIn.comichinatraining小环们花冲B队同步需求B.通知器变量常用于在并行处理过程中传递数据通知器操作函数用于挂起一个程序框图的执行,直使用变量会破坏LabⅥEW的数据流模式,到从另一个Ⅵ或程序框图的另一部分中取得数据。从而可能引发竞争状态。与通过连线传递数据相比,占用系统开销更大获取诵知等发送通知取消涵知8通知器专的等待通知等待多个通知念 NATIONALINSTRUMENTSI ni. comlchi的选an像INATIONALai.comichinatraining主/从设计模式通知器一优势使用通知器在并行循环间传输数据具有下列优点:·两个循环均被同步为与主循环一致一从循环且仅在主循环发出通知时执行器装题·通知器可用于创建全局可用数据,从而使发送带通知器的数据成为可能·使用通知器创建有效代码一无需通过轮询确定主循环的数据何时可用岁判解装别如A1单91mm不)instRUmeNtS InI.ComIChiNaltrainIng通知器一缺点C.队列通知器不缓存数据队列与通知器类似,但队列可存储多个数据·如主循环在从循环读取第一份数据前发送艻一份默认情况下,队列以FFO(先进先出)方式执行数据,原有数据将被覆盖并丢失如需处理排列为队列的数据,请使用队列如仪需处理当前数据,请使用通知器NATIONALINSTRUMENTSnicosichina trainingnicomichinaatrsc.队列生产者/消费者设计模式(数据)队列操作函数可为在程序框图的不同部分或其它Ⅵ望需重间通信的数据创建队列证[魏率[看获队人用元常入队列我队元章获队列大态释队列用有损耗元家队列最璃,元出列清空队人列PinsTRUmEnTsInL.ComLcHiNaTraininGIinstrUMenTs i ni.cOm/cHInalTrAining总结一测验答案总结一连线答案1.下列哪项或哪几项无法缓存数据?1.获取队列引用a)通知器a.销毁队列引用b)队列b.分配队列的数据类型c)全局变量2.获取队列状态c.在队列后端添加元素d)局部变量3.释放队列引用d.确定当前队列中的元9素数量4.元素入队列NATIONALNSTRUMENTs ni comichinatsainingpRUMENTS nicom/chinaitraining总结一测验答案3.卜列哪项或哪儿项为队列和通知器的有效数据类型?a)字符串b)数值c)枚举d)布尔数组e)一个字符串簇和一个数值NATIONALINSTRUMENTSsi. com/caina ng第3课A.事件事件编程生的异主题事件可来自用户界面、外部1O或程序的其它部分A.事件B.事件驱动编程C.说明和建议事作驱动编程一种编法,程序在我D.基于事件的设计模式个事件发生) INSTRUMENTs I nicomechinatrainingNATIONALINSTRUMENTSRicomchinatraintB.事件驱动编程事件结构组成部分事件结构超时事件选择器标签事件选择器标签进知和过滤事件识别当前查看的事件分支配骂和使用事件结构·超时一等待某个1:“新建按钮”:鼠标按下?事件注册和面板锁定事件发生的事件:默认值为-1,即永不超时)INSTRUMENTS Ini. eamichinaistaining事件结构组成部分(续)通知和过滤事件事件数据节点事件数据节点事件过滤节点通知事件识别事件发生·用户操作已经发生时 LabVIEW提供的数据;与按LabVIEW已处理了事件干“建按钮鼠标按下?名称解除捆绑·仅用于事件数据节点函数类似事件过滤节点过滤事件识别在事件数·用户操作已经发生据节点中,事LabVIEW尚未处理事件件分支可修改允许用户覆盖事件的默认动作的部分数据可用于事件过滤节点和事件数据节点NATIONALSTRUMENTS nl. com/chinatrainingINSTRUMENTSni.com/chinaftraining事件结构配置事件结构通常用于Whle循环序—新田“偏改变每次循环仅处理一个事件吧明和提示建友钮无事件发生时休眠结祗取消茎理程序相图出除事件结构本分支所理的事件复料事件分支右键单击事件结构边框,从快捷菜单分选择编辑分支所处理的事件,使用对话框薰分配置事件PhNATIONALNstrUmeNtsni.comichinatrainingNATIONALINSTRUMENTSni.comchinatraining到食?(是B中,而中出比,个出得通知和过滤事件事件注册和面板锁定事件键鼠标→通知事件(绿色箭头)运行Ⅵ时, LabVIEW会自动注册通过编辑事件对话鼠标按下用户操作已经发生框配置的事件鼠标按下?鼠标进入·事件注册后被放入队列,直至事件结构配置为执鼠标离开过滤事件(红色箭头)行该事件鼠标移动鼠标释放用户已经执行操作,但尚未处理事件不会错过事件或打乱事件的顺序多拖曳允许用户自定义事件处理。快捷菜单·默认状态下将锁定前面板至事件处理结朿用户可禁用锁定前面板,但仅限通知事件贴等饮Ⅵ进入空闲状态时将取消事件注册VINSTRUMENTSni com/chinasrainingNATIONALTRUMENTSni. com/chinaltrainingC.说明和建议C.说明和建议完整列表,见 LabVIEW帮助主题:在 ab VIEW中使用件的说明和建议使用值改变事件检测值的改变无论用户如何修改输入控件,值改变均生成事件触发布尔控件书键盘快捷键、增量减量按钮和在数字显示框内,使用控件接线端必须位于事件分支内部,机械动作才能键盘输入数值正确执行保持事件处理代码简洁快速通过编程更新前面板如果代码执行时间过长,可锁定用户界如使用Ⅵ服务器或变量,以编程的方式改变前面板Ⅵ和对象, LabvIEw就不会生成事生特例:值(信号)属性INStRumEnTsIni.comichinaltrainingIONALTruMentSni.com/chinatraininD.基于事件的设计模式用户界面事件处理器用户界面事件处理器使用用户界面事件处理器生产者/消费者(事件)设计模式监听下列事件,移动单击鼠标或按下按健用户界面事件不影响程序的交互性,使处理器的开销降为最小) nNATIONALINSTRUMENTs ni. com china/rainngNATIONALNSTRUMENTSni. comichinaftraiaing生产者消费者(事件)总结一测验答案优势1.使用用户界面事件可使前面板用户操作与程序框对用户界面实图执行同步。现有效的异步响应对队列可传递任b)错意数据类型NATIONALInStruMenTsni.comichinahtrainingNATIONALNSTRUMENTSal. comlchinaftraining总结一测验答案总结一测验答案2.事件结构每次执行时仅能处理一个事件3.下列哪项或哪几项为用户界面事件范例?a)对a)鼠标点击b)错b)键盘按键c)事件过滤节点d)控件值改变)instRUmeNTsInI.ComIChiNaTtrainIngANATIONALISTRUMENTSn com/chinatraining总结一测验答案4.下列哪项或哪几项操作可生成数值输入控件的值改变事件?a)单击数字显示框,然后从键盘输入数值b)单击增量或减量按钮。c)将鼠标置于需改变的数字的右侧,然后在键盘上按向上或向下箭头键d)使用局部变量改变数值输入控件的值PiANATIONALINSTRUMENTS ni com china training10
- 2020-12-09下载
- 积分:1
μC/OS-II操作系统在STM32上的移植
详细介绍μC/OS-II操作系统在STM32上的移植过程,引导初学者完成基本的操作系统架构的创建。建立工程使用(我使用版)在目录下建立工程,工程名为。选一个系列的芯片,哪一个都无所谓(我选的是因为我的板子就是用这个芯片),接下来要注意的是当弹出是否拷贝启动代码到工程文件夹时要选,因为标准外设厍里已经有启动代码了。将里的顶层日录名改为,并将第一个名改为把日录下所有和文件加载到工程里的在下建立一个目录用来放置系统初始化代码。把拷贝到文件夹拷贝到文件夹中。是中断服务程序文件。是标准外设库的配置文件,对于工程中不需要的外设,可以注释掉里面的包含的头文件。这里我建议先仅留下,用到什么再打开什么,这样编译起来快一点,当然也可都留着。使用标准外设库事实上标准外设库的使用在中的节中已有说明,下面我把其中的步骤罗列一下根据所选芯片,把中的启动代码加到工程中,这一步在上面凵经做过了。在的行,根据所选芯片类型,去掉相应注释,这里我去掉行的注释(大谷量型片)去掉行的注释,启用标准外设库。在的行,根据所选芯片主频,去掉相应注释,默认注释已去掉,如果你的芯片主频是,就不用做修改了,这里我的芯片是注释去掉注释跑马灯程序现在可以使用标准外设库了,下面以一个简单的跑马灯程序说明。在日录下建立作为系统入口在下建立一个日录用来放置板级支持代码,建立代码如下:在中建立组,并将各种代码加入。在工程的选项卡的中添加选项卡中选选项卡中选选项卡选打钩,这一步大家可以根据自己手上的仿真器做不同选择。编译运行。在上的移植详解虽然目前网上凵经有不少关于在上的移植版本,包括也有官方移植版本。但这些版本具体是怎么移植出来的,又该怎么基于移植好的开发应用软件,网上介绍的并不多。这里介绍一下我的移植经历,希望对大家有所帮助。我的移植基本上是从零开始的。首先想要做好移植,有两方面的內容是必须要了解。日标芯片内核原理虽然我们移植的目标芯片是,但操作系统的移植基木是针对内核(以下简称)而言的,所以我们只需了解内核就好了。片就是内核加上各种各样的外设。怎么才能了解呢?看一本书权威指南(宋岩译,网上多的很)就好了,很多同学可能想,看完这本书移植的新鲜劲都没了,因此我把该书和移植有关的章节都刎了出来,并对其中的重点内容进行介绍,我数了数相关章节还不到页,就这点内容,总要看了吧。相关章节如下概览主要了解的概貌。刚开始看时不用追求仝部理解,后面会有详细介绍,很多内容多看几遍就明白。其中指令集,只要了解,只使用就了基础寄存器组通用寄存器堆栈寄存器有两个,和同时只能看见一个引用时,引用的是正在使用的那个可用于异常服务和应用程序只能用于应用程序系统复位后,用的堆栈指针是连接寄存器,又名,存储返冋地址程序计数寄存器,又名特殊功能寄存器程序状态字寄存器组(中断屏蔽寄存器组(控制寄存器(程序状态字寄存器组()分为应用程序中断号执行每个都是位,由于这个寄存器有效位是错开的,因此可以组合访问。中断屏蔽寄存器组(),这三个寄存器用于控制异常的使能和除能。控制寄存器()它有两个作用:定义特权级别选择当前使用哪个堆栈指针操作模式和特权极别操作模式处理者模式和线程模式异常处理:处理者模式主程序:线程模式不区分特权级和用户级,程序始终工作在特权级这两个堆栈指针的切换是全自动的,就在出入异常服务例程时由硬件处理。没什么好讲的,需要看。复位序列初值初值复位向量异常异常类型分为系统异常编号和外部中断大于优先级支持个固定的高优先级和多达级的可编程优先级。在中,每个中断都有一个优先级配置寄存器(个,用来配置该中断的优先级。但该寄冇器并不是每个位都被使用,不同制造商生产的芯片不相同,譬如使用位,也就是说支持个可编程优先级(参考注意该寄存器是以对齐的,因此每个中断的优先级配置寄存器位有效,位无效。对于优先级,又分为抢占优先级和亚优先级,中的应用程序中断及复位掉制寄存器的优先级分组描述了如何划分抢占优先级和亚优先级什么意思?以为例,优先级配置寄存器不是位有效吗,如果中的优先级分组值为,则优先级配置寄冇器的位确定抢占优先级,位确定亚优先级。此时所有中断有个抢占优先级,每个抢占优先级有个亚优先级。抢占优先级高的中断可以抢占抢占优先级低的中断,即抢占优先级决定了中断是否可以嵌套相同抢占优先级的中断不能嵌套,但当抢占优宄级相同的异常有不止一个到来时,就优先响应亚优先级最高的异常。参考附求表表中断优先级寄存器阵列共系统异常优先级寄冇器共个优先级相同,看中断号,中断号小的优先。向量表初始在处,可以通过向量表偏移量寄存器(地址:)更改,般无需更收。中断输入及挂起行为需要看。异常可不看和主要用在分特权级和用户级的操作系统,不区分特权级和用户级可以不管这个东西。这里说点题外话,一开始我很奇怪为什么会提供这种中断,因为这种中断一般都是用在大型的操作系统上,如系统上,可又不提供,应该是无法移植系统。后来我才知道是针对没有的嵌入式系统而设计的不过还是很怀疑有人会在像这种芯片上用中断主要做上下文切换,也就是任务切换,是移植过程中最重要的中断。主要有两点中断是手工往的悬起寄存器中写产生的(由写)中断优先级必须设为最低在讲移植代码时会介绍具体是如何做的。对于的部分应认真研读一下。与中断控制负责芯片的中断管理,它和内核紧密相关。如果对于中断配置不是很了解,可以看看节讲述了定时器,需要看。中断的具体行为中断/异常的响应序列当开始响应一个中断时以及入栈取向量选择堆栈指针,更新堆栈指针,更新连接寄存器,更新程序计数器对移植米说,需要注意异常返同在中,进入中断时,寄存器的值会被自动更新。节对史新后的值进行说明。这里统称。返回时通过把往里写来识别返回动作的。因为是一个特殊值,所以对于,汇编语言就不需要类似这种指令,而用语言开发时,不需要特殊编译器命令指示个函数为中断服务程序。实际上,中断服务程序如果是代码编写,汇编成汇编代码,函数结尾一般是嵌套的中断只要注意:中断嵌套不能过深即可。和这两节说明对中断的响应能力大大提高了,主要是硬件机制的改进。但对移植来说,并不需要关注异常返回值对不同状态进入中断时,寄存器的值进行说明,需要看。这里有一点需要注意,该点在讲移植代码时再介绍利对移植来说,并不需要关注。的低层编程这·章仅需关注节,因为对移植来说汇编与的接口是必须面对的。汇编与的接口有两点需要知道当主调函数需要传递参数(实参)时,它们使用。其中传递第一个,传递第个在返冋时,把返冋值写到中在函数中,用汇编写代码时,可以随便使用,而使用则必须先以上内容和移植多少都有些关系,刚开始看,可能不太明白,多看几遍就好了。
- 2020-12-07下载
- 积分:1