⑴ 單片機 兩段程序 交替運行
首先不可以這樣編程,其實要完成 多個任務的操作是沒有問題的,比如兩個任務交替執行
在 同一段程序中就可以了,循環運行就相當於交替,延時程序可以用 中斷 加 標志,蔽銀
在執行程序時 計數計時中斷標志 時間到執行 需碼並虧要的任遲神務,否則跳過執行其它任務。
⑵ 如何編程 使兩個程序連續(不是同時)運行
運行程序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雙線程還有可衡沒能進行。