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

📄 nrf2401_rec.lst

📁 nrf2401接收模块
💻 LST
📖 第 1 页 / 共 2 页
字号:
 207          //=============================================================
 208          // 语法格式:	void nRF2401_SendByte(unsigned int TxData)
 209          // 实现功能:	将目标地址+字节数据写入nRF2401A
 210          // 参数:		unsigned int TxData: 待发送字节数据
 211          // 返回值:		无
 212          //=============================================================
 213          /*void nRF2401_SendByte(unsigned int TxData)
 214          {
 215          	unsigned int i;
 216          	
 217          				//	*P_IOB_Dir |= DATA;
 218          	CE = 1;		//*P_IOB_Buffer |= CE;
 219          	            //Delay_Us(1);					//
 220          	for(i=0; i<AddrByteCnt; i++)
 221          	{
 222          		nRF2401_WriteByte(AddrBuffer[i]);
 223          	}
 224          	nRF2401_WriteByte(TxData);
 225          	CE = 0;		//*P_IOB_Buffer &= ~CE;
 226          	DATA = 0;		//*P_IOB_Buffer &= ~DATA;
 227          	Delay_Us(10);
 228          }
 229          */
 230          //=============================================================
 231          // 语法格式:	void nRF2401_SendWord(unsigned int TxData)
 232          // 实现功能:	将目标地址+字数据写入nRF2401A
 233          // 参数:		unsigned int TxData: 待发送字数据
 234          // 返回值:		无
 235          //=============================================================
 236          /*void nRF2401_SendWord(unsigned int TxData)
 237          {
 238          	unsigned int i;
 239          	
 240          				//	*P_IOB_Dir |= DATA;
 241          	CE = 1;		//*P_IOB_Buffer |= CE;
C51 COMPILER V6.12  NRF2401_REC                                                            04/27/2009 10:34:35 PAGE 5   

 242          	            //Delay_Us(10);					//
 243          	for(i=0; i<AddrByteCnt; i++)
 244          	{
 245          		nRF2401_WriteByte(AddrBuffer[i]);
 246          	}
 247          	nRF2401_WriteWord(TxData);
 248          	CE = 0;		//*P_IOB_Buffer &= ~CE;
 249          	DATA = 0;	//*P_IOB_Buffer &= ~DATA;
 250          	Delay_Us(20);
 251          }
 252          */
 253          //=============================================================
 254          // 语法格式:	void nRF2401_SendBuffer_Byte(unsigned int *TxData,unsigned int DataByte)
 255          // 实现功能:	向nRF2401A发送一个数组的数据(字节方式)
 256          // 参数:		unsigned int *TxData: 待发送数组
 257          //				unsigned int DataByte:数组的长度					
 258          // 返回值:		无
 259          //=============================================================
 260          /*void nRF2401_SendBuffer_Byte(unsigned int *TxData,unsigned int DataByte)
 261          {
 262          	unsigned int i;
 263          	
 264          				//	*P_IOB_Dir |= DATA;
 265          	CE = 1;		//*P_IOB_Buffer |= CE;
 266          	           //Delay_Us(10);					//
 267          	for(i=0; i<AddrByteCnt; i++)
 268          	{
 269          		nRF2401_WriteByte(AddrBuffer[i]);
 270          	}
 271          	for(i=0; i<DataByte; i++)
 272          	{
 273          		nRF2401_WriteByte(TxData[i]);
 274          	}
 275          	CE = 0;		     //*P_IOB_Buffer &= ~CE;
 276          	DATA = 0;		//*P_IOB_Buffer &= ~DATA;
 277          	Delay_Us(20);
 278          }
 279          */
 280          //=============================================================
 281          // 语法格式:	void nRF2401_SendBuffer_Word(unsigned int *TxData,unsigned int DataWord)
 282          // 实现功能:	向nRF2401A发送一个数组的数据(字方式)
 283          // 参数:		unsigned int *TxData: 待发送数组
 284          //				unsigned int DataWord:数组的长度					
 285          // 返回值:		无
 286          //=============================================================
 287          /*void nRF2401_SendBuffer_Word(unsigned int *TxData,unsigned int DataWord)
 288          {
 289          	unsigned int i;
 290          	
 291          				//	*P_IOB_Dir |= DATA;
 292          	CE = 1;		//*P_IOB_Buffer |= CE;
 293          	            //Delay_Us(10);					//
 294          	for(i=0; i<AddrByteCnt; i++)
 295          	{
 296          		nRF2401_WriteByte(AddrBuffer[i]);
 297          	}
 298          	for(i=0; i<DataWord; i++)
 299          	{
 300          		nRF2401_WriteWord(TxData[i]);
 301          	}
 302          	CE = 0;		//*P_IOB_Buffer &= ~CE;
 303          	DATA = 0;		//*P_IOB_Buffer &= ~DATA;
C51 COMPILER V6.12  NRF2401_REC                                                            04/27/2009 10:34:35 PAGE 6   

 304          	Delay_Us(20);
 305          }
 306          */
 307          //=============================================================
 308          // 语法格式:	unsigned int nRF2401_RxStatus()
 309          // 实现功能:	判断nRF2401A的接收状态
 310          // 参数:		无
 311          // 返回值:		0:	没有接收到数据
 312          //				1:	已经接收到数据,等待读出
 313          //=============================================================
 314          unsigned int nRF2401_RxStatus()
 315          {
 316   1      	 if ( DR1 == 0 )		//if((*P_IOB_Data&DR1) == 0)
 317   1      		return(0);
 318   1      	else
 319   1      		return(1);
 320   1      }
 321          
 322          
 323          //=============================================================
 324          // 语法格式:	void nRF2401_ReceiveByte(unsigned int *RxData)
 325          // 实现功能:	从nRF2401A读出一个字节的数据
 326          // 参数:		unsigned int *RxData:读出的数据
 327          // 返回值:		无
 328          //=============================================================
 329          void nRF2401_ReceiveByte(unsigned int *RxData)
 330          {
 331   1      	unsigned int i = 0,j = 0;
 332   1      	unsigned int dat = 0;
 333   1      
 334   1      					//*P_IOB_Dir &= ~DATA;			// 输入
 335   1      	while(DR1==1)		//while(*P_IOB_Data&DR1)
 336   1      	{
 337   2      		dat <<= 1;
 338   2      		CLK1 = 0;		//*P_IOB_Buffer &= ~CLK1;
 339   2      	
 340   2      		if(DATA==1)		//if(*P_IOB_Data&DATA)
 341   2      			dat |= 0x01;
 342   2      		i++;
 343   2      		CLK1 = 1;		//*P_IOB_Buffer |= CLK1;
 344   2      		                //Delay_Us(1);
 345   2      		if(i>7)
 346   2      		{
 347   3      			i = 0;
 348   3      			RxData[j] = dat;
 349   3      			dat = 0;
 350   3      			j++;
 351   3      		}
 352   2      		CLK1 = 0;		//*P_IOB_Buffer &= ~CLK1;
 353   2      	}
 354   1      						//*P_IOB_Dir |= DATA;			// 输出
 355   1      }
 356          
 357          //=============================================================
 358          // 语法格式:	void nRF2401_ReceiveWord(unsigned int *RxData)
 359          // 实现功能:	从nRF2401A读出一个字的数据
 360          // 参数:		unsigned int *RxData:读出的数据
 361          // 返回值:		无
 362          //=============================================================
 363          /*void nRF2401_ReceiveWord(unsigned int *RxData)
 364          {
 365          	unsigned int i = 0,j = 0;
C51 COMPILER V6.12  NRF2401_REC                                                            04/27/2009 10:34:35 PAGE 7   

 366          	unsigned int dat = 0;
 367          
 368          	DATA = 0;		//*P_IOB_Dir &= ~DATA;			// 输入
 369              while(DR1 == 1)			//while(*P_IOB_Data&DR1)
 370          	{
 371          		dat <<= 1;
 372          		CLK1 = 0;		//*P_IOB_Buffer &= ~CLK1;
 373          		if(DATA==1) 	   //if(*P_IOB_Data&DATA)
 374          			dat |= 0x01;
 375          		i++;
 376          		CLK1 = 1;		//*P_IOB_Buffer |= CLK1;
 377          		                 //Delay_Us(1);
 378          		if(i>15)
 379          		{
 380          			i = 0;
 381          			RxData[j] = dat;
 382          			dat = 0;
 383          			j++;
 384          		}
 385          		CLK1 = 0;		//*P_IOB_Buffer &= ~CLK1;
 386          	}
 387          						//*P_IOB_Dir |= DATA;			// 输出
 388          }
 389          */
 390          //=============================================================
 391          // 语法格式:	void Delay_Us(unsigned int TimeCnt)
 392          // 实现功能:	延时(uS)
 393          // 参数:		unsigned int TimeCnt:延时的us数
 394          // 返回值:		无
 395          //=============================================================
 396          void Delay_Us(unsigned int TimeCnt)
 397          {
 398   1      	int i;
 399   1      				//*P_SystemClock = 0x98;
 400   1      	for(i = 0; i < TimeCnt; i++);
 401   1          
 402   1      	
 403   1      }
 404          
 405          //#endif
 406          //******************************** END *************************************


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    229    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     42       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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