wuxiantongxun-cx.txt

来自「关于无线通讯的调试源代码」· 文本 代码 · 共 96 行

TXT
96
字号
void SpiWrite(unsigned char  byte)
{
 	SPDR=byte;
	SPI_STATUS ();
}

unsigned char SpiRead(void)
{
 	SPDR=45;
	SPI_STATUS ();
	return SPDR;			// Return function parameter
}

void mb_proc(void)
{
	unsigned char m,temp,flag_ptr_rxerror=0;
	do {
	while (1)
	{
	m=PINE & ptr_dr;
	temp=1;
	temp=1;
	if (m) break;
	}
//PORTF &=led_cloader;	
	PORTE &=ptr_ctxce;
	PORTB &=ptr_ccsn;
	delay (1);

	SpiWrite(ptr_rrp);
	for(m=0;m<len_ptr_data;m++)
	{
	delay (1);
	mb_jdtarg[m]=SpiRead();
	}
	for(m=0;m<23;m++)
	{
	delay (1);
	temp=SpiRead();
	}
	PORTB |=ptr_scsn;
	temp=PINE;
	while (((temp & ptr_dr) == ptr_dr)
			|| ((temp & ptr_am) == ptr_am));	//数据已收到

	temp =mb_jdtarg[0]*100+mb_jdtarg[1];
	if ((temp>179) || (mb_jdtarg[4]>99))
	   {
		flag_ptr_rxerror=1;
		delay (10);
		PORTB &=ptr_ctxen;
		PORTB |=ptr_stxce;	//to rx
		delay (10);
	   }
	else  
		 {
		 LBH_Targ[0]=temp+mb_jdtarg[2]/60.0+(mb_jdtarg[3]+mb_jdtarg[4]/100.0)/3600.0;
		 LBH_Targ[1]=mb_jdtarg[5]+mb_jdtarg[6]/60.0+(mb_jdtarg[7]+mb_jdtarg[8]/100.0)/3600.0;
		 LBH_Targ[2]=atof(mb_hdtarg);
		}
	
//	mb_proc();
	}
	while (flag_ptr_rxerror);
	Targ_load=TRUE;				//置目标已装定标志
PORTF &=led_cloader;	
	lcd_targ();				//LCD上显示目标数据
	lcd_mbcircle();									//LCD上画目标点
}

void spiport_ini(void)			//spi初始化													  
{
 	 unsigned char temp;
 	 SPCR=(1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0);
	 SPSR=0x00;
	 temp=SPSR;
	 temp=SPDR;
}

void spi_ini(void)			//use TO ptr8000	无线模块初始化													  
{
  	 unsigned char temp;

	PORTB &=ptr_ccsn; ///PORTB =PORTB &ptr_ccsn;
	delay (1);
	SpiWrite(ptr_wc);
	for(temp=0;temp<len_ptr_config;temp++)		//CONFIG
	{
	  SpiWrite(flash_ptr8000_config[temp]);
	}
	PORTB |=ptr_scsn;
	delay (2);

	PORTB &=ptr_ctxen;
	PORTB |=ptr_stxce;	//to rx
}

⌨️ 快捷键说明

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