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

📄 07.c

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 C
字号:
void readdztde(void)//读取定值通道状态
{
    unsigned char *p;
    p=(unsigned char *)&SPI1.inputstate;
    SPI1.channelstate=0x0055;
    SPI1.feestate=0x0066;
	if(rxbuf[2]==0x00 && rxbuf[3]==0x00)// 读取定值通道的的状态。 1为通道被激活
    {
      txbuf[6]=*(p+5);
      txbuf[7]=*(p+4);
     }
	txbuf[0]=rxbuf[0];
	txbuf[1]=rxbuf[1];
    if(rxbuf[2]==0x10 && rxbuf[3]==0xff)// 当前费率,读出每个时段(共8个)的费率
    {
      txbuf[6]=*(p+9);
      txbuf[7]=*(p+8);
     }
	txbuf[0]=rxbuf[0];
	txbuf[1]=rxbuf[1];
	txbuf[2]=rxbuf[2];
	txbuf[3]=rxbuf[3];
	txbuf[4]=rxbuf[4];
	txbuf[5]=rxbuf[5];

     	T16=crc16(txbuf,8);//计算CRC值
            high8=T16 >> 8;
			low8=T16 & 0xff;
     txbuf[8]=high8;
     txbuf[9]=low8;
	P3OUT |= BIT7;  //P4.2为高电平为发送模式
	flag.transfer_ok=FAULT;
	//if ((IFG1 & UTXIFG0) == 0)     // USART0 TX buffer ready?
	//{  
	//  i=0;
      //  do
        //{ 
		// TXBUF0=txbuf[i];
		// i++;
		// }while(i<=9);
		//transfer_ok=TRUE;
		//i=0;
			
       // }
         do 
         {
           TXBUF1=txbuf[i];
	    while((IFG2 & UTXIFG1) == 0)     // USART0 TX buffer ready?
	     {
	      _NOP();
	      }
             i++;	
          }while(i<9);
   
	flag.transfer_ok=TRUE;
         i=0;
              for(i=0;i<140;i++)
     {
     rxbuf[i]=0;
     txbuf[i]=0;
     }
}

⌨️ 快捷键说明

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