基于ARM的多通道仪表数据采集实验_第1页
基于ARM的多通道仪表数据采集实验_第2页
基于ARM的多通道仪表数据采集实验_第3页
基于ARM的多通道仪表数据采集实验_第4页
基于ARM的多通道仪表数据采集实验_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 物理与电子工程学院 嵌入式系统设计性实验报告题目 基于ARM的多通道仪表数据采集实验系 别 物理与电子工程学院 年 级 12 专 业 电子信息工程班 级 电信12 学 号 160412107学生姓名 何剑 指导教师 浦 炜 实验时间 2015年12月10日 目 录课题要求31.本课题的目的32.运行环境3正文3一课题分析3二系统设计42.1新建工程42.2打开main.c 文件,编辑Main_Task 任务中的代码42.3编写OnKey()函数,响应键盘消息42.4编写绘图显示任务Display_Task52.5编写4 路AD 采集任务ADx_Task62.6用ARM SDT 2.5 或AD

2、S1.2 编译、下载并调试上述程序,检查运行结果62.7生成发行版本的.bin 文件,通过USB 下载到嵌入式开发平台中,运行并检查输出结6果。6三.技术实现问题63.1数码管显示及闪烁显示的代码63.2在LCD屏条形图中超出部分闪烁原理83.3条形图顶端显示具体电压值的代码如下:93.4实现条形图闪烁显示及文本框显示相应数值93.5按键实现单通道图形显示103.6双击切换电压值显示14四. 总结与体会15设计性实验报告成绩: 指导教师签名:31课题要求1.本课题的目的采用多任务编程方法,每个任务监视一路AD 转换, 每一路AD 的转换结果在液晶屏上用一个条形图的长短来表示,直观地显示每路模拟

3、输入电压的大小。可以通过文本框给每路AD 设置警戒值,某路输入超出警戒线之后条形图中超出的部分会以闪动的方式显示。在此基础上,利用实验箱中的数码管显示每一路的电压采样值,并能在超出警戒值的情况下闪烁显示。或在LCD屏上对应条形图的顶部显示具体的电压值。通过对触摸屏的双击切换电压值的显示。按键03仅显示对应的通道柱状图,其余按键全部显示。 2.运行环境硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。软件:PC机操作系统Win98、Win2000或WinXP、ARM SDT2.51或ADS1集成开发环境、仿真器驱动程序、超级终端通讯程序。正文一课题

4、分析数据采集系统置于被监控的设备处,通过传感器对设备的电压或者电流信号进行采样、保持,并送入A/D转换器变成数字信号,然后将该信号送到FIFO中。当FIFO中存放的数据到了一定数目时,由ARM7从FIFO中读出,然后通过ARM7的以太网接口送给上位机。多路采集通道经过模拟开关后再进入A/D转换器。CPLD是整个系统的控制核心,它控制采集通道的切换、A/D转换器的启/停、转换后的数据在FIFO中的存放地址发生器、产生中断请求以通知ARM7读取存放在FIFO中的数据等。二系统设计2.1新建工程将“Exp23 多通道仪表数据采集实验”中的文件加入工程。2.2打开main.c 文件,编辑Main_Ta

5、sk 任务中的代码用init_ADdevice()函数初始化处理器的AD 转换硬件,启动消息循环。2.3编写OnKey()函数,响应键盘消息流程图如图5-4 所示。提示: 1) 这里设置了两个文本框,用来输入通道编号和该通道的警戒值,在键盘消息响应函数里针对两个文本框分别作出处理,只处理回车键和取消键,其他键由控件本身处理。程序里用变量EditNumber 指示当前要编辑的文本框控件;用变量input 指示该文本框控件是否处于输入编辑状态。以此决定回车键应该执行的功能。 2)当文本框控件不是编辑状态时,回车将使其进入编辑状态,在程序里用SetWndCtrlFocus( )函数将焦点转移到该控件

6、并用SetTextCtrlEdit() 函数设置为编辑状态;当文本框正处于编辑状态时,回车将使其退出编辑状态,并将要编辑的文本框切换到另一个文本框控件,取消键的处理和这种情况类似。 3) 如果当前要编辑的文本框是警戒值输入框,在编辑状态中回车确定后,所输入的通道编号以及警戒值就会保存在数组WarnningData 中,代码如下: WarnningData Unicode2Int(pChannelTextCtrl->text)=Unicode2Int(pValueTe xtCtrl->text); 图5-4 流程图2.4编写绘图显示任务Display_Task绘制文本框和条形图等,并

7、实现文本框编辑过程中和超过警戒值后的动画显示。流程图如图5-5 所示。 提示: 1)程序中用TextOut()函数显示文本框的提示信息,用数组edit 记录两个文本框是否处于编辑状态,用变量IsEdit 指示提示信息是否显示。实际上,IsEdit这个变量在显示任务循环一次就改变一次状态,当IsEdit=1 时将提示信息擦掉,否则保持显示不变。这就是闪烁显示的原理,表示AD 转换结果的条形图超出警戒值的部分的闪烁也是这样实现的,随着任务的循环隔次的改变状态。 2)和变量IsEdit 的作用类似,warnningx是条形图闪烁的指示变量。当某路AD 转换的结果result_ADx 大于对应通道的警

8、戒值Warnni ngDatax时,根据warnningx 的值决定条形图的长度是和result_ADx 对应还是和W arnningDatax对应,这样看起来条形图的长度是变化的,效果就是超过警戒线的那部分在闪烁。 3)这里条形图实际上是一个实心矩形,用FillRect()函数填充。 图5-5 Display_Task 流程图2.5编写4 路AD 采集任务ADx_Task提示:1)使用GetADresult()函数即可得到某路AD 输出的二进制代码。由于处理器的8路10 位AD 转换单元的最大输入电压是2.50V,所以实际电压值就是result_ADx=GetADresult(x)*2.50

9、/1024;2.6用ARM SDT 2.5 或ADS1.2 编译、下载并调试上述程序,检查运行结果。2.7生成发行版本的.bin 文件,通过USB 下载到嵌入式开发平台中,运行并检查输出结果。三.技术实现问题3.1数码管显示及闪烁显示的代码/ 0通道显示ZLG7289_ENABLE();/使zlg7289占有同步串口Delay(5);/延时WriteSDIO(ZLG7289_CMD_DATA1|6);/数码管以方式1译码,第一个数码管亮WriteSDIO(int)(result_AD0)%10);/显示个位Delay(1);/延时if(int)(result_AD0)>9)/键值大于9显

10、示十位WriteSDIO(ZLG7289_CMD_DATA1|7);/发送十位数据WriteSDIO(int)(result_AD0)/10);Delay(1);WriteSDIO(ZLG7289_CMD_HIDE);/使一、二、三这三位数码管显示WriteSDIO( 0xff);else/键值小于10不显示十位WriteSDIO(ZLG7289_CMD_HIDE);/使个位数码管显示WriteSDIO(0x7f); a=0xff;if(result_AD0>WarnningData0)a=0x3f;Delay(1);WriteSDIO(ZLG7289_CMD_FLASH);/闪烁Wri

11、teSDIO(a);通道1、2、3和通道0一样只需将通道0中的输入值和警戒值改成对应通道的值就可以实现,当然要选择不同数码管来显示,具体哪个数码管可由自己选择。3.2在LCD屏条形图中超出部分闪烁原理利用FillRect()函数画出条形图,如果采样值小于警戒值则正常画图,如果超过警戒值,则先画采样值所对应的条形图,后画出警戒值所对应的条形图,两者无限循环这样现实的现象就是超出部分闪烁。闪烁显示的代码如下:if(result_AD0<=WarnningData0)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210,GRAPH_

12、MODE_NORMAL, COLOR_BLACK);elseif(warnning0=1)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning0=0;elsewarnning0=1;FillRect(pdc, 110, (int)(210-WarnningData0*20/3.3), 130,210, GRAPH_MODE_NORMAL,COLOR_BLACK);这是通道0的代码,通道1、2、3的代码同上,只要改变相应的输入值和警戒值即可。3.3条形图

13、顶端显示具体电压值的代码如下:Int2Unicode(int)(result_AD0),result_AD0_16);TextOut(pdc,114,(int)(198-result_AD0*20/3.3),result_AD0_16,TRUE, FONTSIZE_SMALL);相应的也只需改变对应通道的输入值和警戒值即可实现其他通道电压值显示。3.4实现条形图闪烁显示及文本框显示相应数值完整代码如下:/0通道if(result_AD0<=WarnningData0)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210,GRA

14、PH_MODE_NORMAL, COLOR_BLACK);elseif(warnning0=1)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning0=0;elsewarnning0=1;FillRect(pdc, 110, (int)(210-WarnningData0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);Int2Unicode(int)(result_AD0),result_AD0_1

15、6);TextOut(pdc, 114, (int)(198-result_AD0*20/3.3), result_AD0_16, TRUE, FONTSIZE_SMALL);其他通道的显示和0通道类似,只需修改相应坐标及相应数值即可。3.5按键实现单通道图形显示添加全局变量static int Key_val;switch(nkey) case 15:Key_val=0;break; case 11:Key_val=1;break; case 12:Key_val=2;break; case 13:Key_val=3;break; case 8:Key_val=4;break; 在void

16、Display_Task(void * Id) 中添加相应功能,代码如下:if(Key_val=0)if(result_AD0<=WarnningData0)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210,GRAPH_MODE_NORMAL, COLOR_BLACK);elseif(warnning0=1)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning0=0;elsewar

17、nning0=1;FillRect(pdc, 110, (int)(210-WarnningData0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);else if(Key_val=1)if(result_AD1<=WarnningData1)FillRect(pdc, 160, (int)(210-result_AD1*20/3.3), 180, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);elseif(warnning1=1)FillRect(pdc, 160, (int)(210-result_AD1

18、*20/3.3), 180, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning1=0;elsewarnning1=1;FillRect(pdc, 160, (int)(210-WarnningData1*20/3.3), 180, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);else if(Key_val=2)if(result_AD2<=WarnningData2)FillRect(pdc, 210, (int)(210-result_AD2*20/3.3), 230, 210,GRAPH_MODE_NORMAL, C

19、OLOR_BLACK);elseif(warnning2=1)FillRect(pdc, 210, (int)(210-result_AD2*20/3.3), 230, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning2=0;elsewarnning2=1;FillRect(pdc, 210, (int)(210-WarnningData2*20/3.3), 230, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);else if(Key_val=3)if(result_AD3<=WarnningData3)FillRect

20、(pdc, 260, (int)(210-result_AD3*20/3.3), 280, 210,GRAPH_MODE_NORMAL, COLOR_BLACK);elseif(warnning3=1)FillRect(pdc, 260, (int)(210-result_AD3*20/3.3), 280, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning3=0;elsewarnning3=1;FillRect(pdc, 260, (int)(210-WarnningData3*20/3.3), 280, 210, GRAPH_MODE_NORMAL,C

21、OLOR_BLACK);else if(Key_val=4)if(result_AD0<=WarnningData0)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210,GRAPH_MODE_NORMAL, COLOR_BLACK);elseif(warnning0=1)FillRect(pdc, 110, (int)(210-result_AD0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning0=0;elsewarnning0=1;FillRect(pd

22、c, 110, (int)(210-WarnningData0*20/3.3), 130, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);if(result_AD1<=WarnningData1)FillRect(pdc, 160, (int)(210-result_AD1*20/3.3), 180, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);elseif(warnning1=1)FillRect(pdc, 160, (int)(210-result_AD1*20/3.3), 180, 210, GRAPH_MODE_NORMAL,

23、COLOR_BLACK);warnning1=0;elsewarnning1=1;FillRect(pdc, 160, (int)(210-WarnningData1*20/3.3), 180, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);if(result_AD2<=WarnningData2)FillRect(pdc, 210, (int)(210-result_AD2*20/3.3), 230, 210,GRAPH_MODE_NORMAL, COLOR_BLACK);elseif(warnning2=1)FillRect(pdc, 210, (int)(

24、210-result_AD2*20/3.3), 230, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning2=0;elsewarnning2=1;FillRect(pdc, 210, (int)(210-WarnningData2*20/3.3), 230, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);if(result_AD3<=WarnningData3)FillRect(pdc, 260, (int)(210-result_AD3*20/3.3), 280, 210,GRAPH_MODE_NORMAL, COLOR

25、_BLACK);elseif(warnning3=1)FillRect(pdc, 260, (int)(210-result_AD3*20/3.3), 280, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);warnning3=0;elsewarnning3=1;FillRect(pdc, 260, (int)(210-WarnningData3*20/3.3), 280, 210, GRAPH_MODE_NORMAL,COLOR_BLACK);3.6双击切换电压值显示在void Main_Task(void *Id)中添加代码case OSM_TOUCH_SCREE

26、N: switch(pMsg->LParam) case TCHSCR_ACTION_CLICK: X=pMsg->WParam&0xFFFF; Y=pMsg->WParam>>16; break; case TCHSCR_ACTION_DBCLICK: flag=!flag; break; 在void Display_Task(void * Id) 中添加代码if(flag)Int2Unicode(int)(result_AD0),result_AD0_16);TextOut(pdc, 114, (int)(198-result_AD0*20/3.3),

27、 result_AD0_16, TRUE, FONTSIZE_SMALL);Int2Unicode(int)(result_AD1),result_AD1_16);TextOut(pdc, 164, (int)(198-result_AD1*20/3.3), result_AD1_16, TRUE, FONTSIZE_SMALL);Int2Unicode(int)(result_AD2),result_AD2_16);TextOut(pdc, 214, (int)(198-result_AD2*20/3.3), result_AD2_16, TRUE, FONTSIZE_SMALL);Int2

28、Unicode(int)(result_AD3),result_AD3_16);TextOut(pdc, 264, (int)(198-result_AD3*20/3.3), result_AD3_16, TRUE, FONTSIZE_SMALL);4. 总结与体会虽然有做了几个ARM实验的基础,不过我在做这个课题的时候依然遇到了不少问题。要想完成这个设计,我们必须要将前面所掌握的知识融会贯通,并灵活运用,这样才能得到我盟需要的结果。首先按照的实验要求,将以前的实验拿出来巩固,将有关函数的用法弄清楚,不懂的请教他人,和同学讨论,最终有了一个比较的明确的方向,可是真正做的时候并不是那么简单的,总

29、是遇到这样或那样的问题,在同学的帮助下,终于把程序中的错误都改正过来了。这次实验验收的时候也出现了一些问题,在老师的指导下也改正了这些错误。这次实验使我学到了很多,只有把理论知识和实践结合起来,才能够真正理解。这样才能发挥理论知识的用途。做实验的时候不能太急躁,要慢慢来,凡事都不能一气呵成的,只有静下心来,认真思考,找出问题所在,勇敢面对,努力解决,这样我们才能从中有所收获。附录#include".ucos-iiincludes.h" /* uC/OS interface */#include ".ucos-iiaddosaddition.h"#incl

30、ude ".incdrv.h"#include <string.h>#include".incdrvad.h"#include"uhal.h"#include"tchScr.h"#include"zlg7289.h"#include"44b.h"#pragma import(_use_no_semihosting_swi) / ensure no functions that use semihosting #define ID_ChannelTextCtrl 1

31、01#define ID_ValueTextCtrl 102#define Draw_Wnd_ID 104PTextCtrl pChannelTextCtrl,pValueTextCtrl;float result_AD0,result_AD1,result_AD2,result_AD3;int WarnningData4=26,26,26,26;int edit2=0,0;BOOLEAN flag=FALSE;extern int Zlg7289SIOBand;extern int Zlg7289SIOCtrl;static int Key_val;/*?*/OS_STK Main_Stac

32、kSTACKSIZE*8=0, ; /Main_Test_Task?void Main_Task(void *Id); /Main_Test_Task#define Main_Task_Prio 12OS_STK Display_Task_StackSTACKSIZE*8=0, ; /Main_Test_Task?void Display_Task(void *Id); /Main_Test_Task#define Display_Task_Prio 20OS_STK AD0_Task_StackSTACKSIZE*8=0, ; /Main_Test_Task?void AD0_Task(vo

33、id *Id); /Main_Test_Task#define AD0_Task_Prio 21OS_STK AD1_Task_StackSTACKSIZE*8=0, ; /Main_Test_Task?void AD1_Task(void *Id); /Main_Test_Task#define AD1_Task_Prio 22OS_STK AD2_Task_StackSTACKSIZE*8=0, ; /Main_Test_Task?void AD2_Task(void *Id); /Main_Test_Task#define AD2_Task_Prio 23OS_STK AD3_Task_

34、StackSTACKSIZE*8=0, ; /Main_Test_Task?void AD3_Task(void *Id); /Main_Test_Task#define AD3_Task_Prio 24/*?OS?*tcp?11?8?9?10lcd?59?1*/*?*/OS_EVENT *Nand_Rw_Sem; /Nand_Flash?/and you can use it as folloeing:/ Nand_Rw_Sem=OSSemCreate(1); /?Nand-Flash?,?1?/ OSSemPend(Nand_Rw_Sem,0,&err);/ OSSemPost(N

35、and_Rw_Sem);OS_EVENT *Uart_Rw_Sem; /Uart?/and you can use it as folloeing:/ Uart_Rw_Sem=OSSemCreate(1); /?Uart?,?1?/ OSSemPend(Uart_Rw_Sem,0,&err);/ OSSemPost(Uart_Rw_Sem);/void initOSGUI()/?initOSMessage();initOSList();initOSDC();initOSCtrl();initOSFile();/ Main function. /int main(void)Uart_Pr

36、intf("nArm Target Init OK."); Zlg7289_Reset();/zlg7289?ARMTargetInit(); /?OSInit(); /? uHALr_ResetMMU();/?MMULCD_Init(); /?LCD?LCD_printf("LCD initialization is OKn");/?LCD_printf("320 x 240 Text Moden");initOSGUI();/?LoadFont();/?Unicode?LoadConfigSys();/?config.sys?LC

37、D_printf("Create task on uCOS-II.n");OSTaskCreate(Main_Task, (void *)0, (OS_STK *)&Main_StackSTACKSIZE*8-1, Main_Task_Prio);/ ?OSTaskCreate(Display_Task,(void *)0, (OS_STK *)&Display_Task_StackSTACKSIZE-1, Display_Task_Prio);/ 20OSTaskCreate(AD0_Task,(void *)0, (OS_STK *)&AD0_T

38、ask_StackSTACKSIZE-1, AD0_Task_Prio);OSTaskCreate(AD1_Task,(void *)0, (OS_STK *)&AD1_Task_StackSTACKSIZE-1, AD1_Task_Prio);OSTaskCreate(AD2_Task,(void *)0, (OS_STK *)&AD2_Task_StackSTACKSIZE-1, AD2_Task_Prio);OSTaskCreate(AD3_Task,(void *)0, (OS_STK *)&AD3_Task_StackSTACKSIZE-1, AD3_Task

39、_Prio);OSAddTask_Init();/?LCD_printf("Starting uCOS-II.n");LCD_printf("Entering graph mode.n");LCD_ChangeMode(DspGraMode);/?LCD?InitRtc();/?Nand_Rw_Sem=OSSemCreate(1); /?Nand-Flash?,?1?/OSStart();/?/?return 0;/void init_ADdevice()/rADCPSR=20;/rADCCON=ADCCON_SLEEP;/U8 onKey(int nk

40、ey, int fnkey)static BOOLEAN input=FALSE;static int EditNumber=1; switch(nkey) case 15:Key_val=0;break; case 11:Key_val=1;break; case 12:Key_val=2;break; case 13:Key_val=3;break; case 8:Key_val=4;break; if(EditNumber=1)switch(nkey)case 14:/OKif(!input)SetWndCtrlFocus(NULL, ID_ChannelTextCtrl);pChann

41、elTextCtrl->text0=0; /?SetTextCtrlEdit(pChannelTextCtrl, TRUE);DrawTextCtrl(pChannelTextCtrl);input=TRUE;edit0=1;elseSetTextCtrlEdit(pChannelTextCtrl, FALSE);DrawTextCtrl(pChannelTextCtrl);input=FALSE;edit0=0;EditNumber=2;return TRUE;case 16:/CancelSetTextCtrlEdit(pChannelTextCtrl, FALSE);input=F

42、ALSE;edit0=0;EditNumber=2;return TRUE;else if(EditNumber=2)switch(nkey)case 14:/OKif(!input)SetWndCtrlFocus(NULL, ID_ValueTextCtrl);pValueTextCtrl->text0=0; /?SetTextCtrlEdit(pValueTextCtrl, TRUE);DrawTextCtrl(pValueTextCtrl);input=TRUE;edit1=1;elseSetTextCtrlEdit(pValueTextCtrl, FALSE);DrawTextC

43、trl(pValueTextCtrl);input=FALSE;edit1=0;EditNumber=1;WarnningData Unicode2Int(pChannelTextCtrl->text)=Unicode2Int(pValueTextCtrl->text);return TRUE;case 17:/CancelSetTextCtrlEdit(pValueTextCtrl, FALSE);DrawTextCtrl(pValueTextCtrl);input=FALSE;edit1=0;EditNumber=1;return TRUE;return FALSE;void

44、Main_Task(void *Id) /Main_Test_TaskPOSMSG pMsg;init_ADdevice(20,ADCCON_SLEEP);for(;)POS_Ctrl pCtrl;pMsg=WaitMessage(0);if(pMsg->pOSCtrl)if(pMsg->pOSCtrl->CtrlMsgCallBk)(*pMsg->pOSCtrl->CtrlMsgCallBk)(pMsg);elseswitch(pMsg->Message)case OSM_KEY:pCtrl=GetCtrlfromID(NULL, GetWndCtrlFo

45、cus(NULL);if(pCtrl->CtrlType=CTRLTYPE_WINDOW)if(PWnd)pCtrl)->style&WND_STYLE_MODE)=WND_STYLE_MODE)OSOnSysMessage(pMsg);break;if(onKey(pMsg->WParam,pMsg->LParam) )break;default:OSOnSysMessage(pMsg);break; case OSM_TOUCH_SCREEN: switch(pMsg->LParam) case TCHSCR_ACTION_CLICK: X=pMsg-

46、>WParam&0xFFFF; Y=pMsg->WParam>>16; break; case TCHSCR_ACTION_DBCLICK: flag=!flag; break; DeleteMessage(pMsg);OSTimeDly(200);void Display_Task(void * Id) /Main_Test_TaskPDC pdc;structRECT ChannelTextCtrl_Rect,ValueTextCtrl_Rect,Draw_Wnd_Rect;char Channel_Caption_810="Channel:&qu

47、ot;char Value_Caption_810="Value:"char Draw_Wnd_Caption_8="Draw Window"char vol_8="Vol"char chn_8="Chn"char chn0_8="0"char chn1_8="1"char chn2_8="2"char chn3_8="3"char vol_10_8="10"char vol_20_8="20"c

48、har vol_30_8="30"u16 Channel_Caption_1610;u16 Value_Caption_1610;U16 Draw_Wnd_Caption_1620;u16 vol_165;u16 chn_165;u16 chn0_162;u16 chn1_162;u16 chn2_162;u16 chn3_162;u16 result_AD0_165;u16 result_AD1_165;u16 result_AD2_165;u16 result_AD3_165;u16 vol_10_163;u16 vol_20_163;u16 vol_30_163;Wnd Draw_Wnd;PWnd pDraw_Wnd;int warnning4=1,1,1,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论