我在PC104下做一个串口的调试程序,这个程序是从PC上移植过来的。我创建平台时添加了Serial Port Support 选项,首先请问是不是加了Serial Port Support就可以使用串口了那?如果是我打不开设备那?如果不是需要添加那些支持那?那位有CE下串口的例子那发一份看看好吗?谢谢!
BOOL CSincoSecond::OpenComm(const TCHAR* pPort)
{
DCB dcb; // 串口控制块
COMMTIMEOUTS timeouts = { // 串口超时控制参数
100, // 读字符间隔超时时间: 100 ms
1, // 读操作时每字符的时间: 1 ms (n个字符总共为n ms)
500, // 基本的(额外的)读超时时间: 500 ms
1, // 写操作时每字符的时间: 1 ms (n个字符总共为n ms)
100
}; // 基本的(额外的)写超时时间: 100 ms
hComm = CreateFile(pPort, // 串口名称或设备路径
GENERIC_READ | GENERIC_WRITE, // 读写方式
0, // 共享方式:独占
NULL, // 默认的安全描述符
OPEN_EXISTING, // 创建方式
0, // 不需设置文件属性
NULL); // 不需参照模板文件
if(hComm == INVALID_HANDLE_VALUE) return FALSE; // 打开串口失败
GetCommState(hComm, &dcb); // 取DCB
dcb.BaudRate = 115200;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
SetCommState(hComm, &dcb); // 设置DCB
SetupComm(hComm, 4096, 4096); // 设置输入输出缓冲区大小
SetCommTimeouts(hComm, &timeouts); // 设置超时
::AfxBeginThread(GetCommData, NULL);//启动串口读线程
::AfxBeginThread(SendDataThrd, NULL);//启动发送数据线程
我有串口通讯的例子,写过多种语言的串口调试助手,找我!!QQ:619121698
在CE下,打开串口要想1楼那样,不要用MSComm控件,不知道你用那种方法打开串口,如果问题还没解决,就把代码贴出来,让大家帮你解决
CE下用不了MSCOMM控件,只能用READFILE,WIRTEFILE这样的API操作.
CreateFile(TEXT("COM1:"),...