|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Цифровой вывод
#include <NIDAQmx.h> #include <cvirte.h> #include <userint.h> #include "second.h"
static int panelHandle;
int main (int argc, char *argv[]) { if (InitCVIRTE (0, argv, 0) == 0) return -1; /* out of memory */ if ((panelHandle = LoadPanel (0, "second.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); RunUserInterface (); DiscardPanel (panelHandle); return 0; }
int CVICALLBACK rQuit (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: QuitUserInterface (0); break; } return 0; }
int CVICALLBACK rWrite (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { TaskHandle taskHandle=0; char chan[256]; uInt8 data[8]; /*char errBuff[2048]={'\0'};*/ switch (event) { case EVENT_COMMIT: GetCtrlVal (panel, PANEL_CHANNEL, chan); GetCtrlVal (panel, PANEL_SW_0, &data[0]); GetCtrlVal (panel, PANEL_SW_1, &data[1]); GetCtrlVal (panel, PANEL_SW_2, &data[2]); GetCtrlVal (panel, PANEL_SW_3, &data[3]); GetCtrlVal (panel, PANEL_SW_4, &data[4]); GetCtrlVal (panel, PANEL_SW_5, &data[5]); GetCtrlVal (panel, PANEL_SW_6, &data[6]); GetCtrlVal (panel, PANEL_SW_7, &data[7]); DAQmxCreateTask ("", &taskHandle); DAQmxCreateDOChan (taskHandle, chan, "", DAQmx_Val_ChanForAllLines); DAQmxStartTask (taskHandle); DAQmxWriteDigitalLines (taskHandle, 1, 1, 10.0, DAQmx_Val_GroupByChannel, data, NULL, NULL);
DAQmxStopTask (taskHandle); DAQmxClearTask (taskHandle); break; } return 0; } Пример панели интерфейса пользователя приведен на рис. 65.
Рис. 65 Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |