本帖最后由 xlsbz 于 2014-10-5 18:02 编辑
icecut 发表于 2014-10-4 09:50
open 还是为了统一接口。当然。还是理解os为什么用open再去玩。否则自己也不知道该写到什么程度。
其实open ...
大侠,照葫芦画瓢搞了一个
@icecut
void myusart1_init(void)
{
fd_usart1 = open("/dev/usart1");
ioctl(fd_usart1, CMD_BAUDRATE, 115200);
ioctl(fd_usart1, CMD_HW_OPTS_SET, CS8 | STB1 | PARNO);
connect(fd_usart1);
}
void myusart2_init(void)
{
fd_usart2 = open("/dev/usart2");
ioctl(fd_usart2, CMD_BAUDRATE, 38400);
ioctl(fd_usart2, CMD_HW_OPTS_SET, CS8 | STB1 | PARNO);
connect(fd_usart2);
}
fd_can1 = open("/dev/can1");
ioctl(fd_can1, CMD_BAUDRATE, 500);
ioctl(fd_can1, CMD_HW_OPTS_SET, ATOBFF | ATOSND);
ioctl(fd_can1, CMD_HW_CAN_FILTER, 0);
connect(fd_can1);
return (0);
感觉作用一个是统一接口,另外,检查比如初始化串口是否初始化已经初始化过了。在write的时候,要先检查是否已经初始化了。另外还有你说的利于多人开发。
另外 还有问题问小i,在51判断接收到的帧是否是新的一帧
可以中断搞个标志位,或者搞个计数器,然后在while大循环里判断标志位。
那么linux里面是如何判断来了新的一帧了? |