FIFO通信 htonl 和memcpy的用法
来源:互联网 发布:java字符串concat 编辑:程序博客网 时间:2024/05/18 03:35
void Fifowrite() //Fifo通信{ int real_wnum = 0; int fifo_fd = open(OSD_FIFO,O_WRONLY,0); printf("fifo: %d\n", fifo_fd); if(fifo_fd) { real_wnum = write(fifo_fd,&osd_t,sizeof(textOSD_t)); if(real_wnum==-1) printf("write to fifo error; try later real_wnum=%d\n",real_wnum); else printf("real write num is %d\n",real_wnum); //close close(fifo_fd); } }int setfifoimage( unsigned char Fifo_ID,unsigned char imgID,int imgvalue){ wta_fifocmd_t imagefifo; imagefifo.Cmdhead=0x01; imagefifo.Cmd_ver=0x01; imagefifo.Cmd_ID=Fifo_ID; imagefifo.Cmd_Para[0]=imgID; imagefifo.Cmd_Para[1]=imgvalue; imagefifo.Cmd_check=0x00; int real_wnum = 0; int fifo_fd = open(IMAGE_FIFO,O_WRONLY,0); printf("fifo: %d\n", fifo_fd); if(fifo_fd) { real_wnum = write(fifo_fd,&imagefifo,sizeof(wta_fifocmd_t)); if(real_wnum==-1) printf("write to fifo error; try later real_wnum=%d\n",real_wnum); else printf("real write num is %d\n",real_wnum); printf("Cmd_Para[0]:%d\n",imagefifo.Cmd_Para[0]); printf("Cmd_Para[1]:%d\n",imagefifo.Cmd_Para[1]); close(fifo_fd); } }simg_t.exposure_set.shutter_time_min=gatoi(pszTmp); nTmp = htonl(simg_t.exposure_set.shutter_time_min); //htonl的用法。本函数将一个32位数从主机字节顺序转换成网络字节顺序 memcpy(shutterTmp, &nTmp, 4); nTmp = htonl(simg_t.exposure_set.shutter_time_max); memcpy(shutterTmp+4, &nTmp, 4); nTmp = htonl(simg_t.exposure_set.slow_shutter_enable); memcpy(shutterTmp+8, &nTmp, 4); shutterfifo(WTA_IMAGE_QULITY_SET, WTA_AE_SHUTTER_RANG_SET, shutterTmp,CPCOUNT);
http://www.cnblogs.com/qingjoin/archive/2011/12/06/2278173.html