亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 實現觸摸屏幕對實驗平臺上直流電機的控制,開發環境是ads1.2,平臺是博創的3000平臺.
?? C
字號:
#include"..\ucos-ii\includes.h"               /* uC/OS interface */
#include "..\ucos-ii\add\osaddition.h"
#include "..\inc\drv.h"
#include <string.h>
#include"..\inc\drv\ad.h"
#include "motorctrl.h"

#pragma import(__use_no_semihosting_swi)  // ensure no functions that use semihosting 
#define MOTOR_SEVER_FRE		1000		//20kHz
#define MOTOR_CONT				(MCLK/2/2/MOTOR_SEVER_FRE)
#define MOTOR_MID				(MOTOR_CONT/2)

#define ADCCON_FLAG		0x40
#define ADCCON_SLEEP		0x20

#define ADCCON_ADIN0		(0x0<<2)
#define ADCCON_ADIN1		(0x1<<2)
#define ADCCON_ADIN2		(0x2<<2)
#define ADCCON_ADIN3		(0x3<<2)
#define ADCCON_ADIN4		(0x4<<2)
#define ADCCON_ADIN5		(0x5<<2)
#define ADCCON_ADIN6		(0x6<<2)
#define ADCCON_ADIN7		(0x7<<2)

#define ADCCON_READ_START	0x2
#define ADCCON_ENABLE_START	0x1

#define ID_ChannelTextCtrl 101
#define ID_ValueTextCtrl 102
#define Draw_Wnd_ID 104
#define Line_Button_ID	105
#define Circle_Button_ID	106
#define Curve_Button_ID	107
PTextCtrl pChannelTextCtrl,pValueTextCtrl;
float result_AD0,result_AD1,result_AD2,result_AD3;
int WarnningData[1]={5000};
int edit;
int j=0;
int ADData;
int ADData1; 
int a=0;
int b=0;
///******************任務定義***************///
OS_STK Main_Stack[STACKSIZE*8]={0, };   //Main_Test_Task堆棧
void Main_Task(void *Id);             //Main_Test_Task
#define Main_Task_Prio     12

OS_STK Display_Task_Stack[STACKSIZE*8]={0, };   //Main_Test_Task堆棧
void Display_Task(void *Id);             //Main_Test_Task
#define Display_Task_Prio     20

OS_STK AD3_Task_Stack[STACKSIZE*8]={0, };   //Main_Test_Task堆棧
void AD3_Task(void *Id);             //Main_Test_Task
#define AD3_Task_Prio     24

/**************已經定義的OS任務*************
tcp監控任務		11
以太網物理層監控任務	8
觸摸屏任務		9
鍵盤任務		10
lcd刷新任務		59
系統任務		1
*****************************************************/

///*****************事件定義*****************///
OS_EVENT *Nand_Rw_Sem;                   //Nand_Flash讀寫控制權旗語
//and you can use it as folloeing:
//    Nand_Rw_Sem=OSSemCreate(1);        //創建Nand-Flash讀寫控制權旗語,初值為1滿足互斥條件//
//    OSSemPend(Nand_Rw_Sem,0,&err);
//    OSSemPost(Nand_Rw_Sem);

OS_EVENT *Uart_Rw_Sem;                   //Uart讀寫控制權旗語
//and you can use it as folloeing:
//    Uart_Rw_Sem=OSSemCreate(1);        //創建Uart讀寫控制權旗語,初值為1滿足互斥條件//
//    OSSemPend(Uart_Rw_Sem,0,&err);
//    OSSemPost(Uart_Rw_Sem);
//////////////////////////////////////////////////////////
int GetADresult(int channel)
{
	rADCCON=(channel<<2)|ADCCON_ENABLE_START;
	Delay(10);
	while(!(rADCCON&ADCCON_FLAG));//轉換結束
	return rADCDAT;//返回采樣值

}

void initOSGUI()	//初始化操作系統的圖形界面
{
	initOSMessage();
	initOSList();
	initOSDC();
	initOSCtrl();
	initOSFile();
}
/////////////////////////////////////////////////////
//                  Main function.                //
////////////////////////////////////////////////////

int main(void)
{   
	
	ARMTargetInit(); //開發板初始化
	OSInit(); //操作系統初始化      
	uHALr_ResetMMU();//復位MMU
	LCD_Init();             //初始化LCD模塊
	LCD_printf("LCD initialization is OK\n");//向液晶屏輸出數據
	LCD_printf("320 x 240  Text Mode\n");
	initOSGUI();//初始化圖形界面
	LoadFont();//調Unicode字庫
	LoadConfigSys();//使用config.sys文件配置系統設置
	LCD_printf("Create task on uCOS-II...\n");
	OSTaskCreate(Main_Task,  (void *)0,  (OS_STK *)&Main_Stack[STACKSIZE*8-1],  Main_Task_Prio);// 創建系統任務
	OSTaskCreate(AD3_Task,(void *)0,  (OS_STK *)&AD3_Task_Stack[STACKSIZE-1],  AD3_Task_Prio);
	OSTaskCreate(Display_Task,(void *)0,  (OS_STK *)&Display_Task_Stack[STACKSIZE-1],  Display_Task_Prio);// 20
	OSAddTask_Init();//創建系統附加任務
	LCD_printf("Starting uCOS-II...\n");
	LCD_printf("Entering graph mode...\n");
	LCD_ChangeMode(DspGraMode);//變LCD顯示模式為文本模式
	InitRtc();//初始化系統時鐘
	Nand_Rw_Sem=OSSemCreate(1);   //創建Nand-Flash讀寫控制權旗語,初值為1滿足互斥條件//
	OSStart();//操作系統任務調度開始
	//不會執行到這里
	return 0;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//void init_ADdevice()
//{
	//rADCPSR=20;
	//rADCCON=ADCCON_SLEEP;
//}

U8 onKey(int nkey, int fnkey)
{
	static BOOLEAN input=FALSE;
	static int EditNumber=1;
	 if(EditNumber==1)
	{
		switch(nkey)
		{	
		case 14://OK
			if(!input)
			{
				SetWndCtrlFocus(NULL, ID_ValueTextCtrl);
				pValueTextCtrl->text[0]=0;  //清空文本框
				SetTextCtrlEdit(pValueTextCtrl, TRUE);
				DrawTextCtrl(pValueTextCtrl);
				input=TRUE;
				edit=1;
			}
			else
			{
				SetTextCtrlEdit(pValueTextCtrl, FALSE);
				DrawTextCtrl(pValueTextCtrl);
				input=FALSE;
				edit=0;
				EditNumber=1;
				
				WarnningData[ Unicode2Int(pChannelTextCtrl->text)]=Unicode2Int(pValueTextCtrl->text);
				 ADData=WarnningData[ Unicode2Int(pChannelTextCtrl->text)];
			}
			
			return TRUE;
		case 17://Cancel
			SetTextCtrlEdit(pValueTextCtrl, FALSE);
			DrawTextCtrl(pValueTextCtrl);
			input=FALSE;
			edit=0;
			EditNumber=1;
			return TRUE;
		}
	}
	return FALSE;
}

void Main_Task(void *Id)             //Main_Test_Task
{
	init_ADdevice(20,ADCCON_SLEEP);
	for(;;)
	{	
	 	POSMSG pMsg;
		POS_Ctrl pCtrl;
		pMsg=WaitMessage(0);
		if(pMsg->pOSCtrl)
		{
			if(pMsg->pOSCtrl->CtrlMsgCallBk)
				(*pMsg->pOSCtrl->CtrlMsgCallBk)(pMsg);
		}
		else
		{
			switch(pMsg->Message)
			{
			case OSM_KEY:
				pCtrl=GetCtrlfromID(NULL, GetWndCtrlFocus(NULL));
				if(pCtrl->CtrlType==CTRLTYPE_WINDOW)
				{
					if((((PWnd)pCtrl)->style&WND_STYLE_MODE)==WND_STYLE_MODE)
					{
						//焦點是有模式窗口,消息直接傳遞過去
						OSOnSysMessage(pMsg);
						break;
					}
				}
				if(onKey(pMsg->WParam,pMsg->LParam) )
					break;
			default:
				OSOnSysMessage(pMsg);
				break;
			}
		}
		DeleteMessage(pMsg);
		OSTimeDly(200);
	}
}

void Display_Task(void * Id)            //Main_Test_Task
{   
	
     POSMSG pMsg1;
	int warnning[1]={1};
	BOOLEAN IsEdit=0;
	PDC pdc;
	structPOINT Touch_Position,*pTouch_Position;
	ButtonCtrl Line_Button,Circle_Button,Curve_Button;
	PButtonCtrl pLine_Button,pCircle_Button,pCurve_Button;
	
	structRECT Line_Button_RECT,Circle_Button_RECT,Curve_Button_RECT;
	structRECT *pLine_Button_RECT,*pCircle_Button_RECT,*pCurve_Button_RECT;
	structRECT ChannelTextCtrl_Rect,ValueTextCtrl_Rect;
	
	char Line_Button_Caption_8[]="up";
	char Circle_Button_Caption_8[]="down";
	char Curve_Button_Caption_8[]="stop";
	char Value_Caption_8[10]="speed:";
	
	
	
	U16 Line_Button_Caption_16[20];
	U16 Circle_Button_Caption_16[20];
	U16 Curve_Button_Caption_16[20];
	u16 Value_Caption_16[10];
	
	pTouch_Position=&Touch_Position;
	pLine_Button=&Line_Button;
	pCircle_Button=&Circle_Button;
	pCurve_Button=&Curve_Button;
	
	pLine_Button_RECT=&Line_Button_RECT;
	pCircle_Button_RECT=&Circle_Button_RECT;
	pCurve_Button_RECT=&Curve_Button_RECT;
	
	strChar2Unicode(Line_Button_Caption_16, Line_Button_Caption_8);
	strChar2Unicode(Circle_Button_Caption_16, Circle_Button_Caption_8);
	strChar2Unicode(Curve_Button_Caption_16, Curve_Button_Caption_8);
	
	Line_Button_RECT.bottom=70;
	Line_Button_RECT.left=110;
	Line_Button_RECT.right=160;
	Line_Button_RECT.top=30;
	
	Circle_Button_RECT.bottom=120;
	Circle_Button_RECT.left=110;
	Circle_Button_RECT.right=160;
	Circle_Button_RECT.top=80;
	
	Curve_Button_RECT.bottom=170;
	Curve_Button_RECT.left=110;
	Curve_Button_RECT.right=160;
	Curve_Button_RECT.top=130;
	
	
	pLine_Button=CreateButton(Line_Button_ID, pLine_Button_RECT, FONTSIZE_SMALL, CTRL_STYLE_3DDOWNFRAME, Line_Button_Caption_16, NULL);
	pCircle_Button=CreateButton(Circle_Button_ID, pCircle_Button_RECT, FONTSIZE_SMALL, CTRL_STYLE_3DDOWNFRAME, Circle_Button_Caption_16, NULL);
	pCurve_Button=CreateButton(Curve_Button_ID, pCurve_Button_RECT, FONTSIZE_SMALL, CTRL_STYLE_3DDOWNFRAME, Curve_Button_Caption_16, NULL);
	
	pdc=CreateDC();
	strChar2Unicode(Value_Caption_16, Value_Caption_8);
	SetRect(&ValueTextCtrl_Rect, 10,125,55,150);
	pChannelTextCtrl=CreateTextCtrl(ID_ChannelTextCtrl, &ChannelTextCtrl_Rect, FONTSIZE_MIDDLE, CTRL_STYLE_FRAME, NULL,NULL);
	pValueTextCtrl=CreateTextCtrl(ID_ValueTextCtrl, &ValueTextCtrl_Rect, FONTSIZE_MIDDLE, CTRL_STYLE_FRAME, NULL,NULL);
	ClearScreen();
	
	DrawTextCtrl(pChannelTextCtrl);
	DrawTextCtrl(pValueTextCtrl);
	DrawButton(pLine_Button);
	DrawButton(pCircle_Button);
	DrawButton(pCurve_Button);
	
	
	for(;;)
	{   
		 
	   
		TextOut(pdc, 10, 110, Value_Caption_16, TRUE, FONTSIZE_SMALL);
		Uart_Printf("ADData=%d\n",ADData);
	    pMsg1=WaitMessage(0);
	    switch(pMsg1->Message)
		{
			case OSM_TOUCH_SCREEN:
				Touch_Position.x=pMsg1->WParam&0xffff;
				Touch_Position.y=pMsg1->WParam>>16;
		if(IsInRect2(pLine_Button_RECT, pTouch_Position))

			{
			  a++;
			  Uart_Printf("a=%d\n",a);
			
			}
		else if(IsInRect2(pCircle_Button_RECT, pTouch_Position))
				{
						b++;
					 Uart_Printf("b=%d\n",b);
				}
				else if(IsInRect2(pCurve_Button_RECT, pTouch_Position))
				{
					j++;
					 Uart_Printf("j=%d\n",j);
				}
				
		DeleteMessage(pMsg1);
		OSTimeDly(500);
	}
	}
	
}

void AD3_Task(void *Id)
{ 
	POSMSG pMsg2;
for(;;)
{


 pMsg2=WaitMessage(0);
 init_MotorPort();
ADData1=GetADresult(1);
Delay(10);
SetPWM((ADData-512)*MOTOR_CONT/1024);
Delay(10);
Uart_Printf("ADData1=%d\n",ADData1);
DeleteMessage(pMsg2);
OSTimeDly(100);

}
}		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产白丝网站精品污在线入口| 欧美精品久久久久久久多人混战 | kk眼镜猥琐国模调教系列一区二区 | 波多野结衣在线一区| 欧美做爰猛烈大尺度电影无法无天| 日韩欧美一区电影| 亚洲成人av在线电影| 不卡的av中国片| 久久久久久免费| 美日韩一区二区三区| 在线观看一区不卡| 国产精品久久久久久久久晋中 | 亚洲国产日韩精品| 成人黄页在线观看| 久久久久久久久久电影| 午夜不卡在线视频| 欧美色老头old∨ideo| 国产精品美女一区二区三区| 久久99精品国产麻豆婷婷洗澡| 欧美在线制服丝袜| 亚洲摸摸操操av| 色婷婷精品大视频在线蜜桃视频| 中文在线资源观看网站视频免费不卡| 精品中文字幕一区二区| 欧美一区二区在线免费播放| 婷婷综合久久一区二区三区| 欧美三区在线观看| 亚洲国产日韩在线一区模特| 在线免费视频一区二区| 亚洲自拍与偷拍| 欧美日韩在线播放| 午夜精品在线视频一区| 欧美精品免费视频| 日本在线不卡视频一二三区| 日韩午夜av一区| 久久se这里有精品| 精品国一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 精品对白一区国产伦| 国产精品99久久久久久似苏梦涵 | 亚洲精品乱码久久久久久久久| 91在线无精精品入口| 亚洲精品免费播放| 欧美三级视频在线播放| 秋霞国产午夜精品免费视频| 欧美不卡一二三| 国产福利91精品一区二区三区| 国产精品视频你懂的| 色婷婷综合久色| 日韩精品国产精品| 久久久91精品国产一区二区三区| 国产二区国产一区在线观看| 欧美激情一区二区三区全黄| 色综合亚洲欧洲| 亚洲成人动漫av| 久久久久亚洲蜜桃| 91首页免费视频| 午夜成人免费视频| 国产日韩影视精品| 色妹子一区二区| 久久精品国产亚洲高清剧情介绍 | 亚洲另类一区二区| 欧美一区二区视频观看视频 | 久久综合久久综合久久综合| 国产成人免费视| 亚洲黄色片在线观看| 精品久久久久香蕉网| 99热在这里有精品免费| 日韩精品亚洲专区| 国产精品免费视频观看| 欧美高清性hdvideosex| 成人自拍视频在线观看| 性久久久久久久| 国产精品色哟哟网站| 欧美男男青年gay1069videost | 蜜桃久久精品一区二区| 中文字幕的久久| 欧美一区二区免费视频| 成人免费黄色大片| 久久精品国产精品亚洲红杏| 国产精品国产三级国产aⅴ无密码| 欧美日韩精品一区二区| 成人激情黄色小说| 经典三级在线一区| 亚洲国产精品久久一线不卡| 欧美激情中文字幕| 欧美成人欧美edvon| 在线看国产一区二区| 丁香六月综合激情| 久久精品99国产国产精| 一区二区三区在线观看视频 | 丁香婷婷深情五月亚洲| 天天色图综合网| 亚洲日本在线a| 国产日韩欧美综合一区| 日韩欧美国产1| 欧美久久久一区| 色综合久久久久综合99| 高清beeg欧美| 极品瑜伽女神91| 六月丁香综合在线视频| 首页国产欧美日韩丝袜| 亚洲国产一区二区三区青草影视 | 久久综合一区二区| 在线成人高清不卡| 欧美日韩中文精品| 在线观看av不卡| 色哟哟日韩精品| 97久久超碰国产精品| 99精品偷自拍| www.99精品| 色综合天天做天天爱| 波多野结衣亚洲| 91免费视频网| 一本久久综合亚洲鲁鲁五月天 | 亚洲欧美怡红院| 国产视频一区二区在线| 欧美国产1区2区| 国产精品毛片久久久久久久| 中文字幕一区在线观看| 国产精品成人一区二区艾草 | 91免费在线播放| 色综合天天综合网天天狠天天| 成人av免费在线| 99精品桃花视频在线观看| 97久久超碰国产精品| 色狠狠色噜噜噜综合网| 欧美美女bb生活片| 日韩精品一区二区三区视频在线观看| 欧美一级理论片| 久久先锋影音av| 一区二区中文字幕在线| 一区二区三区免费观看| 日本伊人色综合网| 国产综合一区二区| 不卡av在线网| 欧美日韩亚州综合| 精品日韩一区二区三区 | 成人教育av在线| 色哟哟国产精品| 欧美精品高清视频| 国产视频一区二区三区在线观看| 国产精品美女久久久久aⅴ国产馆| 亚洲激情男女视频| 久久福利资源站| 91啪九色porn原创视频在线观看| 欧美中文字幕久久| 精品免费日韩av| 中文字幕中文字幕一区二区| 舔着乳尖日韩一区| 韩国女主播成人在线观看| 99精品视频在线观看免费| 欧美日韩另类一区| 国产精品天干天干在观线| 亚洲大片在线观看| 成人永久aaa| 制服.丝袜.亚洲.另类.中文| 中文成人综合网| 日韩中文字幕不卡| 99久久精品免费精品国产| 欧美一级视频精品观看| 亚洲欧美国产高清| 国产精品一二三四五| 欧美日产国产精品| 亚洲视频中文字幕| 精品一区二区三区久久| 欧美性大战久久久久久久| 国产午夜一区二区三区| 日韩在线卡一卡二| 色欧美乱欧美15图片| 国产欧美综合色| 免费不卡在线视频| 欧美日韩一级片网站| 国产精品久99| 国产成人精品免费看| 欧美丰满高潮xxxx喷水动漫| 亚洲欧洲制服丝袜| 国产成人aaaa| 久久精品亚洲国产奇米99| 视频一区二区欧美| 欧美亚洲免费在线一区| 国产精品国产三级国产三级人妇| 黄色精品一二区| 在线播放日韩导航| 亚洲国产婷婷综合在线精品| 99国产麻豆精品| 国产精品久久久久久户外露出| 国产乱对白刺激视频不卡| 91精品国产福利在线观看| 亚洲午夜一区二区| 91国在线观看| 夜夜嗨av一区二区三区四季av| 99热在这里有精品免费| 日本一区二区三区视频视频| 国产伦精品一区二区三区免费| 日韩午夜激情电影| 蜜臀va亚洲va欧美va天堂| 日韩免费视频线观看| 蜜臀av国产精品久久久久| 欧美mv和日韩mv的网站|