當前位置:首頁 » 編程語言 » 監控程序c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

監控程序c語言

發布時間: 2022-06-03 15:31:57

A. c語言中編程,監控程序如何區分兩個同時發生的監控事件

中斷優先順序,同級的話,就看程序的處理先後順序了。

B. 遠程監控的原理和實現如何用c語言實現

以人工氣候室遠程監控系統為例2.1通信介面-----套接字的創建本文所要實現的是對一個小型人工氣候室的遠程監控,在異地或同一個區域網范圍內,可以不必親臨現場就可以觀測到人工氣候室當前的溫度狀況和運行中的溫度曲線,由於在遠端只是需要查詢和觀察,因此只要處理好現場監控計算機和遠端客戶機之間的通信和數據傳輸就可以了。這樣不用佔用現場計算機的CPU處理時間,從而能節省資源以便做更多的處理現場的工作。和遠端伺服器的連接可以分為以下幾個過程:(1) 服務進程總是先於客戶進程啟動,服務進程首先創造套接字。(2) 將本地地址綁定到所創建的套接字上以使在網路上標識該套接字。 (3) 將套接字置於監聽模式並准備接受連接請求。(4) 客戶端創建套接字,調用SOCKET函數,方法同上。(5) 客戶向伺服器提出連接請求。(6) 當請求到來時,被阻塞服務進程的accept()函數如(3)中所述生成一個新的套接字與客戶端建立連接,並向客戶端返回接收信號。(7) 一旦客戶機的套接字收到來自伺服器的接收信號,則表示客戶機與伺服器的連接已就緒,則可以進行數據傳輸了。(8) 關閉套接字。一旦任務完成,就必須關掉連接已釋放套接字佔用的資源。創建連接的伺服器端和客戶端代碼簡述如下:伺服器端:void CServerView::OnStart ()
{ Started=TRUE;
m_Start.EnableWindow(!Started);
try
{ g_sListen.Create(6802,SOCK_DGRAM,NULL);
g_sListen.Bind(6802,m_IP);//,6802為埠號,m_IP為伺服器端IP地址
g_sListen.Listen();
((CServerDoc*)GetDocument())->g_pchatListen=new CChatLsnSock(
(CAnyServerDoc*)GetDocument());
CChatLsnSock* g_pchatListen=((CAnyServerDoc*)GetDocument())->g_pchatListen;
g_pchatListen->Create(9999,SOCK_STREAM);//偵聽聊天室連接套接字創建
g_pchatListen->Listen();
GetDlgItem(IDC_RESPONSE)->SetWindowText("開始對客戶端服務!");
}
服務端開啟後的運行界面如圖1所示。
客戶端:
void CClientView::OnClientStart()
{m_sockRecv.Create(6801,SOCK_DGRAM,m_ClientIP);//6801為埠號,m_ClientIP為客戶端IP<br>m_sockRecv.Bind(6801,m_ClientIP);<br>m_timer1=SetTimer(1,1000,NULL);<br>m_timer2=SetTimer(2,250,NULL);<br>GetLocalTime(&SysTime);<br>m_StartTime=SysTime;<br>m_WavePlay.SetStartTime(SysTime.wYear,SysTime.wMonth,SysTime.wDay,SysTime.wHour,SysTime.wMinute,SysTime.wSecond);//畫出曲線初始時間<br>this->m_CurrentSysTime.SetFocus();<br>}
2.2網路中的數據傳輸與監控實現基於網路的遠程式控制制和測量應用中,一般數據傳輸採用二進制格式是主叢式,在人工氣候室的遠程監控系統中,通信雙方需要傳輸的數據流量少,下位機一般是微控制器等嵌入式系統,數據處理能力較慢,通信雙方也不必保持緊密聯系,因此大多採用UDP協議,基於點對點的方式,雙方通信的數據可靠性可以通過定義數據表示格式來保證。另外採用把通過網路傳輸過來的數據在客戶端用曲線的形式重畫顯示,用了一個本人自做的一個ActiveX控制項來顯示接收的數據,在數據傳輸過程中存在的滯後時間很短,可以忽略不計。在設備運行時,伺服器端的狀態一直保持開啟,測溫元件把測量到的溫度值傳入到控制微機,同時通過網路傳到遠程客戶端,遠程連接通過輸入伺服器端的IP地址,輸入指定的用戶名和密碼,就可以連接上,從而就實現了遠程監控。建立連接後客戶端就可以接收發送過來的溫度值且用曲線形式顯示出來:void CClientView::OnDataReceive()
{
extern CListBox* pmyListBox;
char szTempRecv[20];
CString szIP(m_IP);//得到伺服器端的IP
UINT uPort=6802;//指出埠
int iTempRecv=m_sockRecv.ReceiveFrom(szRecv,10,szIP,uPort,0);
szRecv[iRecv]='\0';
m_szRecv=szTempRecv;
m_listBox.AddString((LPCTSTR)m_szRecv);
int nCount=m_listBox.GetCount();
if (nCount > 0)
m_listBox.SetCurSel(nCount-1);
GetLocalTime(&SystemTime);
m_NowTime=SystemTime;
CString strSysTime;
strSysTime.Format(_T("%d-%d-%d %d:%d:%d"),SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay,SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond);
UpdateData(FALSE);
CurABSTime=(m_NowTime-m_StartTime).GetTotalSeconds();
m_WavePlay.SetPoint2(CurABSTime,atoi(m_szRecv));//用自做ActiveX控制項畫出溫度曲線
完成後通過遠程登錄看到的運行界面

C. 用C語言寫一段監控程序

#include<stdio.h>
int main(){
int i,sum=0;
for(i=20;i<=200;i+=2)
sum+=i;
printf("The sum is:%d",sum);
return 1;
}

D. 求51單片機風扇轉速監控程序 C語言

給你個我寫的基於89c52的單片機測頻率的程序,你參考下

#include<reg52.h>
#include<intrins.h>
#include<stdlib.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineLCD_dataP0
sbitLCD_RS=P2^0;
sbitLCD_RW=P2^1;
sbitLCD_EN=P2^2;
sbitLCD_PSB=P2^3;
bitflag=0;
uintnum1=0,num2=0,count=0;
voiddisplay();
voiddelayms(uintx)
{
uinti,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++)
;
}
voidwrite_cmd(ucharcmd) //12864寫命令函數
{
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
P0=cmd;
delayms(5);
LCD_EN=1;
delayms(5);
LCD_EN=0;
}
voidwrite_dat(uchardat) //12864寫數據函數
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=dat;
delayms(5);
LCD_EN=1;
delayms(5);
LCD_EN=0;
}
voidlcd_pos(ucharX,ucharY) //12864寫位置函數
{
ucharpos;
if(X==0)
X=0x80;
elseif(X==1)
X=0x90;
elseif(X==2)
X=0x88;
elseif(X==3)
X=0x98;
pos=X+Y;
write_cmd(pos);
}
voidlcd_init() //12864初始化函數
{
LCD_PSB=1;
write_cmd(0x30);
delayms(5);
write_cmd(0x0c);
delayms(5);
write_cmd(0x01);
delayms(5);
}
voidTime2_Init(void) //T2定時器自動重裝初值定時1s
{
EA=1;
ET2=1;
TR2=1;
RCAP2L=(65535-46083)%256;
RCAP2H=(65535-46083)/256;
}
voiddisplay() //12864顯示函數
{
lcd_pos(0,0);
write_dat(num1/1000+'0');
write_dat(num1/100%10+'0');
write_dat(num1/10%10+'0');
write_dat(num1%10+'0');
lcd_pos(1,0);
write_dat(num2/1000+'0');
write_dat(num2/100%10+'0');
write_dat(num2/10%10+'0');
write_dat(num2%10+'0');
}
main()
{
lcd_init();
Time2_Init();
TMOD=0x55;
TR0=1;
TR1=1;
while(1)
{
TH0=0;
TL0=0;
TH1=0;
TL1=0;
flag=0;
while(!flag);
num1=TH0<<8|TL0; //num1為T0在1s內統計的下降沿次數,輸入引腳為P3.4
num2=TH1<<8|TL1; //num2為T1在1s內統計的下降沿次數,輸入引腳為P3.5
display();
}
}
voidTime2(void)interrupt5 //T2定時器中斷1s
{
TF2=0;
count++;
if(count==20)
{
flag=1;
count=0;
}
}


E. 提問大神!在C語言裡面,監視是干什麼的,在實踐中有什麼作用嗎

摘要 監視程序,這個名字聽起來似乎很陌生。它的用途主要是在後台監視系統中關鍵信息的改變,比如注冊表的改變及硬碟上由於文件操作引起的改變等等。

F. 有沒有牛人可以用C語言寫出視頻監視的程序

有攝像頭的驅動,是不錯的

~~~~~~~~~~~

G. c語言能否實現對應用程序的監控,監測時間

用什麼程序只是表現方式不同,但都要用到API的。