/*---------------------------------------------------------------------------*/ /* Send ASCII characters to the port. */ /*---------------------------------------------------------------------------*/ void SendAscii (void) { GetCtrlVal (panel_handle, SERIAL_TBOX_SEND, send_data); GetCtrlIndex (panel_handle, SERIAL_SENDTERM, &send_term_index); switch (send_term_index) { case 1: strcat(send_data, "\r"); break; case 2: strcat(send_data, "\n"); break; } stringsize = StringLength (send_data); if (!send_term_index) stringsize++; //null that ends the string will be counted as a character bytes_sent = ComWrt (comport, send_data, stringsize); } /*---------------------------------------------------------------------------*/ /* Read data from the COM port. */ /*---------------------------------------------------------------------------*/ int CVICALLBACK ReadCallBack (int panel, int control, int event, void *callbackData, int eventData1, int eventData2) { switch (event) { case EVENT_COMMIT: read_data[0] = '\0'; GetCtrlVal (panel_handle, SERIAL_READ_COUNT, &read_cnt); GetCtrlIndex (panel_handle, SERIAL_READTERM, &read_term_index); switch (read_term_index) { case 0: read_term = 0; break; case 1: read_term = 13; break; case 2: read_term = 10; break; } bytes_read = ComRdTerm (comport, read_data, read_cnt, read_term); /* Copy subset of read_data into tbox string for display. ComRdTerm does not automatically put null byte after number of bytes read into read_data string. */ CopyString (tbox_read_data, 0, read_data, 0, bytes_read); SetCtrlVal (panel_handle, SERIAL_TBOX_READ, tbox_read_data); RS232Error = ReturnRS232Err (); if (RS232Error) DisplayRS232Error (); break; case EVENT_RIGHT_CLICK : break; } return 0; }