?? start_motor.cgi.c
字號:
#include <stdio.h>#include <stdlib.h>#include<unistd.h>//include close() function#include<fcntl.h>#include<linux/rtc.h>#include<linux/ioctl.h>#include <linux/errno.h>#include <linux/fs.h>int value[2];typedef unsigned long U32;void delay(U32 time){ while(time--);}int start_motor(int r ,int l){ int fd,i;U32 times1,times2; value[0]=r; value[1]=l; printf("<P>以下是電機的控制結果:</P>"); fd=open("/dev/motor_drv",O_RDWR); if(fd==-1) {perror("open"); printf("you are wrong"); exit(-1); } write(fd,value,2*sizeof(int)); delay(10000);printf("<P>電機控制成功!!!現在正在運行:</P> <P>左電機的速度是:%d</P><P>右電機的速度是:%d</P>",value[0],value[1]); printf("<HR>");printf("</br>"); printf("</br>"); printf("</br>"); printf("點擊下面按鈕返回首頁:</br>"); printf("</br>"); printf("<a href=../motor_form.html>返回首頁</a>");printf("</br>");printf("</br>");printf("</br>");close(fd);return 0;}int main(void){char *data;int left_tires,right_tires;int m,n;printf("Content-Type:text/html\n\n");//頭標信號printf("<TITLE>電機啟動頁面</TITLE>\n");printf("<HR>");data = getenv("QUERY_STRING");if(data == NULL)printf("<P>錯誤! 數據并沒從表單傳輸過來 !"); else if(sscanf(data,"left_tires=%d&right_tires=%d",&m,&n)!=2) printf("<P>錯誤! 錯誤的數據格式,請輸入阿拉伯數字!"); else if(m>=100||m<=-100||n>=100||n<=-100) printf("<P>警告!!你輸入的參數超標,確認參數的范圍為-100---100</P>"); else if(m==0&&n==0)printf("<P>請確認輸入的參數不全為0,否則電機無法啟動!!!</P>"); else if(start_motor(m,n)!=0) {printf("<P>內部錯誤!"); printf("</BR>");} return 0; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -