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

📄 junger.c

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 C
字号:
 void junger(void)
 {
              if((t>=time_ok)&&(rxbuf[0]==ADDRESS))  // ADDRESS为该从机的地址
			{
		         flag.receive_ok=TRUE;
		         flag.timecount_ok=FAULT;
		         t=0;
		         flag.ds=0;
                         URCTL1 |= URXWIE; //到达末尾,改变接收为地址方式
			}
			else
			{
			flag.receive_ok=FAULT;
			t=0;
			}
  
		if(flag.receive_ok==TRUE)
		{
		       _NOP();
		       flag.receive_ok=FAULT;
		       if(rxbuf[1]==download_parameter)
			{
			T16=crc16(rxbuf,rxbuf[5]*2+6);//计算CRC值
                        high8=T16 >> 8;
	                low8=T16 & 0xff;
	                }
	                else
	                {
	                T16=crc16(rxbuf,6);//计算CRC值
                        high8=T16 >> 8;
	                low8=T16 & 0xff;
	                } 
	                
	                if((rxbuf[1]==download_parameter) && (rxbuf[6+rxbuf[5]*2]==high8) && (rxbuf[7+rxbuf[5]*2]==low8))
	                {
	                 downloadparameter() ;
	                 }
	           
	                if((rxbuf[1]!=download_parameter )&& (rxbuf[6]==high8) && (rxbuf[7]==low8 ))
			{ 
			       //unsigned short b=rxbuf[5];
			       //unsigned short c=rxbuf[3];
			       //unsigned long  a =b*2;
				switch(rxbuf[1])
			   {   
				case read_relay:     //读继电器状态
				    readrelay() ;
					break;
				case read_switch:    //读输入开关量状态
				    readswitch() ;
				     break;
				case read_register: //读取保持寄存器
				    readregister() ;
				     break;
				case release_replase://继电器释放或电能表复位
				    readreplase() ;
				     break;
				case download_parameter://参数下载
				    downloadparameter() ;
				     break;
				case read_dztd://读取定值通道状态
				readrelay() ;
				break;
				//case read_thing://读取事件记录
				//readrelay() ;
				//break;
			    default:
			    answernum=0x01;
			    exceptionalanswer();
			    answernum=0x00;
			    break;
			   }
					 
				
			}

		}
		         i=0;
     for(i=0;i<140;i++)
     {
     rxbuf[i]=0;
     txbuf[i]=0;
     }
     		         i=0;
     for(i=0;i<140;i++)
     {
     rxbuf[i]=0;
     txbuf[i]=0;
     }
		}

⌨️ 快捷键说明

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