模拟输入节点发生竞争情况可能引起LPC2378/88 ARM目标挂起
主要软件: LabVIEW Modules>>LabVIEW Embedded Module for ARM Microcontrollers
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: N/A
问题: 我在LabVIEW Embedded Module for ARM下使用LPC2378/88 ARM目标,当我代码包括了模拟输入Elemental I/O节点时,我的目标会挂起。什么原因造成了这样的现象,如何解决?
解答: 当在LPC2378/88目标上使用模拟输入Elemental I/O节点,可能会发生由于在A/D数据寄存器上发生了竞争情况而使得代码挂起。这在
NXP Errata sheet LPC2378/88 的3.1节有着详细的阐述:
- 当软件读ADDRx和硬件设置同一寄存器的DONE位时(当转换完成后) 发生了冲突,该DONE会被自动清除掉,因此该位的清除表明完成了转换。
当在LabVIEW Embedded Module for ARM module开发代码时,可以通过使用下面附件中的LabVIEW 2012 VI避免该挂起现象. 该VI实现了NXP Errata sheet LPC2378/88文档中的建议:
- 对于软件控制模式或者仅选中一个通道的burst模式,A/D全局数据寄存器(位于0xE003 4004)中的DONE位可以用于替换单个ADDRx结果寄存器,而不会产生性能上的影响。
相关链接: NXP Errata sheet LPC2378/88
附件: MCB2300_AnalogIn_Cnode.vi
报告日期: 02/10/2013
最近更新: 04/27/2013
文档编号: 669DBM1O
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.