『壹』 c語言,怎麼輸入數字信號源
#inlcude<avr/io.h>
main()
{
int i;
PORTA=0x00;
DDRA=0x00;
while(1)i=PINA&0x01;
}
i的值 就是你輸出的 數字信號 ,,, 不過 得看 你 是什麼源 ,呵呵 這個不能用的 只是演示;
『貳』 計算機怎麼將信號傳輸給機械手,就是計算機輸出給機械手的信號介面,急用
機械手都有專業的通訊介面,計算機(電腦)也都有232的介面,關鍵是要有專業的通訊軟體(要不自己用C語言寫??),然後才能通過電腦控制機械手(各品牌的機械手都有專用的控制軟體,這個你可以找機械手的供應商或生產廠家要求他們提供或購買)。
『叄』 通過c語言實現手機給電腦發送信號指令
你看看linux 網路編程試試 我覺的你應該還是在linux上建立一個伺服器用來解析通過網路發來的命令,起先你應該用一個可以用c語言為主體的可以調用硬體操作的代碼 用伺服器來解析執行你要的操作,在你的linux主機上可以通過路由器等連入Internet 你通過c/s架構通過一台電腦或是手機來訪問linux伺服器 這個client可以是一個php網頁 通過socket與操作運行的代碼交互
『肆』 C語言中信號問題
信號是程序執行過程中出現的異常情況。它可能是由程序中的錯誤造成的,例如引用內存中的一個非法地址;或者是由程序數據中的錯誤造成的,例如浮點數被0除;或者是由外部事件引發的,例如用戶按了Ctrl+Break鍵。
你可以利用標准庫函數signal()指定要對這些異常情況採取的處理措施(實施處理措施的函數被稱為「信號處理函數」)。signal()的原型為:
#include <signal.h>
void(*signal(int hum,void(*func)(int)))(int);
如果定義一個typedef,理解起來就容易一些了。下面給出的sigHandler_t類型是指向一個程序的指針,該函數有一個int類型的參數,並且返回一個void類型:
typedef void(*sigHandler_t)(int);
sigHandler_t signal(int num , sigHandler_t func);
signal()有兩個參數,分別為int類型和sigHandler_t類型,其返回值為sigHandler_t類型。以func參數形式傳遞給signal()的那個函數將成為第num號異常情況的新的信號處理函數。signal()的返回值是信號hum原來的信號處理函數。在設置了一個暫時的信號處理函數之後,你可以利用該值恢復程序先前的行為。num的可能值依賴於系統,並且在signal.h中列出。func的可能值可以是你的程序中的任意函數,或者是SIG_DFL和SLG_IGN這兩個特別定義的值之一。SIG_DFL是指系統的預設處理措施,通常是暫停執行程序;SIG_IGN表示信號將被忽略。
『伍』 C語言信號處理程序
#include<signal.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
voidmy_func(intsign_no)
{
if(sign_no==SIGINT)
printf("IhavegetSIGINT ");
elseif(sign_no==SIGTERM)
printf("IhavegetSIGQUIT ");
}
intmain()
{
printf(" ");
printf("processis%d ",getpid());
signal(SIGINT,my_func);
signal(SIGTERM,my_func);
while(1);
exit(0);
}
linux 平台就 用while阻塞就行
不知道你用的是什麼平台?
『陸』 用c語言編程,我想採集發動機的壓力信號,請教一下程序應該怎麼寫呀有沒有相應的庫函數
什麼發動機的壓力?你總得說明感測器及AD器件用的是什麼吧,還有單片機是什麼型號。
這個屬於模擬量採集吧,一般的電路結構是:待測信號—>感測器—>放大調理電路—>AD—>單片機。單片機與ADC連接,讀取AD轉換的值,然後根據參考電壓和放大倍數計算出實際的模擬量的大小。這個沒有庫函數,有些現成的AD採集的列程可以參考。
『柒』 我想用C語言和PLC去編程,從而對一些工業上的機械設備進行控制。但我現在對C語言一竅不通。我應該怎麼學
c和plc沒有關系。c語言有很多應用領域,你應該學的是嵌入式的編程。
主要涉及的是單片機。
可以先學一下譚浩強的c語言程序設計,然後學單片機,再然後學嵌入式linux或者wince。
不清楚現在plc的領域怎麼樣,是否賺錢,你給我介紹一下?
『捌』 用c語言編寫控制電機運動的程序
1、有三個輸入,分別是一個按鈕、兩個霍爾感測器(也就是接近開關),我用P0.0到P0.2來代替;輸出2個或以上(這看接什麼顯示器,如果是PC的話,就不用數字量輸出,直接串口就可以了)控制正反轉的繼電器管腳用P1.0、P1.1;需要與一個全局變數轉動次數k連接起來,另外兩個輸入接近開關選用NPN感測器或用光電隔離,總之有效信號能把管腳電壓拉低就可以。
2、常式:
#include<reg51.h>//選用晶振11.0592MHz
unsignedchark=0;//k表示正反轉次數
sbitX0=P3^2;//調節按鈕
sbitX1=P1^1;//上限位接近開關信號
sbitX2=P1^2;//下限位接近開關信號
sbitY1=P0^0;//電機上升(注意:我使用的是管腳輸出為0時候,電機運動,這樣可以避免啟動時候,單片機自復位對電機點動的影響)
sbitY2=P0^1;//電機下降
voiddelay50ms(unsignedinti)
{
unsignedintj;
for(i;i>0;i--)
for(j=46078;j>0;j--);
}
main()
{
IT0=1;//下降沿觸發
EX0=1;//開P3.2外部中斷
EA=1;//總中斷開
while(1)
while(k)
{
Y1=0;//正轉
while(X1==1);//等待正轉接近開關反應
Y1=1;//正轉停
delay50ms(1);//停止時間50ms
Y2=0;//反轉
while(X2==1);//等待反轉接近開關反應
Y2=1;//反轉停
k--;//圈數減一
}
}
voidcounter0(void)interrupt0
{
k++;//外部中斷控制圈數加一
//這個位置可以加你顯示程序
}
『玖』 C語言控制步進電機
我之前做過一個,步進電機模擬電梯運行的控製程序,是那種發一個信號走一步的那種,步進角比較大,好像是15度左右,我當時的做法就是加入系統延時,讓程序給步進電機發送信號,通過控制延時來決定單位時間內步進電機轉動的次數
我用的是永磁式步進電機,不知道你用的是什麼樣的,我使用的這種,步進角比較大,步進電機都是一步步轉的,轉快了就看不出步進電機是一步步轉了
而當是步進電機正轉是按這樣的順序發送信號,abcd,反轉是dcba
轉多少圈,就是循環給步進電機發送信號,使用程序控制發送信號的次數,至於怎麼控制只要知道介面函數什麼的還是不難的。
如果還是不大明白,我倒是可以幫你看看程序