📄 zlg500c.lst
字号:
259 1 SerBfr[COMMAND] = 'E';
260 1 SerBfr[LENGTH] = 8;
261 1 SerBfr[DATA] = KEYAB;
262 1 SerBfr[DATA+1] = SecNr;
263 1 memcopy(&SerBfr[DATA+2],Key,6);
264 1
265 1 Status = Zlg500c_Cmd(SlvAddr);
266 1
267 1 if(Status == OK)
268 1 {
269 2 Status = SerBfr[STATUS];
270 2 }
271 1 return Status;
272 1 }
273 #endif
274
275 #if PCDWriteReg_en
276 INT8U PCDWriteReg(INT8U RegAddr,INT8U RegValue)
277 {
278 1 INT8U Status;
279 1
280 1 SerBfr[CMDTYPE] = 1;
281 1 SerBfr[COMMAND] = 'F';
282 1 SerBfr[LENGTH] = 2;
283 1 SerBfr[DATA] = RegAddr;
284 1 SerBfr[DATA+1] = RegValue;
285 1
286 1 Status = Zlg500c_Cmd(SlvAddr);
287 1
288 1 if(Status == OK)
289 1 {
290 2 Status = SerBfr[STATUS];
291 2 }
292 1 return Status;
293 1 }
294 #endif
295
296 #if PCDReadReg_en
297 INT8U PCDReadReg(INT8U RegAddr,INT8U *RegValue)
298 {
299 1 INT8U Status;
300 1
301 1 SerBfr[CMDTYPE] = 1;
302 1 SerBfr[COMMAND] = 'G';
303 1 SerBfr[LENGTH] = 1;
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 6
304 1 SerBfr[DATA] = RegAddr;
305 1
306 1 Status = Zlg500c_Cmd(SlvAddr);
307 1
308 1 if(Status == OK)
309 1 {
310 2 Status = SerBfr[STATUS];
311 2 if(Status == OK)
312 2 *RegValue = SerBfr[DATA];
313 2 }
314 1 return Status;
315 1 }
316 #endif
317
318 #if DvcReadIO_en
319 INT8U DvcReadIO(INT8U *IOValue)
320 {
321 1 INT8U Status;
322 1
323 1 SerBfr[CMDTYPE] = 1;
324 1 SerBfr[COMMAND] = 'H';
325 1 SerBfr[LENGTH] = 0;
326 1
327 1 Status = Zlg500c_Cmd(SlvAddr);
328 1
329 1 if(Status == OK)
330 1 {
331 2 Status = SerBfr[STATUS];
332 2 if(Status == OK)
333 2 *IOValue = SerBfr[DATA];
334 2 }
335 1 return Status;
336 1 }
337 #endif
338
339 #if DvcClearIO_en
340 INT8U DvcClearIO(INT8U ClrMask,INT8U _10ms)
341 {
342 1 INT8U Status;
343 1
344 1 SerBfr[CMDTYPE] = 1;
345 1 SerBfr[COMMAND] = 'I';
346 1 SerBfr[LENGTH] = 2;
347 1 SerBfr[DATA] = ClrMask;
348 1 SerBfr[DATA+1] = _10ms;
349 1
350 1 Status = Zlg500c_Cmd(SlvAddr);
351 1
352 1 if(Status == OK)
353 1 {
354 2 Status = SerBfr[STATUS];
355 2 }
356 1 return Status;
357 1 }
358 #endif
359
360 #if DvcSetIO_en
361 INT8U DvcSetIO(INT8U SetMask,INT8U _10ms)
362 {
363 1 INT8U Status;
364 1
365 1 SerBfr[CMDTYPE] = 1;
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 7
366 1 SerBfr[COMMAND] = 'J';
367 1 SerBfr[LENGTH] = 2;
368 1 SerBfr[DATA] = SetMask;
369 1 SerBfr[DATA+1] = _10ms;
370 1
371 1 Status = Zlg500c_Cmd(SlvAddr);
372 1
373 1 if(Status == OK)
374 1 {
375 2 Status = SerBfr[STATUS];
376 2 }
377 1 return Status;
378 1 }
379 #endif
380
381 #if DvcSurgeIO_en
382 INT8U DvcSurgeIO(INT8U IOMask,INT8U SIOSta,INT8U EIOSta,INT8U FstSta1_10ms,
383 INT8U FstSta2_10ms,INT8U Sta1_10ms,INT8U Sta2_10ms,INT8U RptCnt)
384 {
385 1 INT8U Status;
386 1
387 1 SerBfr[CMDTYPE] = 1;
388 1 SerBfr[COMMAND] = 'K';
389 1 SerBfr[LENGTH] = 8;
390 1 SerBfr[DATA] = IOMask;
391 1 SerBfr[DATA+1] = SIOSta;
392 1 SerBfr[DATA+2] = EIOSta;
393 1 SerBfr[DATA+3] = FstSta1_10ms;
394 1 SerBfr[DATA+4] = FstSta2_10ms;
395 1 SerBfr[DATA+5] = Sta1_10ms;
396 1 SerBfr[DATA+6] = Sta2_10ms;
397 1 SerBfr[DATA+7] = RptCnt;
398 1
399 1 Status = Zlg500c_Cmd(SlvAddr);
400 1
401 1 if(Status == OK)
402 1 {
403 2 Status = SerBfr[STATUS];
404 2 }
405 1 return Status;
406 1 }
407 #endif
408
409 #if DvcSetAutoDctct_en
410 INT8U DvcSetAutoDctct(INT8U ISOType,INT8U Req_Code,
411 INT8U IOClrMask,INT8U IOSetMask,INT8U Ser_Mode)
412 {
413 1 INT8U Status;
414 1
415 1 SerBfr[CMDTYPE] = 1;
416 1 SerBfr[COMMAND] = 'L';
417 1 SerBfr[LENGTH] = 5;
418 1 SerBfr[DATA] = ISOType;
419 1 SerBfr[DATA+1] = Req_Code;
420 1 SerBfr[DATA+2] = IOClrMask;
421 1 SerBfr[DATA+3] = IOSetMask;
422 1 SerBfr[DATA+4] = Ser_Mode;
423 1
424 1 Status = Zlg500c_Cmd(SlvAddr);
425 1
426 1 if(Status == OK)
427 1 {
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 8
428 2 Status = SerBfr[STATUS];
429 2 }
430 1 return Status;
431 1 }
432 #endif
433
434 #if ExchangeBlock_en
INT8U ExchangeBlock(INT8U *Send_Bfr,
INT8U Send_Byte_Len,
INT8U *Rcv_Bfr,
INT8U *Rcv_Byte_Len,
INT8U Append_CRC,
INT8U FWI)
{
INT8U Status;
SerBfr[CMDTYPE] = 1;
SerBfr[COMMAND] = 'M';
SerBfr[LENGTH] = Send_Byte_Len+3;
SerBfr[DATA] = Append_CRC;
SerBfr[DATA+1] = FWI;
SerBfr[DATA+2] = Send_Byte_Len;
memcopy(&SerBfr[DATA+3],Send_Bfr,Send_Byte_Len);
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
if(Status == OK)
{
*Rcv_Byte_Len = SerBfr[DATA];
memcopy(Rcv_Bfr,&SerBfr[DATA+1],*Rcv_Byte_Len);
}
}
return Status;
}
#endif
466
467 #if PiccRequest_en
468 INT8U PiccRequest(INT8U Req_Code,INT8U *TagType)
469 {
470 1 INT8U Status;
471 1
472 1 SerBfr[CMDTYPE] = 2;
473 1 SerBfr[COMMAND] = 'A';
474 1 SerBfr[LENGTH] = 1;
475 1 SerBfr[DATA] = Req_Code;
476 1
477 1 Status = Zlg500c_Cmd(SlvAddr);
478 1
479 1 if(Status == OK)
480 1 {
481 2 Status = SerBfr[STATUS];
482 2 if(Status == OK)
483 2 {
484 3 *TagType = SerBfr[DATA];
485 3 *(TagType+1) = SerBfr[DATA+1];
486 3 }
487 2 }
488 1 return Status;
489 1 }
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 9
490 #endif
491
492 #if PiccAnticoll_en
493 INT8U PiccAnticoll(INT8U Sel_Code,INT8U Bcnt,INT8U *PiccSnr)
494 {
495 1 INT8U Status;
496 1
497 1 SerBfr[CMDTYPE] = 2;
498 1 SerBfr[COMMAND] = 'B';
499 1 SerBfr[LENGTH] = 2;
500 1 SerBfr[DATA] = Sel_Code;
501 1 SerBfr[DATA+1] = Bcnt;
502 1
503 1 Status = Zlg500c_Cmd(SlvAddr);
504 1
505 1 if(Status == OK)
506 1 {
507 2 Status = SerBfr[STATUS];
508 2 if(Status == OK)
509 2 {
510 3 memcopy(PiccSnr,&SerBfr[DATA],4);
511 3 }
512 2 }
513 1 return Status;
514 1 }
515 #endif
516
517 #if PiccSelect_en
518 INT8U PiccSelect(INT8U Sel_Code,INT8U *PiccSnr,INT8U *Sak)
519 {
520 1 INT8U Status;
521 1
522 1 SerBfr[CMDTYPE] = 2;
523 1 SerBfr[COMMAND] = 'C';
524 1 SerBfr[LENGTH] = 5;
525 1 SerBfr[DATA] = Sel_Code;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -