一个简单的串口硬件及编程的问题求教各位老大哥。(原则上不拆分)

weill 2005-05-02 05:08:55
一个简单的串口硬件及编程的问题求教各位老大哥。
原则上不拆分,所以已经有朋友给出的提示或答案不要重复,呵呵。

问题如下:
一、硬件:本人需要通过鼠标、键盘外的东西对电脑进行简单的控制,简单到,只要给个信号,程序能收到这个信号就足够了,目的就是响应脚踩板。我想,用串口来做这件事是最简单的办法了。
现在想了解的是:只使用一个串口来实现这个功能,串口应怎么连接(哪个脚和那个脚进行联接和断开能使电脑有所响应)。

二、BCB编程:如何写代码来响应串口的动作(也就是收取脚和脚联接和断开的信息),希望给出代码,如果要包含什么头文件,包含什么特别的东西,请一并给出哦,不然我要发晕的。信号越简单可靠越好。
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leonatcs 2005-05-02
  • 打赏
  • 举报
回复
兄台真是太爽快!
立刻结帐了,^_^
weill 2005-05-02
  • 打赏
  • 举报
回复
偶给分从来不小气的,呵呵,收分吧。
weill 2005-05-02
  • 打赏
  • 举报
回复
我倒哦,我刚找到资料,就让你答了,呵呵。
我找的资料比你说的还全……

不过,依旧谢谢 leonatcs(LeonKennedy)(每天逛一逛csdn,有益身心健康。) 的热心帮助,也让我知道得更多,开卷有益!



leonatcs 2005-05-02
  • 打赏
  • 举报
回复
有一个地线,某根针和地线一短接就是一个信号,用COMSTAT测信号状态。
leonatcs 2005-05-02
  • 打赏
  • 举报
回复
1.使用win32API函数 同步读写的例子如下:


//Open ComPort -------Sync(namely nonoverlaped)
HANDLE hCom;
hCom = CreateFile( "COM1",GENERIC_READ | GENERIC_WRITE,0,0,
OPEN_EXISTING,0,0);
if (hCom == INVALID_HANDLE_VALUE) return;

//Set DCB
TDCB dcb1;
GetCommState(hCom,&dcb1);
dcb1.BaudRate = 9600;
//and other settings...
SetCommState(hCom,&dcb1);

//Write to comport -------Sync(namely nonoverlaped)
unsigned long k = 0; // use by WriteFile/ReadFile function to return how many bytes are written/read.
char charY = 'Y'; //char to send/receive
WriteFile(hCom, &charY, sizeof(char), &k, NULL);

//Sleep(2000);

//Read from comport -------Sync(namely nonoverlaped)
COMSTAT ComStat;
DWORD dwErrorFlags;
ClearCommError(hCom,&dwErrorFlags,&ComStat);
k = 0;
if( ComStat.cbInQue > 0) //cbInQue是输入队列的长度。
ReadFile(hCom, &charY, sizeof(char), &k, NULL);
if (k) Null;//something been read into tempchar
else GetLastError();

//Close Comport
CloseHandle(hCom);


// 几个易混的数据结构
// TCommProp 通信接口的属性,定义了接口的能力,如最大波特率,通信设备类型。
// COMSTATE 串口的通信状态,例如是否在等待CTS信号,输入输出队列是否有数据。
// TDCB 串口的设备控制块,定义串口通信时使用的波特率,停止位,校验方法等。
weill 2005-05-02
  • 打赏
  • 举报
回复
好象GetCommModemStatus可以实现?!
正在查找中……
大家帮我一下啊!
weill 2005-05-02
  • 打赏
  • 举报
回复
我只想要几条简单的语句,实现检测七八脚短路,我会用MSCOMM控件,只是想用API来实现。但不要很多的功能,就要一个七八脚短路的信号就行了。程序越简单越好。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧