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

📄 nrf2401_snd.lst

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

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

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

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