各位老大帮帮我,关于和串口设备通讯的问题
各位老大,一定要帮帮我,谢谢!
程序执行环境:FREEBSD 4.8
问题代码:
#define FALSE 0
...........................
old_umask=umask(0);
signal(SIGTERM, sig_func);
openlog("afw", LOG_PID, LOG_USER);
syslog(LOG_INFO, "AFW LCD daemon start succeeded");
//打开串口设备,BSD为ttyd1,LINUX为ttyS1
if((comfd = open("/dev/ttyd1", O_RDWR)) < 0) {
syslog(LOG_ERR, "open serial port failed");
closelog();
return FALSE;
}
问题是这样的,程序执行到这里的时候就死了,在前台运行的时候光标就闪动,按CTRL-C程序中断,在中间加入PRINTF可以看到根本在OPEN函数的时候就被阻塞了,程序执行不下去了,而这个代码一点都没有改,昨天运行了一次却是好好的和串口设备进行了通讯,再来就不行了,请各位前辈帮忙看看,为什么不能打开该设备文件?如果我将ttyd1改为其他没有连接设备的串口却会有正常的LOG记录.