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

📄 2407controlcompass.c

📁 利用2407控制马达
💻 C
字号:
/* file name: spicom1.c */
/* SPI communication test */

#include<util.h>
#include<SCI.h>

void bad_trap(void)
{
	while(1);
}

void main(void)
{
	unsigned int i,j,test1,test2, ADRES1, ADRES2;
	char msg[50];
	DSPInit(PLLx1);
	SCIInit();
	SCISetBaud(9600);
	
	// 阿 器飘 汲沥
	SET_PF_OUT(BIT5|BIT6);	// FOR DEBUGGING
	SET(PORTF,BIT5);
	CLEAR(PORTF,BIT6);
	
	SET_PB_OUT(BIT4);	// AD1 ENABLE
	SET(PORTB,BIT4);
	
	// EVA SETTING
	EVA_ENABLE;
	EVB_ENABLE;
	//SPI Module setting
	SPI_ENABLE;
	CLEAR(SPICCR, BIT4);	// SPI SW RESET
	SET(MCRB, BIT5|BIT4|BIT3|BIT2);
	SPICTL = 0x06;		// 0000 0110 : MASTER MODE , TALK
	SPIBRR = 0xF9;		// 40kbps at 10Mhz ; BAUD = (CUPCLK/(SPIBRR+1))
	
	SPICCR = 0x4F;		// DATA LENGTH 16BIT; ad converter falling edge
	SET(SPICCR, BIT7);	// SPI SW RESET
	
	SCIPrintf("SPI module test.\n");
	
	i=0; j=0;  ADRES1=0; ADRES2=0;
	
	while(1)
	{
		TOGGLE(PORTF,BIT5|BIT6);
		test1=0; test2=0;
		
		CLEAR(PORTB,BIT4); 	//AD1 ENABLE
		for(i=0; i<10; i++) j++;
		SPITXBUF = 0xF000;	//MSB FIRST FORMAT ; CHANNEL 0
		for(i=0; i<10; i++) j++;
		test1 = SPIRXBUF;
		for(i=0; i<200; i++) j++;
		SET(PORTB,BIT4);	//AD1 DISABLE
		
		for(i=0; i<100; i++) j++;
		
		CLEAR(PORTB,BIT4); 	//AD1 ENABLE
		for(i=0; i<10; i++) j++;
		SPITXBUF = 0xD000;	//MSB FIRST FORMAT	; CHANNEL 1
		for(i=0; i<10; i++) j++;
		test2 = SPIRXBUF;
		for(i=0; i<200; i++) j++;
		SET(PORTB,BIT4);	//AD1 DISABLE
		
		//ADRES1 = (test1&0x0FFF);
		//ADRES2 = (test2&0X0FFF);
		ADRES1 = (test1&0x0FFF)<<1;
		ADRES2 = (test2&0x0FFF)<<1;
		sprintf(msg,"test: %d %d\n",ADRES1,ADRES2);
		SCIPrintf(msg);

	}
}

⌨️ 快捷键说明

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