www.pudn.com > seria1.rar > serial.c,v
head 1.9; access; symbols; locks; strict; comment @ * @; 1.9 date 2004.12.16.09.13.47; author yr; state Exp; branches; next 1.8; deltatype text; permissions 644; commitid 60441c151c409e6; kopt kv; filename @serial.c@; 1.8 date 2004.12.14.08.14.36; author yr; state Exp; branches; next 1.7; deltatype text; permissions 644; commitid 1ba841bea0e84060; kopt kv; filename @serial.c@; 1.7 date 2004.12.14.07.55.08; author yr; state Exp; branches; next 1.6; deltatype text; permissions 644; commitid 1b4c41be9c573176; kopt kv; filename @serial.c@; 1.6 date 2004.12.07.08.53.29; author laj; state Exp; branches; next 1.5; deltatype text; permissions 644; commitid 88441b56f5b3aab; kopt kv; filename @serial.c@; 1.5 date 2004.12.06.13.42.59; author yr; state Exp; branches; next 1.4; deltatype text; permissions 644; commitid 8e441b461ce4a6e; kopt kv; filename @serial.c@; 1.4 date 2004.11.30.09.03.40; author tarbit; state Exp; branches; next 1.3; deltatype text; permissions 644; commitid d1c41ac375d1fed; kopt kv; filename @serial.c@; 1.3 date 2004.11.30.07.56.24; author tarbit; state Exp; branches; next 1.2; deltatype text; permissions 644; commitid d3c41ac27976c6b; kopt kv; filename @serial.c@; 1.2 date 2004.11.30.01.59.15; author yr; state Exp; branches; next 1.1; deltatype text; permissions 644; commitid ce041abd3ee5b38; kopt kv; filename @serial.c@; 1.1 date 2004.11.01.05.19.55; author yr; state Exp; branches; next ; deltatype text; permissions 644; commitid d404185c7771af5; kopt kv; filename @serial.c@; desc @@ 1.9 log @add func_set_timer @ text @#include/*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/ #include #include #include #include #include /*文件控制定义*/ #include /*PPSIX 终端控制定义*/ #include /*错误号定义*/ #include #include #include #include #include #include #include #include void fn_operation(char *); int set_Parity(int, int, int, int); int OpenDev(char *); void fn_oprt_msg(); void fn_msg_snd(); void set_speed(int, int); void fn_read_port(int, char *); void handle_func(); void func_sig_proc(); void func_msg_regst(); void func_read_alarm_set(); void func_set_timer(); void func_sigalarm_proc(); void func_sign_nack(); char alarm_set[3] = {0xff, 0xff, 0xff}; char alarm_bit[3] = {0, 0, 0}; char alarm_num = 0; char alarm_kind = 0; int main() { func_sig_proc(); // func_read_alarm_set();//read alarm_set from set_record file; //set the port; int fd; fd = OpenDev("/dev/ttyS1"); set_speed(fd, 9600); if (set_Parity(fd,8,1,'n') == 0) { printf("Set Parity Error\n"); exit (0); } //create pthread! int ret; pthread_t id_msg; ret = pthread_create(&id_msg, NULL, (void *)fn_oprt_msg, NULL); if(ret != 0) { printf("pthread_create error!\n"); exit(1); } func_msg_regst(); func_set_timer(); while (1) { char recvbuf[6] = {0, 0, 0, 0, 0, 0}; fn_read_port(fd, recvbuf); fn_operation(recvbuf); fn_msg_snd(); // printf("In the while.....\n"); } exit(0); } @ 1.8 log @to merge two message into one @ text @d12 1 d31 3 d65 1 @ 1.7 log @add alarm_kind & alarm_num @ text @d33 2 a34 2 int alarm_num = 0; int alarm_kind = 0; @ 1.6 log @to add the ! and send message to sysinfo @ text @d34 1 @ 1.5 log @change the alarm_bit @ text @d38 1 a38 1 func_read_alarm_set();//read alarm_set from set_record file; @ 1.4 log @modify @ text @d19 1 a19 1 int fn_operation(char *); d23 1 a23 1 void fn_msg_snd(int); d29 1 d31 2 a32 1 char alarm_set[4] = {0xff, 0xff, 0xff, 0}; d37 3 a39 2 char recvbuf[6]; int bit; d62 1 a62 2 bit = 0; bzero(recvbuf, 6); d64 3 a66 2 bit = fn_operation(recvbuf); fn_msg_snd(bit); d68 1 @ 1.3 log @modify @ text @a33 2 func_msg_regst();//regist d35 2 a36 1 d39 1 a39 2 char *dev = "/dev/ttyS1"; fd = OpenDev(dev); a45 1 // printf("set up port successful!\n"); d55 2 d59 2 a60 2 int bit = 0; char recvbuf[6] = {0, 0, 0, 0, 0, 0}; a63 1 // printf("In the while.....\n"); @ 1.2 log @change goto to while and use the alarm_num.h @ text @d34 4 d48 1 a48 2 printf("set up port successful!\n"); a57 2 a61 1 a62 1 a63 1 d65 1 a65 2 printf("In the while.....\n"); a66 1 @ 1.1 log @added @ text @d1 10 a10 10 #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/ #include #include #include #include #include /*文件控制定义*/ #include /*PPSIX 终端控制定义*/ #include /*错误号定义*/ d12 2 a13 3 #include #include d17 3 a19 1 void set_speed(int, int); a21 1 d23 2 a24 2 void fn_msg_snd(int, char *); int fn_operation(char *); d27 2 d31 1 a31 2 char alarm_arise[4] = {0, 0, 0, 0}; a33 45 MSG sendmsg; struct sigaction act; sigset_t blockmask; key_t keyval0 = SERIAL_MSGQ; int msgq_id0 = 0; int fd; char *dev = "/dev/ttyS1"; int ret; pthread_t id_msg; //signal processor! //struct sigaction act; //sigset_t blockmask; sigemptyset(&blockmask); sigaddset(&blockmask, SIGINT); sigprocmask(SIG_BLOCK, &blockmask, NULL); act.sa_handler = handle_func; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask, SIGINT); sigaction(SIGINT, &act, NULL); sigprocmask(SIG_UNBLOCK,&blockmask, NULL); //regist message!! //MSG sendmsg; //key_t keyval0 = SERIAL_MSGQ; //int msgq_id0 = 0; if(msgq_id0 == 0) msgq_id0 = msgget(keyval0,IPC_CREAT); sendmsg.mtype = 100; sendmsg.pid = getpid(); sendmsg.from_service = ALARM_ARISE; sendmsg.data_type = REGIST; sendmsg.msg_data.answer_serv=0x00; msgsnd(msgq_id0, &sendmsg, (sizeof(MSG) - 4), 0); d35 2 a36 2 //int fd; //char *dev = "/dev/ttyS1"; d47 2 a48 2 //int ret; //pthread_t id_msg; a56 1 d59 3 a61 3 int alarm_bit = 0; unsigned char recvbuf[6] = {0, 0, 0, 0, 0, 0}; d64 1 a64 1 alarm_bit = fn_operation(recvbuf); d66 1 a66 1 fn_msg_snd(alarm_bit, recvbuf); a68 1 @