📄 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 + -