main.c

来自「ND-Tech DSP 6713 Motor Control Source」· C语言 代码 · 共 65 行

C
65
字号
/* ======================================================================== */
/* Project Name: Motor                                                      */
/*                                                                          */
/* 夯 橇肺弊伐篮 Step Motor甫 哭率栏肺 雀傈矫虐绊 促矫 坷弗率栏肺 雀傈矫虐绰*/
/* 橇肺弊伐捞促.                                                            */
/* ======================================================================== */
/*          Copyright (C) 2000 - 2006 ND-Tech. Co., Ltd.                    */
/*                          All Rights Reserved.                            */
/* ======================================================================== */
#include 	"c6000.h"
#include 	"dsxio.h"

#define		CPUCLK	300000000
#define		MDELAY	CPUCLK/4500
#define		DELAY	MDELAY/200

void delay(int delay)
{
	int i;
	for(i=0;i<delay;i++);
}

void PLL6713()
{
	int i;
	PLLCSR	 = PLLCSR & 0xfffffffe;
	for(i=0;i<4;i++);
	PLLCSR	 = PLLCSR | 0x08;
	PLLDIV0  = 0x08001;  // 50MHz/2 = 25MHz
 	PLLM     = 0x0c;     // 25MHz * 12 = 300MHz
	PLLDIV1  = 0x08000;  // SYSCLK1 = 300MHz/1 = 300MHz
	PLLDIV2  = 0x08001;  // SYSCLK2 = 300MHz/2 = 150MHz
	PLLDIV3  = 0x08003;  // SYSCLK3 = 300MHz/4 =  75MHz
	for(i=0;i<4;i++);
	PLLCSR	 = PLLCSR & 0xfffffff7;
	for(i=0;i<4;i++);
	PLLCSR	 = PLLCSR | 0x01;
}

void main( )
{         
	int j;
	
	PLL6713();
	CE1CTL=0xffffff23;

	for(j=0;j<0x100;j++){
		MOTOR = 0xf; delay(MDELAY); 
		MOTOR = 0xe; delay(MDELAY);
		MOTOR = 0xc; delay(MDELAY);
		MOTOR = 0xd; delay(MDELAY);
	} 
	MOTOR = 0x00;
	
	for(j=0;j<0x100;j++){
		MOTOR = 0xd; delay(MDELAY); 
		MOTOR = 0xc; delay(MDELAY);
		MOTOR = 0xe; delay(MDELAY);
		MOTOR = 0xf; delay(MDELAY);
	} 
	MOTOR = 0x00;

	while(1);
}

⌨️ 快捷键说明

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