如何用API函数向串口写数据

来源:百度知道 编辑:UC知道 时间:2024/05/15 01:58:33
用API函数编写串口通信VC程序,要向串口写数据,除了用对话框的手动发送和自动发送的定时消息映射ONTIMER,不知道还有没有其他的自动发送消息映射方式?望高手指点。急等……
我要做的就是向串口发送很多条命令来控制一摄像头的运动,如果用自定义消息的方式应该是需要一个触发源来触发这个消息吧,是不是只能用对话框呢?比如在上面加一按钮单击按钮就出发消息。还有没有别的比较方便的做法?
另外我现在用API做了一个基于单文档的应用程序,再Doc文件里对串口通信参数做了设置,并且做了有关打开和关闭串口的操作,这样在界面上就可以控制何时打开或是关闭串口,然后又自定义了一个消息用来发送命令,但是由于用对话框的一个按钮来作为触发源,映射的消息函数就放在Dlg文件里,就造成Doc和Dlg文件中对串口的操作是两个独立的过程,串口会被一个占用而无法实现另一个的操作。不知道有没有办法能让他们统一起来,初始化和打开的操作用Doc里的设置,而发送数据则是Dlg里映射的消息? 我是新手,多谢大侠帮忙。

不是很明白你要干什么 你可以自己开个独立的发送数据的线程,那样想什么时候发都行
-----------------------------------
你的程序是在什么才会发送命令控制摄像头的?要用户点击按钮后才会发送吗?还是其它的

反正就在你捕获到要发送命令时发送消息就行了
-----------------------------------
可能串口是以独占方式打开的吧,那这样你就选择在Doc或Dlg里一个打开串口就行了,反返回的句柄传给另一个需要用到串口的实例

你应该是想在特定事件发生的时候自动发送,可以自己定义消息发给窗口,等窗口收到消息就自动发送

还有就是创建一发送线程和一信号量句柄,把它默认设置为未受信,让发送线程来等待信号,当特定事件产生的时候,把信号设置为受信,发送线程就能自动发送了

如果你只是要在特定的时间重复发送消息,就用ONTIMER

但是你要响应一事件发生就执行发送操作,那么ONTIMER就不行了
因为可能事件产生的时候ONTIMER还没没激活