📄 nrf2401_rec.lst
字号:
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 + -