📄 wuxiantongxun-cx.txt
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -