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

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

?? dtk_bpd_motor.c

?? dsp2812的電機調速例子程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*SEED-DTK BPD */
/*SEED耿升輝*/
/*2004.12*/
#include "DSP28_Device.h"
#include "comm.h"
#include "ext_inf.h"
/*幀長度的設定*/

typedef struct _UartForDec5416{
	unsigned int Length;
	unsigned int Type;
	unsigned int Mutul;
	unsigned int Data[DataLongth];
	unsigned int Check;
}UartForDec5416, *PuartForDec5416;
PuartForDec5416 precieve =0;	
PuartForDec5416 psend=0;
unsigned int uart[0x104] ={0};
unsigned int uarts[0x104] = {0};
unsigned int uartsdata = 0;
unsigned int uarta_recbuff[1040];///*串口A接收緩沖區*/
unsigned int uartb_recbuff[1040];/*串口B接收緩沖區*/
int uart_s=0;
unsigned int sys_statbuff[32];
int uart_recive(void);
int uart_send(void);
unsigned int i,j;
void sys_reset(void);
unsigned int CommandSave=0;
unsigned int DcMotorChangeConv=0;
unsigned int step = 0;
unsigned int steplong = 0;
unsigned int steplongsave = 0;
unsigned int localstep =0;
unsigned int dcmotorrun = 0;
volatile unsigned int dcdircontrl = 0;
unsigned int stepruncode = 0;
unsigned int stepspeed = 10;
unsigned int stepspeedsave = 0;
unsigned int dcruncode = 0;
unsigned int stepnumber = 0;
#define  DCMOTORFORWARD   0x2
#define  DCMOTORINVESE    0x1
#define  DCMOTORBRAKE     0x03
#define  DCMOTORHALT		0x0
#define MOTORBUFF      0
#define MPLUSCHANGE    1
#define MPLUSSET       2
#define MPLUSCOUNT     3
#define MRATEBASE      4
#define MOTOPWMC       5
#define MOTORPWMZ      6
/*定義擴展總線存儲器空間頁地址寄存器地址為0x004020*/
volatile unsigned int* p_ceselect=(volatile unsigned int *)0x004020;
volatile unsigned int* p_cntlreg=(volatile unsigned int *)0x004018;

volatile unsigned int* p_stepportaddr=(volatile unsigned int *)0x080001;
volatile unsigned int* p_cntlbaseaddr=(volatile unsigned int *)0x080003;
volatile unsigned int write_data =0;
volatile unsigned int motorset[6] ={0,0,0,10,0,0};
volatile unsigned int motorstatus[10];
PMotorConfig pmotor = 0;
#define SELECTCE3 0x6
#define SELECTCE0 0x0
/*電機驅動碼*/
/*全步正轉*/
unsigned int motorstepall[48] ={8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1,\
								8,2,4,1};
/*全步反轉*/
unsigned int motorstepalln[48]={8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2,\
								8,1,4,2};								
/*半步正轉*/								
unsigned int motorstephalf[96] ={8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9,\
								 8,0xa,2,6,4,5,1,9};
/*半步反轉*/
unsigned int motorstephalfn[96]={8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa,\
								 8,9,1,5,4,6,2,0xa};
								 /********************************************************************************/
/*																				*/
/* 函數定義:void _dcmotor_control(uint portdata)					  			*/
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- 要寫入的數據												*/
/* 出口參數:	無																*/
/* 資源使用:AR0 	       														*/
/*																				*/
/********************************************************************************/
void dcmotor_control(unsigned int data);
/********************************************************************************/
/*																				*/
/* 函數定義:void _dcmotor_pluswithset(uint portdata)    	  					*/
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- 要寫入的占空比											*/
/* 出口參數:	   1、占空比未重設												*/
/*              0、占空比已重設                                                 */
/* 資源使用:AR0 	       														*/
/*																				*/
/********************************************************************************/
int dcmotor_pluswithset(unsigned int data);
/********************************************************************************/
/*																				*/
/* 函數定義:void _dcmotor_start(uint portdata)           	  					*/
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- 要寫入的占空比											*/
/* 出口參數:	   1、占空比未重設												*/
/*              0、占空比已重設                                                 */
/* 資源使用:AR0 	       														*/
/*																				*/
/********************************************************************************/
void dcmotor_start();
/********************************************************************************/
/*																				*/
/* 函數定義:void _dcmotor_out(uint data)                	  					*/
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- enable the PWM out 							    		*/
/* 出口參數:	  NONe                                              			*/
/* 資源使用:AR0 	       														*/
/*																				*/
/********************************************************************************/
void dcmotor_out(unsigned int data);
/********************************************************************************/
/*																				*/
/* 函數定義:void _stepmotor_set(uint portdata)           	  					*/
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- 要寫入的拍數												*/
/* 出口參數:	無                                                              */
/* 資源使用:AR0 	       														*/
/*																				*/
/********************************************************************************/
void stepmotor_set(unsigned int data);
/********************************************************************************/
/*																				*/
/* 函數定義:void _delay(uint portdata)           	  					        */
/* 功    能:系統設置                											*/
/*																				*/
/* 入口參數:	A---- 要寫入的占空比											*/
/* 出口參數:    NO                                                              */
/*																				*/
/********************************************************************************/
void delay(unsigned int data);  
void stepdelay(unsigned int dcmotorrun);
void timer_dcmotor(void);
void change_time_dcmotor(void);

void main(void)
{

	
	/*初始化系統*/
	InitSysCtrl();

	/*關中斷*/
	DINT;
	IER = 0x0000;
	IFR = 0x0000;

	/*初始化PIE中斷*/
	InitPieCtrl();

	/*初始化PIE中斷矢量表*/
	InitPieVectTable();	
	
	/*初始化SCIA寄存器*/
    InitSci();
    
    for(i= 0; i<0x104;i++)
	{
		uart[i] = 0x5555;
		uarts[i] = 0x5555;
	}
	for(i=0;i<32;i++)
	{
		sys_statbuff[i]=0;//系統標志buff清0
	}	  
    CommandSave=0;
    
    #if SCIA_INT
	/*設置中斷服務程序入口地址*/
	EALLOW;	// This is needed to write to EALLOW protected registers
	PieVectTable.TXAINT = &SCITXINTA_ISR;
	PieVectTable.RXAINT = &SCIRXINTA_ISR;
	EDIS;   // This is needed to disable write to EALLOW protected registers

	/*開中斷*/
	IER |= M_INT9;
	#endif
	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM
	
	
	LED1_ON;
	*LED3=0;

	/*實驗主控程序*/
   	psend =  (PuartForDec5416)(&uarts[0]);
	precieve = (PuartForDec5416)(&uart[0]);
	pmotor = (PMotorConfig)(&motorset[0]);
	
	/*通知主機,系統準備好*/
	psend->Length = FRAMLONGTH;
	psend->Type = UARTCOMMAND;
	psend->Data[0] = INITOVER;
	psend->Mutul = UARTCONT;
	uart_send();
	

	for(;;)
	{		
		uart_s =uart_recive();
/* 返回值          0:接受完成  				        				          */
/*                 1:數據未準備好                                            */
/*                 3: 較驗出錯                                                */
				
		
		
        /*接收從主機的數據*/
		precieve = (PuartForDec5416)(&uart[0]);
		switch(precieve->Data[0])
		{
			/*電機設置*/
			case MTRCONFIG:
				for( i = 1; i<7 ; i++)
				{
					motorset[i-1] = precieve->Data[i];
				}
				precieve->Data[0] = 0;
				if(dcruncode == 1)
				{
					precieve->Data[0] = DCMTRRUN;
					break;	
				}
				if(stepruncode == STPMTRRUN)
				{
					precieve->Data[0] = STPMTRRUN;	
				}
				break;
			
			/*直流電機運行*/
			case DCMTRRUN:
				/*設置電機的工作方式*/
				if(pmotor->DcDir == CLOCKWISE)
				{
					dcdircontrl = 1;	
				}
				else
				{
					dcdircontrl = 2;
				}

				write_data=dcdircontrl;
				*p_ceselect = SELECTCE3;//打開ce3空間				
				*p_cntlbaseaddr=write_data;
				
				/*設置電機的轉速*/
				
				motorstatus[MPLUSSET]=pmotor->DcSpd*0.7+150;
				motorstatus[MPLUSCOUNT]=pmotor->DcSpd*0.7+150;				
				motorstatus[MOTORPWMZ]=0;
						
				
				/*啟動電機*/			

				motorstatus[MRATEBASE]=500;	
				motorstatus[MOTOPWMC]=500;
				*p_cntlreg=3;//cntl0=1
			
				/*使能電機*/
				dcmotorrun = 1;
				precieve->Data[0] = 0;
				if(stepruncode == STPMTRRUN)
				{
					precieve->Data[0] = STPMTRRUN;	
				}
				dcruncode = 1;
				break;
			
			/*直流電機反向*/	
			case DCMTRRVS:
				/*設置電機的工作方式*/
				if(pmotor->DcDir == CLOCKWISE)
				{
					pmotor->DcDir = ANTICLOCKWISE;	
				}
				else
				{
					pmotor->DcDir = CLOCKWISE;
				}
				precieve->Data[0] = DCMTRRUN;
				break;					
			/*直流電機剎車*/	//命令有錯位,這里是反向命令。	
			case DCMTRBRK:
				/*設置電機的工作方式*/
				if(pmotor->DcDir == CLOCKWISE)
				{
					pmotor->DcDir = ANTICLOCKWISE;	
				}
				else
				{
					pmotor->DcDir = CLOCKWISE;
				}
				precieve->Data[0] = DCMTRRUN;
				break;	
			/*直流電機停*/
			case DCMTRSLWDWN:
				write_data=DCMOTORHALT;
				*p_ceselect = SELECTCE3;//打開ce3空間 				
				*p_cntlbaseaddr=write_data;
				
				
				dcmotorrun = 0;
				dcruncode =0;
				precieve->Data[0] = 0;
				break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
无码av中文一区二区三区桃花岛| 国产在线播放一区二区三区| 亚洲日本在线天堂| 亚洲综合久久久久| 久久99九九99精品| 国产一区二区福利| 色999日韩国产欧美一区二区| 欧美中文一区二区三区| 欧美大片国产精品| 一区二区三区在线免费观看| 免费人成在线不卡| 一本色道久久加勒比精品| 91精品国产色综合久久不卡蜜臀| 中文av一区二区| 日日摸夜夜添夜夜添国产精品| 亚洲第一二三四区| av成人老司机| 欧美大片在线观看| 日韩精品电影在线观看| 欧美视频在线一区二区三区| 亚洲欧美日韩成人高清在线一区| 国产麻豆精品久久一二三| 6080yy午夜一二三区久久| 亚洲免费观看高清完整版在线观看| 福利一区二区在线| 国产婷婷色一区二区三区| 韩国毛片一区二区三区| 日韩一区二区三区在线观看| 秋霞影院一区二区| 日韩一区二区精品葵司在线| 日韩va欧美va亚洲va久久| 欧美丰满嫩嫩电影| 午夜国产不卡在线观看视频| 欧美日韩视频在线第一区| 午夜一区二区三区在线观看| 欧美日韩亚洲综合一区二区三区| 亚洲综合一区二区| 欧美色欧美亚洲另类二区| 一区二区久久久久| 欧美日韩黄色一区二区| 丝袜亚洲另类丝袜在线| 欧美巨大另类极品videosbest | 免费成人深夜小野草| 91精品在线观看入口| 奇米在线7777在线精品| 精品黑人一区二区三区久久| 国产中文字幕一区| 欧美极品aⅴ影院| 不卡区在线中文字幕| 亚洲美女区一区| 欧美日韩国产精品成人| 麻豆91精品视频| 国产色一区二区| jizz一区二区| 亚洲一区二区高清| 日韩一级高清毛片| 成人免费黄色在线| 亚洲国产婷婷综合在线精品| 91精品国产综合久久香蕉麻豆| 蜜桃传媒麻豆第一区在线观看| 久久欧美一区二区| 99久久久久久99| 日韩黄色一级片| 国产日韩欧美制服另类| 日本韩国视频一区二区| 日韩精品五月天| 国产午夜精品一区二区三区嫩草| 91视频国产观看| 美女在线视频一区| 亚洲婷婷综合久久一本伊一区| 欧美精品久久久久久久多人混战 | yourporn久久国产精品| 午夜精品福利一区二区三区蜜桃| 欧美精品一区二区三区很污很色的| 国产白丝精品91爽爽久久| 亚洲国产视频网站| 国产片一区二区| 91精品国产日韩91久久久久久| 成人视屏免费看| 热久久免费视频| 中文字幕在线观看一区| 666欧美在线视频| 91女厕偷拍女厕偷拍高清| 美女视频黄 久久| 亚洲精品欧美在线| 久久色成人在线| 欧美日韩国产首页| 色婷婷综合久久久久中文一区二区| 久久超碰97中文字幕| 伊人开心综合网| 国产精品网站在线观看| 欧美一级高清大全免费观看| 色先锋资源久久综合| 国产91在线看| 狠狠色狠狠色合久久伊人| 亚洲国产美国国产综合一区二区| 国产精品网站导航| 久久综合九色综合欧美98| 6080日韩午夜伦伦午夜伦| 欧美午夜电影一区| 色婷婷久久99综合精品jk白丝| 国产成人99久久亚洲综合精品| 美女任你摸久久| 日韩综合小视频| 亚洲国产aⅴ成人精品无吗| 国产精品久久久久久一区二区三区 | 91免费版在线看| 不卡的av网站| 成人成人成人在线视频| 国产麻豆视频精品| 国产一区免费电影| 精品一二三四区| 韩国毛片一区二区三区| 久久99国产精品尤物| 麻豆精品久久精品色综合| 免费成人在线观看| 免费成人av在线| 免费黄网站欧美| 久久99久久99| 国产黄色91视频| 成人av网站大全| 91美女在线视频| 欧美无砖砖区免费| 这里只有精品视频在线观看| 91精品国产黑色紧身裤美女| 日韩欧美专区在线| 精品国精品国产| 国产三级精品视频| 亚洲图片欧美激情| 亚洲v精品v日韩v欧美v专区| 日韩经典中文字幕一区| 久久66热re国产| 成人小视频在线观看| 97久久精品人人做人人爽50路| 一本一本大道香蕉久在线精品| 欧美性视频一区二区三区| 欧美人与性动xxxx| 欧美电影免费观看高清完整版在| 国产亚洲精品免费| 综合欧美一区二区三区| 亚洲成人一区在线| 久99久精品视频免费观看| 成人在线综合网站| 色88888久久久久久影院野外 | 26uuu欧美日本| 国产精品午夜春色av| 亚洲高清三级视频| 国内精品国产三级国产a久久| 99久久精品国产麻豆演员表| 欧美肥妇毛茸茸| 欧美激情中文字幕| 亚洲成人www| 国产精品一区免费在线观看| 93久久精品日日躁夜夜躁欧美| 欧美日韩午夜在线视频| 久久久久久免费网| 亚洲国产欧美另类丝袜| 国产在线精品一区二区| 日本黄色一区二区| 久久久九九九九| 亚洲成av人片一区二区三区| 国产精品系列在线播放| 欧美日韩一区在线| 国产精品午夜免费| 六月丁香综合在线视频| 99国产精品久| 日韩一卡二卡三卡四卡| 亚洲免费大片在线观看| 国模套图日韩精品一区二区| 欧美日韩久久久| 国产精品久久久久久久久动漫| 免费在线一区观看| 色综合天天综合给合国产| 久久久久久久久久久久电影| 天堂午夜影视日韩欧美一区二区| fc2成人免费人成在线观看播放 | 国产精品久久久久久久久免费相片 | 亚洲精品网站在线观看| 国产精品亚洲专一区二区三区| 欧美绝品在线观看成人午夜影视| 国产精品毛片无遮挡高清| 韩国一区二区视频| 日韩欧美在线影院| 亚洲第一电影网| 在线一区二区观看| 亚洲视频在线一区| 白白色亚洲国产精品| 欧美激情中文字幕一区二区| 激情国产一区二区 | 国产日产精品1区| 国产一区在线不卡| 日韩欧美一区在线| 亚洲18影院在线观看| 在线观看日韩电影| 一区二区三区四区五区视频在线观看 | 色综合色综合色综合色综合色综合 | 99国产精品久久久| 亚洲欧洲日产国产综合网| 国产成人精品在线看| 久久久www成人免费毛片麻豆|