⑴ 单片机 两段程序 交替运行
首先不可以这样编程,其实要完成 多个任务的操作是没有问题的,比如两个任务交替执行
在 同一段程序中就可以了,循环运行就相当于交替,延时程序可以用 中断 加 标志,蔽银
在执行程序时 计数计时中断标志 时间到执行 需码并亏要的任迟神务,否则跳过执行其它任务。
⑵ 如何编程 使两个程序连续(不是同时)运行
运行程序a -> 同时用 SetTimer 设置定时器 -> 在回调函数里运行程序b
在VB等IDE里面可以用时间控件,就更简单了
⑶ C语言怎么实现批处理多行程序一次运行而不是一次运行一行
如果多行程序 写在一个批处理里面 那么只能一行一行运行
要想同时运行多个命令
那么可以在C编程的时候 引入多线程
创建多个线程,每个线程运行一行命令。
这样就可以实现多个命令同时执行了
多线程你自己网络一下,网上很多。执行命令就用system就可以了。
⑷ 如何确保JAVA程序在一台机器上不能同时运行两个实例
最简单的方法是在程序弯贺运行起来后创建一个临时文件(或在文件中写入一个运行标志),每次运行程序前读取这个文件,如果这个文件存在(或运行标志已经设置),说明有该程序已经运行着一个实例;但要注意在程序退出前确保删除这个文件。
还有一种方法是调用jdk内置的jps命令($JAVA_HOME/bin/jps),这个命令可以查看当前运行着的java程序及运行参数。芦凳比如你的程序的运行方式如下
java-cpapp.jarcom.example.Main
调用
jps-l
可以得到类似如下输出
<进程id>com.example.Main
可以通过判断输出是否存在程序的入口类来判断程序是否已经陪闹旅运行。
⑸ 如何在一片51单片机中实现两个不同模块的主程序
什么叫“不同模块的主程序”?
如果您的意思是,要在单片机内宏观上“同时”执行两个任务的程序,那么,有很多种办法。
其一,道理最简单的,是将这两败洞个任务合理安排好其中各个步骤的时间次序,编到同一个程序中。
这个方法最容易理解,但是,假如这两个任务各有其灵活性,难以固定编排其执行的步骤次序,就不好用这种方法了。
另外的方法,就是编成两个进程的程序,然后采用进程调度的办法,使CPU可以分时轮流交替来执行这两个进程。只要交替的频度足够,宏观上就可以看做两个任务在“同时”执行。
具体的办法有很多种,“操作系统”教材中有专门的介绍。
在单片机上,常用的一种办法是利用中断机制。
例如,这两个进程中,某一个进程可以安排成周期性的操作,那么可以利用定时器的周期中断,在中断服务程序中执行这个进程的任务,每个节拍(即每次中断)执行一步。而另一个进程,则可以放在主程序中,编成一个“死循环”的形式持续执行其任务。
这样,主程序中执行第二个任务的期间,每当定时间隔时间到,就会打断第二个任务,进入中断服务程序中执行第一个任务,第一个任务这一节拍执行完后,中断返回,就会回到主程序中继续执行刚才被打断了的第二个任务。
编程时需要注意的是,第二个进程的程序中,如果有某些操作是不允许打断的,可以在这些操作前关中断,操悔枯差作后开中断。这样,第一个进程的中断响应如碧皮果碰巧发生在关中断的瞬时,中断虽不会马上响应,但中断“挂号”依然有效,只不过稍微迟了一点响应。总体上不会有错。
⑹ 请问c++如何同时运行2个exe文件并不断向其中进行标准输入
最简单的,调用 DOS 命令扒祥,分别开2个窗,同时工作:
#include <stdio.h>
int main()
{
system( "start \"a1\" a1.exe"); // 窗名a1, 运行 a1.exe
system( "start \"a2\余老" a2.exe"); // 窗名a2, 运行 a2.exe
return 0;
}
==================
把两个程序做成2 个线程,或一个做主函数,一个做函数,共享标准输入输出资源
c++ 程序:
#include <iostream>
#include <windows.h>
using namespace std;
HANDLE hMutex; //公用资源句柄
int x1=0,x2=0;
DWORD WINAPI Fun(LPVOID lpParamter)
{
while(1) {
WaitForSingleObject(hMutex, INFINITE);
cout<<"intput x1:"<<endl; // 第1个程序嵌入这里
cin >> x1;
cout << "x1="<<x1<< endl;
Sleep(1000);
ReleaseMutex(hMutex);
}
}
int main()
{
hMutex = CreateMutex(NULL, FALSE, "screen");
HANDLE hThread = CreateThread(NULL, 0, Fun, NULL, 0, NULL);
CloseHandle(hThread);
while(1) {
WaitForSingleObject(hMutex, INFINITE);
cout<<"春毁搏input x2:"<<endl; //第2个程序嵌入这里
cin >> x2;
cout << "x2="<<x2<<endl;
Sleep(2000);
ReleaseMutex(hMutex);
}
return 0;
}
----
模拟2个线程,交替通过申请获得 标准输入输出设备 使用 权。
⑺ 单片机C语言怎样编程才可也使两个不用的I/O口同时执行程序
理论上的同时执行是不可能的,单片携物机运行程序的有顺序的,顺序执行每一条指令,同一个时间只能执行一条指令。
但是单片机速度比较快,执行起来给人感觉就是同时执行好隐灶。
可以尝试一下用中断方式吧友扮,主程序里面控制流水灯,中断程序里面控制蜂鸣器。
⑻ 单片机C语言怎样编程才可也使两个不用的I/O口同时执行程序
下面是一个大概的例银饥子,由主程序mian和两个中断程序组成。
mian()
{
TL0=0XXX;
TH0=0XXX;
TR0=1;
EX0=1;
EA=1;
//初始化程序
while(1)
//等待键盘中断或者定时器中断结果
{
p0=0xXX:
p2=0xXX;
}
}
time0
interuper()
//定者孝时器中断程首搏稿序
{
}
extr0
interuper()
//键盘中断程序
⑼ c语言如何同时运行两个程序
C语言编译是线性的,同时只能编译一个程序 无法做到两个程序一起编译,只能先编译一个 再编译另一个。如果是命令咐歼纳行 可以开两个终端 同时编译,不过 这并不能提高编译速度,改衡意义不大。语言必须有个先后顺序,就算是面象对象的语言,线程也是一个一个再进行,不会有同时的情况,如果是双核CPU双线程还有可衡没能进行。