C语言如何设置让程序运行时处于等待状态,串口收到命令后作出反应

C语言如何设置让程序运行时处于等待状态,串口收到命令后作出反应,第1张

这个 需要利用串口中断

假设说 中断标志位 为 TI 接收缓存为sbuf

。。。。。。

void main()

{

。。。。。

while((TI!=1)||((data=sbuf)!=0x10) //直到等到 有串口中断 且接收位10h 才继续执行

。。。。。

while(1)

{

...

}

}

不清楚可追问

使用Sleep(1000)即可,参考代码如下:

#include <windows.h>

#include<stdio.h>

int main()

{

int a

a=1000

printf("你")

Sleep(a)/* VC 使用Sleep*/

printf("好")/*输出“你”和“好”之间会间隔一千毫秒,即间隔一秒,sleep()的单位为毫秒*/

return 0

}

扩展资料:

用法

sleep()函数的调用需要一个时间作为参数,代表程序执行挂起的时间间隔。通常参数的单位是秒,但在一些更加精确的 *** 作系统中能以毫秒甚至是微秒为单位。

Sleep函数的一般形式:

Sleep(unsigned long)

其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000)

sleep()单位为秒,usleep()里面的单位是微秒。

参考资料来源:百度百科-Sleep函数

 #include "afxmt.h"

//全局变量

CEvent event(FALSE, TRUE) //第二个参数为TRUE表示手动信号

event.SetEvent( )

//线程中要等待的地方

WaitForSingleObject(event, INFINITE) //永远等待

......//线程中的代码

event.ResetEvent( )  //线程挂起

//-----------------------------------------------------

//以上代码C好像不行,可以用笨办法

//定义一个全局标识变量int flag=0

//在线程中

while(flag==0) //在主线程中改变flag的值,一旦不为0,则执行线程中的代码

{

    Sleep(1)

}

......//线程要执行的功能


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12147239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存