发表于:2006-08-30 21:45:00
楼主
用labwindows 和单片机通过rs232通信,这个东西我还是没有搞得太明白:
char string[100];
i = GetInQLen (1);
ComRd (1,string, i);
问题一:这个 i 就是com1口输入队列的长度对吧,我的单片机一直在循环发送1,2,3,4信息,但是我用pritf显示i却一直是8,string也是以1,2,3,4,1,2,3,4为一组显示。那这个 i 值由于什么有关呢?我的OpenComConfig (1, "", 1200, 0, 8, 1, 512,512)是设置了8个数据位,但是仅代表一个字符的用8个二进制数表示,那前面的8(即 i 值)又是怎么确定了呢?
问题二:有个问题,我用printf("%d",string[i]);能显示string的内容,要知道string是char类型呀,但是我要用char类型,系统编译会出错。
问题三:我的单片机,lab程序要有开机的先后顺序,不然接收的数据就有问题。这样我就必须运行lab程序,再给单片机供电。這里边应该有我不知道的东西。
请各位大虾多家指点,這几天得到了论坛大虾们的帮助,再次表示我最为衷心的感谢!!!