⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cm_main1.c

📁 uClinux 下MicroWindows开发的电机控制平台软件和模拟示波器的双路数据采集系统源码
💻 C
📖 第 1 页 / 共 3 页
字号:
			            arry_y[3]=(((200-Event.button.y)/2)%100)/10+'0';			            arry_y[4]=((200-Event.button.y)/2)%10+'0';			            arry_y[5]='C';                        arry_y[6]='M';			            arry_y[7]='\0';			    			            GrClearWindow(WIN_Massage,GR_FALSE);                                            GrFillRect(WIN_Massage,Gid_Button,0,0,60,20);//画填充矩形为按钮                        GrText(WIN_Massage,Gid_Message,4,18,arry_x,-1,GR_TFASCII);                        GrText(WIN_Massage,Gid_Message,4,38,arry_y,-1,GR_TFASCII);				        if(X_sit < 0)		                {		                    X_sit = Event.button.x;		                    Y_sit = Event.button.y;					        QU_giReInitQueue();//清空存储区				            QU_giSetDataIntoQueue(X_sit+(200-Y_sit)*1000);//点存到缓冲区				        		                }		                else		                {		                    GrLine(WIN_Screen,Gid_Guiji,X_sit,Y_sit,Event.button.x,Event.button.y);		                    				            numberOfPoint =  (sqrt((double)((Event.button.x-X_sit)*(Event.button.x-X_sit)+((Event.button.y)-Y_sit)*((Event.button.y)-Y_sit))))/2;                            X_cha = Event.button.x-X_sit;					        Y_cha = -((Event.button.y)-Y_sit);					        if((X_cha == 0)&&(Y_cha > 0))					        {					            The_jiaodu = 90*0.0174533;					        }					        if((X_cha == 0)&&(Y_cha < 0))                            {					            The_jiaodu = 270*0.0174533;					        }                            if((X_cha > 0)&&(Y_cha == 0))                            {		    			        The_jiaodu = 0*0.0174533;	    				    }    					    if((X_cha < 0)&&(Y_cha == 0))                            {					            The_jiaodu = 180*0.0174533;					        }				    	    if((X_cha > 0)&&(Y_cha > 0))                            {			    		        The_jiaodu = atan(Y_cha/X_cha);		    			    }	    				    if((X_cha < 0)&&(Y_cha > 0))                            {					            The_jiaodu = 180*0.0174533+atan(Y_cha/X_cha);				    	    }			    		    if((X_cha < 0)&&(Y_cha < 0))                            {	    				        The_jiaodu = 180*0.0174533+atan(Y_cha/X_cha);    					    }					        if((X_cha > 0)&&(Y_cha < 0))                                            {					            The_jiaodu = 360*0.0174533+atan(Y_cha/X_cha);					        }					        Cos = cos(The_jiaodu);				            Sin = sin(The_jiaodu);				            for(i=0;i<numberOfPoint;i++)				            {				                if(-1 == QU_giSetDataIntoQueue((X_sit+(int)(2*i*Cos))+	1000*((200-Y_sit)+(int)(2*i*Sin))))//存坐标点				                {						            break;					            }				            }                            X_sit = Event.button.x;		                    Y_sit = Event.button.y;                            if(-1 == QU_giSetDataIntoQueue(Event.button.x+(200-Event.button.y)*1000))//点已经存满缓冲区				            {				                QU_giGetDataFromQueue();					            QU_giSetDataIntoQueue(Event.button.x+(200-Event.button.y)*1000);					            Mark_DrawButStatus = NONE;						        X_sit = -1;		                        Y_sit = -1;				            }		                }		            }		            if(Mark_DrawButStatus == ROUNTD)		            {			            arry_x[0]='X';			            arry_x[1]=':';			            arry_x[2]=((Event.button.x)/2)/100+'0';			            arry_x[3]=(((Event.button.x)/2)%100)/10+'0';			            arry_x[4]=((Event.button.x)/2)%10+'0';			            arry_x[5]='C';                        arry_x[6]='M';			            arry_x[7]='\0';			    			            arry_y[0]='Y';			            arry_y[1]=':';			            arry_y[2]=((200-Event.button.y)/2)/100+'0';			            arry_y[3]=(((200-Event.button.y)/2)%100)/10+'0';			            arry_y[4]=((200-Event.button.y)/2)%10+'0';			            arry_y[5]='C';                        arry_y[6]='M';			            arry_y[7]='\0';			    			            GrClearWindow(WIN_Massage,GR_FALSE);                                            GrFillRect(WIN_Massage,Gid_Button,0,0,60,20);//画填充矩形为按钮                        GrText(WIN_Massage,Gid_Message,4,18,arry_x,-1,GR_TFASCII);                        GrText(WIN_Massage,Gid_Message,4,38,arry_y,-1,GR_TFASCII);			    				        if(X_sit < 0)		                {		                    X_sit = Event.button.x;		                    Y_sit = Event.button.y;				    				            QU_giReInitQueue();//清空存储区		                    GrClearWindow(WIN_Screen,GR_FALSE);//清屏				            if(-1 == QU_giSetDataIntoQueue(X_sit+(200-Y_sit)*1000))//点已经存满缓冲区				                {				                    Mark_DrawButStatus = NONE;				                }		                }		                else		                {		                    GrEllipse(WIN_Screen,Gid_Guiji,X_sit,Y_sit,sqrt((double)((Event.button.x-X_sit)*(Event.button.x-X_sit)+(Event.button.y-Y_sit)*(Event.button.y-Y_sit))),sqrt((double)((Event.button.x-X_sit)*(Event.button.x-X_sit)+(Event.button.y-Y_sit)*(Event.button.y-Y_sit))));		                    				    				            R_long = sqrt((double)((Event.button.x-X_sit)*(Event.button.x-X_sit)+(Event.button.y-Y_sit)*(Event.button.y-Y_sit)));                                    i = 0;				            while(i<360)				            {				                if(-1 == QU_giSetDataIntoQueue((X_sit+(int)(R_long*cos(i*0.0174533)))+	1000*((200-Y_sit)+(int)(R_long*sin(i*0.0174533)))))//存坐标点				                {					                Mark_DrawButStatus = NONE;					                break;					            }					            i++;				            }				            X_sit = -1;		                    Y_sit = -1;		                }		            }		            		        }		    }		    if(Event.type == GR_EVENT_TYPE_BUTTON_UP)//控制面板各个按钮的抬起事件            {		        if(Event.button.wid==WIN_But_SetPass)		        {		            if(Mark_SetButStatus == SET)		            {		                GrUnmapWindow(WIN_But_SetPass);		                GrUnmapWindow(WIN_But_Start);		                GrUnmapWindow(WIN_But_Stop);		                GrUnmapWindow(WIN_But_Pass);		            		                GrClearWindow(WIN_But_SetPass,GR_FALSE);//变'设置'为'保存'		                GrMapWindow(WIN_But_SetPass);		                GrFillRect(WIN_But_SetPass,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                        GrText(WIN_But_SetPass,Gid_ButtonName,9,18,"保存",-1,GR_TFASCII);                                               //显示其他按钮                        GrClearWindow(WIN_But_Line,GR_FALSE);//画线                        GrMapWindow(WIN_But_Line);                        GrFillRect(WIN_But_Line,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                        GrText(WIN_But_Line,Gid_ButtonName,9,18,"画线",-1,GR_TFASCII);                                                GrClearWindow(WIN_But_Round,GR_FALSE);//画圆                        GrMapWindow(WIN_But_Round);                        GrFillRect(WIN_But_Round,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                        GrText(WIN_But_Round,Gid_ButtonName,9,18,"画圆",-1,GR_TFASCII);                                                GrClearWindow(WIN_Massage,GR_FALSE);                        GrText(WIN_Massage,Gid_Message,4,18,"X:",-1,GR_TFASCII);                        GrText(WIN_Massage,Gid_Message,4,38,"Y:",-1,GR_TFASCII);                                                GrClearWindow(WIN_Status,GR_FALSE);                        GrUnmapWindow(WIN_Status);                        						            GrClearWindow(WIN_Screen,GR_FALSE);			            QU_giReInitQueue();//清空存储区                                                Mark_SetButStatus = SAVE;			            Mark_DrawButStaPause = STOP;			                        		             }		             else if(Mark_SetButStatus == SAVE)		             {		                GrUnmapWindow(WIN_But_SetPass);		                GrUnmapWindow(WIN_But_Line);		                GrUnmapWindow(WIN_But_Round);		            		                GrClearWindow(WIN_But_SetPass,GR_FALSE);//变'保存'为'设置'		                GrMapWindow(WIN_But_SetPass);		                GrFillRect(WIN_But_SetPass,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                        GrText(WIN_But_SetPass,Gid_ButtonName,9,18,"设定",-1,GR_TFASCII);                                               //显示其他按钮                        if(Mark_DrawButStaPause == STOP)			            {			                GrMapWindow(WIN_But_Start);			                GrClearWindow(WIN_But_Start,GR_FALSE);//开始			                GrFillRect(WIN_But_Start,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                            GrText(WIN_But_Start,Gid_ButtonName,9,18,"开始",-1,GR_TFASCII);			    			                GrMapWindow(WIN_But_Stop);			                GrClearWindow(WIN_But_Stop,GR_FALSE);                            GrFillRect(WIN_But_Stop,Gid_ButtonDown,0,0,Button_Width,Button_High);//画填充矩形为按钮                            GrText(WIN_But_Stop,Gid_ButtonDownName,9,18,"停止",-1,GR_TFASCII);                        }												            if(Mark_DrawButStaPause == START)//停止                        {			                GrMapWindow(WIN_But_Start);			                GrClearWindow(WIN_But_Start,GR_FALSE);//开始			                GrFillRect(WIN_But_Start,Gid_ButtonDown,0,0,Button_Width,Button_High);//画填充矩形为按钮                            GrText(WIN_But_Start,Gid_ButtonDownName,9,18,"开始",-1,GR_TFASCII);			    			                GrMapWindow(WIN_But_Stop);			                GrClearWindow(WIN_But_Stop,GR_FALSE);                            GrFillRect(WIN_But_Stop,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                            GrText(WIN_But_Stop,Gid_ButtonName,9,18,"停止",-1,GR_TFASCII);                        }						                        GrClearWindow(WIN_But_Pass,GR_FALSE);//循迹                        GrMapWindow(WIN_But_Pass);                        GrFillRect(WIN_But_Pass,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                        GrText(WIN_But_Pass,Gid_ButtonName,9,18,"循迹",-1,GR_TFASCII);						            GrClearWindow(WIN_Massage,GR_FALSE);			            GrFillRect(WIN_Massage,Gid_Button,0,0,40,20);//画填充矩形为按钮                        GrText(WIN_Massage,Gid_Message,4,18,"X:",-1,GR_TFASCII);                        GrText(WIN_Massage,Gid_Message,4,38,"Y:",-1,GR_TFASCII);                                                GrClearWindow(WIN_Status,GR_FALSE);                        GrMapWindow(WIN_Status);                        GrFillRect(WIN_Status,Gid_Yellow_Yellow,0,0,50,25);//画填充矩形为按钮                        GrText(WIN_Status,Gid_Black_Yellow,10,18,"停止",-1,GR_TFASCII);                                                arry_x[0]='X';			            arry_x[1]=':';			            arry_x[2]=((Current_x)/2)/100+'0';			            arry_x[3]=(((Current_x)/2)%100)/10+'0';			            arry_x[4]=((Current_x)/2)%10+'0';			            arry_x[5]='C';                        arry_x[6]='M';			            arry_x[7]='\0';			    			            arry_y[0]='Y';			            arry_y[1]=':';			            arry_y[2]=((Current_y)/2)/100+'0';			            arry_y[3]=(((Current_y)/2)%100)/10+'0';			            arry_y[4]=((Current_y)/2)%10+'0';			            arry_y[5]='C';                        arry_y[6]='M';			            arry_y[7]='\0';			    			            GrClearWindow(WIN_Massage,GR_FALSE);                                            GrFillRect(WIN_Massage,Gid_Button,0,0,60,20);//画填充矩形为按钮                        GrText(WIN_Massage,Gid_Message,4,18,arry_x,-1,GR_TFASCII);                        GrText(WIN_Massage,Gid_Message,4,38,arry_y,-1,GR_TFASCII);                                                GrPoint(WIN_Screen,Gid_Red_Red,Real_x(Current_x),Real_y(Current_y));                                                Mark_SetButStatus = SET;                        Mark_DrawButStatus = NONE;                        X_sit = -1;                        Y_sit = -1;                        		             }                     Mark_OBStatus = STOP;			        		         }		        if(Event.button.wid==WIN_But_Pass)		        {		            GrClearWindow(WIN_But_Pass,GR_FALSE);//循迹                                       GrFillRect(WIN_But_Pass,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                    GrText(WIN_But_Pass,Gid_ButtonName,9,18,"循迹",-1,GR_TFASCII);		            Mark_OBStatus = STOP;		        }		        if(Event.button.wid==WIN_But_Start)		        {			        GrClearWindow(WIN_But_Stop,GR_FALSE);//停止                    GrFillRect(WIN_But_Stop,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                    GrText(WIN_But_Stop,Gid_ButtonName,9,18,"停止",-1,GR_TFASCII);			        Mark_DrawButStaPause = START;                    Mark_OBStatus = START;		        }		        if(Event.button.wid==WIN_But_Stop)		        {			        GrClearWindow(WIN_But_Start,GR_FALSE);//开始                    GrFillRect(WIN_But_Start,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                    GrText(WIN_But_Start,Gid_ButtonName,9,18,"开始",-1,GR_TFASCII);                                        GrClearWindow(WIN_Status,GR_FALSE);                    GrFillRect(WIN_Status,Gid_Yellow_Yellow,0,0,50,25);//画填充矩形为按钮                    GrText(WIN_Status,Gid_Black_Yellow,10,18,"停止",-1,GR_TFASCII);                    		            Mark_DrawButStaPause = STOP;                    Mark_OBStatus = STOP;		        }		        if(Event.button.wid==WIN_But_Line)		        {		            GrClearWindow(WIN_But_Line,GR_FALSE);//画线                    GrFillRect(WIN_But_Line,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                    GrText(WIN_But_Line,Gid_ButtonName,9,18,"画线",-1,GR_TFASCII);                    GrClearWindow(WIN_Screen,GR_FALSE);		    		            GrClearWindow(WIN_Massage,GR_FALSE);			        GrFillRect(WIN_Massage,Gid_Button,0,0,40,20);//画填充矩形为按钮                    GrText(WIN_Massage,Gid_Message,4,18,"X:",-1,GR_TFASCII);                    GrText(WIN_Massage,Gid_Message,4,38,"Y:",-1,GR_TFASCII);			                    Mark_DrawButStatus = LINE;                    X_sit = -1;                    Y_sit = -1;			        QU_giReInitQueue();//清空存储区		        }		        if(Event.button.wid==WIN_But_Round)		        {		            GrClearWindow(WIN_But_Round,GR_FALSE);//画圆                    GrFillRect(WIN_But_Round,Gid_Button,0,0,Button_Width,Button_High);//画填充矩形为按钮                    GrText(WIN_But_Round,Gid_ButtonName,9,18,"画圆",-1,GR_TFASCII);		    		            GrClearWindow(WIN_Massage,GR_FALSE);			        GrFillRect(WIN_Massage,Gid_Button,0,0,40,20);//画填充矩形为按钮                    GrText(WIN_Massage,Gid_Message,4,18,"X:",-1,GR_TFASCII);                    GrText(WIN_Massage,Gid_Message,4,38,"Y:",-1,GR_TFASCII);                                        GrClearWindow(WIN_Screen,GR_FALSE);                    Mark_DrawButStatus = ROUNTD;                    X_sit = -1;                    Y_sit = -1;			        QU_giReInitQueue();//清空存储区		        }		    }		    if(Mark_OBStatus == START)	        {	            GrClearWindow(WIN_Status,GR_FALSE);                GrFillRect(WIN_Status,Gid_Green_Green,0,0,50,25);//画填充矩形为按钮                GrText(WIN_Status,Gid_Black_Green,5,18,"行进中",-1,GR_TFASCII);                                if((X_Y_pos = QU_giGetDataFromQueue()) == -1)                {                    Mark_OBStatus = ARRIVED;                }                else if(X_Y_pos >= 0)                {                    CM_gvGoTo(X_Y_pos);                    Current_x = X_Y_pos%1000;                    Current_y = X_Y_pos/1000;                    if(Mark_SetButStatus == SET)	                {	                    arry_x[0]='X';                        arry_x[1]=':';			            arry_x[2]=((Current_x)/2)/100+'0';			            arry_x[3]=(((Current_x)/2)%100)/10+'0';			            arry_x[4]=((Current_x)/2)%10+'0';			            arry_x[5]='C';                        arry_x[6]='M';			            arry_x[7]='\0';			            arry_y[0]='Y';			            arry_y[1]=':';			            arry_y[2]=((Current_y)/2)/100+'0';			            arry_y[3]=(((Current_y)/2)%100)/10+'0';			            arry_y[4]=((Current_y)/2)%10+'0';			            arry_y[5]='C';                        arry_y[6]='M';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -