int main() { HANDLE fd; DCB OldConf; char cad[16]="Enviando Texto\n"; int n; fd=Open_Port("COM1"); // Abre el puerto serie // fd=Open_Port("/dev/ttyS0"); OldConf=Get_Configure_Port(fd); // guardo la configuracion del puerto Configure_Port(fd,B115200,"8N1"); // Configuro el puerto serie IO_Blocking(fd,TRUE); // Bloqueante por defecto, pero tambien // se puede usar // IO_Blocking(fd,TRUE); n=Write_Port(fd,cad,16); // Escribo en el puerto serie Create_Thread_Port(&fd); // Creo un hilo y le paso el manejador while(TRUE); Set_Configure_Port(fd,OldConf); // Restituyo la antigua configuracion // del puerto Close_Port(fd); // Cierro el puerto serie printf("\nPresione ENTER para terminar\n"); getchar(); return 0; }
int main(int argc, char **argv) { INT8 port_fd = 0; msg_que msg_buf; int err = 0; rev_pthread_param rev_param; pthread_t rev_pthid,read_msg_pthid; //pthread; port_fd = Open_Port(DEV_PORT0); Serial_Init(port_fd, 115200, 8, 'N', 1); rev_param.port_id = port_fd;// Init port_id Create_MSG_QUE("./term.c",6); //Create message queue attention the path err = pthread_create(&rev_pthid, NULL,(void *(*)(void *))Data_Rev, (void *)&rev_param); if(err != 0 ) printf("Create Data_Rev pthread error!\n"); else printf("Create Data_Rev pthread success!\n"); err = pthread_create(&read_msg_pthid, NULL,(void *(*)(void *))Read_MSG_QUE, (void *)NULL); if(err != 0 ) printf("Create Read_MSG_QUE pthread error!\n"); else printf("Create Read_MSG_QUE pthread success!\n"); while(1); }
static PyObject * RegisterEventFunc(PyObject *self, PyObject *args) { PyObject *callback; PyObject *result = NULL; if (PyArg_ParseTuple(args, "O:set_callback", &callback)) { if (callback == Py_None) { Py_XDECREF(gCallback); /* Dispose of previous callback */ gCallback = NULL; Close_Port(); Py_RETURN_NONE; } if ((callback != Py_None) && (!PyCallable_Check(callback)) ) { PyErr_SetString(PyExc_TypeError, "parameter must be callable"); return NULL; } if(gCallback == NULL) { PyEval_InitThreads(); Open_Port(); } Py_XINCREF(callback); /* Add a reference to new callback */ Py_XDECREF(gCallback); /* Dispose of previous callback */ gCallback = callback; /* Remember new callback */ /* Boilerplate to return "None" */ Py_INCREF(Py_None); result = Py_None; } return result; }
int main() { HANDLE fd; DCB OldConf; char cad[16]="Enviando Texto"; int n; fd=Open_Port("/dev/ttyUSB0"); // Abre el puerto serie. OldConf=Get_Configure_Port(fd); // Guardo la configuración del puerto. Configure_Port(fd,B115200,"8N1"); // Configuro el puerto serie. IO_Blocking(fd,FALSE); // Seleccionamos lectura no bloqueante. n=Write_Port(fd,cad,16); // Escribo en el puerto serie. while(Kbhit_Port(fd)<16); // Espero a leer hasta que se tengan // 16 bytes en el buffer de entrada. n=Read_Port(fd,cad,16); // Leo el puerto serie. printf("%s",cad); // Muestro loas datos. Set_Configure_Port(fd,OldConf); // Restituyo la antigua configuración // del puerto. Close_Port(fd); // Cierro el puerto serie. return 0; }
HANDLE initialize_serial(char* puerto) { HANDLE fd; fd = Open_Port(puerto); // Open the serial port. //OldConf = Get_Configure_Port(fd); // Save the previous configuration. Configure_Port(fd,B9600,"8N1"); // Use the current configuration. return fd; }
jlong NS_Init(JNIEnv *env, jobject object, jint port, jbyteArray data, jint type) { char dev[256]; int error; LPSERIAL engine = (LPSERIAL)malloc(sizeof(SERIAL)); if (engine == NULL) { LOGE("memory not enough!"); return 0; } memset(engine, 0, sizeof(SERIAL)); engine->pWriteBuffer = (unsigned char *)malloc(BUFFER_SIZE); engine->pReadBuffer = (unsigned char *)malloc(BUFFER_SIZE + 1); #ifdef DEBUG_DUMP engine->pfile = fopen("/sdcard/dump_nv12_800x600.nv21", "wb"); engine->frame = 5; #endif if (data != NULL) { int size = env->GetArrayLength(data); if (size > 256) { LOGE("The byte is out range"); return 0; } else { env->GetByteArrayRegion(data, 0, size, (signed char *)dev); dev[size] = '\0'; LOGE("%s;", dev); } } engine->mHandle = Open_Port(port, dev, &error, type); if (engine->mHandle < 0) { engine->mStatus = engine->mHandle; } else { engine->mStatus = 0; } if (engine->mStatus == -1) { LOGE("The port is out range"); return 0; } else if (engine->mStatus == -2) { LOGE("Open serial port FAIL %d", error); return 0; } else if (engine->mStatus == -3) { LOGE("fcntl F_SETFL"); return 0; } else if (engine->mStatus == -4) { LOGE("isatty is not a terminal device"); return 0; } return (jlong)engine; }
int main() { //int fd = 0; char buffer[BUFFER_SIEZE] = {0}; if((fd = Open_Port(HOST_PORT)) == -1) { perror("Open port"); return -1; } if( Set_Port(fd,9600,8,'N',1) == -1) { perror("Set_Port"); return -1; } //Serial_SendStr(fd,"Hello This is from Ubuntu\n"); pthread_mutex_init(&mut,NULL); while(1) { time(&now); tm_now = localtime(&now); datetime=asctime(tm_now); create_thread(); wait_thread(); if( IsReceve ==1) { printf("\n%sInput the Send Message:\n",datetime); memset(buffer,0,BUFFER_SIEZE); if(fgets(buffer,BUFFER_SIEZE,stdin) == NULL)//get input chars { perror("Fgets"); break; } write(fd,buffer,strlen(buffer));//send chars IsReceve = 0; } } close(fd); return 0; }
int main() { HANDLE fd; DCB OldConf; char cad[16]="Enviando Texto"; int n; fd=Open_Port("COM1"); // Abre el puerto serie // fd=Open_Port("/dev/ttyS0"); OldConf=Get_Configure_Port(fd); // guardo la configuracion del puerto Configure_Port(fd,B115200,"8N1"); // Configuro el puerto serie // Bloqueante por defecto, pero tambien // se puede usar // IO_Blocking(fd,TRUE); n=Write_Port(fd,cad,16); // Escribo en el puerto serie while(Kbhit_Port(fd)<16); // Espero a leer hasta que se tengan // 16 bytes en el buffer de entrada n=Read_Port(fd,cad,16); // Leo el puerto serie printf(cad); // Muestro los datos Set_Configure_Port(fd,OldConf); // Restituyo la antigua configuracion // del puerto Close_Port(fd); // Cierro el puerto serie printf("\nPresione ENTER para terminar\n"); getchar(); return 0; }