?? zlg500.lst
字號:
314 1 spi_buffer[SEQNR]=0;
315 1 spi_buffer[COMMAND]=0x4C;
316 1 spi_buffer[LENGTH]=0x08;
317 1 spi_buffer[MODE]=_Mode;
318 1 spi_buffer[SECNR]=_SecNr;
319 1 memcpy(&spi_buffer[NKEY],_Nkey,6);
320 1
321 1 if(zlg500cmd(11)!=SPI_OK)
322 1 return SPI_ERR;
323 1
324 1 return spi_buffer[STATUS];
325 1 }
326 #endif
327
328 #if mifs_reset_en
uchar mifs_reset(uchar _Msec)
{
spi_buffer[SEQNR]=0;
spi_buffer[COMMAND]=0x4E;
spi_buffer[LENGTH]=1;
spi_buffer[TIME]=_Msec;
if(zlg500cmd(4)!=SPI_OK)
return SPI_ERR;
return spi_buffer[STATUS];
}
#endif
342
343 #if mifs_get_info_en
344 uchar mifs_get_info(uchar idata *_Info)
345 {
346 1 spi_buffer[SEQNR]=0;
347 1 spi_buffer[COMMAND]=0x4F;
348 1 spi_buffer[LENGTH]=0;
349 1
350 1 if(zlg500cmd(3)!=SPI_OK)
351 1 return SPI_ERR;
352 1
353 1 if(spi_buffer[STATUS]==MI_OK)
354 1 {
355 2 memcpy(_Info,&spi_buffer[INFO],spi_buffer[LENGTH]);
356 2 }
357 1 return spi_buffer[STATUS];
358 1 }
359 #endif
360
361 #if mifs_close_en
uchar mifs_close(void)
{
spi_buffer[SEQNR]=0;
spi_buffer[COMMAND]=0x3F;
C51 COMPILER V7.09 ZLG500 08/18/2006 08:26:14 PAGE 7
spi_buffer[LENGTH]=0;
if(zlg500cmd(3)!=SPI_OK)
return SPI_ERR;
return spi_buffer[STATUS];
}
#endif
374
375 #if mifs_config_en
376 uchar mifs_config(void)
377 {
378 1 spi_buffer[SEQNR]=0;
379 1 spi_buffer[COMMAND]=0x52;
380 1 spi_buffer[LENGTH]=0;
381 1
382 1 if(zlg500cmd(3)!=SPI_OK)
383 1 return SPI_ERR;
384 1
385 1 return spi_buffer[STATUS];
386 1 }
387 #endif
388
389 #if mifs_check_write_en
uchar mifs_check_write(uchar idata *_SNR,uchar _Authmode,uchar _Adr,uchar idata *_Data)
{
spi_buffer[0]=0;
spi_buffer[COMMAND]=0x53;
spi_buffer[LENGTH]=22;
memcpy(&spi_buffer[SERNR],_SNR,4);
spi_buffer[AUTHMODE]=_Authmode;
spi_buffer[ADRCHKWR]=_Adr;
memcpy(&spi_buffer[DATACHKWR],_Data,16);
if(zlg500cmd(25)!=SPI_OK)
return SPI_ERR;
return spi_buffer[STATUS];
}
#endif
406
407 #if mifs_set_control_bit_en
408 uchar mifs_set_control_bit()
409 {
410 1 spi_buffer[0]=0;
411 1 spi_buffer[COMMAND]=0x50;
412 1 spi_buffer[LENGTH]=0;
413 1
414 1 if(zlg500cmd(3)!=SPI_OK)
415 1 return SPI_ERR;
416 1
417 1 return spi_buffer[STATUS];
418 1 }
419 #endif
420
421 #if mifs_clr_control_bit_en
422 uchar mifs_clr_control_bit()
423 {
424 1 spi_buffer[0]=0;
425 1 spi_buffer[COMMAND]=0x51;
426 1 spi_buffer[LENGTH]=0;
427 1
C51 COMPILER V7.09 ZLG500 08/18/2006 08:26:14 PAGE 8
428 1 if(zlg500cmd(3)!=SPI_OK)
429 1 return SPI_ERR;
430 1
431 1 return spi_buffer[STATUS];
432 1 }
433 #endif
434
435 #if mifs_buzzer_en
436 uchar mifs_buzzer(uchar _Frquence,uchar _10ms)
437 {
438 1 spi_buffer[0]=0;
439 1 spi_buffer[COMMAND]=0x60;
440 1 spi_buffer[LENGTH]=2;
441 1 spi_buffer[3]=_Frquence;
442 1 spi_buffer[4]=_10ms;
443 1
444 1 if(zlg500cmd(5)!=SPI_OK)
445 1 return SPI_ERR;
446 1
447 1 return spi_buffer[STATUS];
448 1 }
449 #endif
450
451 #if mifs_read_E2_en
452 uchar mifs_read_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
453 {
454 1 spi_buffer[0]=0;
455 1 spi_buffer[COMMAND]=0x61;
456 1 spi_buffer[LENGTH]=2;
457 1 spi_buffer[ADR]=_Adr;
458 1 spi_buffer[4]=_Length;
459 1
460 1 if(zlg500cmd(5)!=SPI_OK)
461 1 return SPI_ERR;
462 1
463 1 if(spi_buffer[STATUS]==MI_OK)
464 1 {
465 2 memcpy(_Data,&spi_buffer[INFO],_Length);
466 2 }
467 1 return spi_buffer[STATUS];
468 1 }
469 #endif
470
471 #if mifs_write_E2_en
uchar mifs_write_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
{
spi_buffer[0]=0;
spi_buffer[COMMAND]=0x62;
spi_buffer[LENGTH]=_Length+2;
spi_buffer[ADR]=_Adr;
spi_buffer[4]=_Length;
memcpy(&spi_buffer[5],_Data,_Length);
if(zlg500cmd(_Length+5)!=SPI_OK)
return SPI_ERR;
return spi_buffer[STATUS];
}
#endif
487
488 #if mifs_value_en
489 uchar mifs_value(uchar _Mode,uchar _Adr,long idata *_Value,uchar _Trans_Adr)
C51 COMPILER V7.09 ZLG500 08/18/2006 08:26:14 PAGE 9
490 {
491 1 uchar *temp=(uchar *)_Value;
492 1
493 1 spi_buffer[SEQNR]=0;
494 1 spi_buffer[COMMAND]=0x70;
495 1 spi_buffer[LENGTH]=7;
496 1 spi_buffer[DATA]=_Mode;
497 1 spi_buffer[DATA+1]=_Adr;
498 1 spi_buffer[DATA+2]=*(temp+3);
499 1 spi_buffer[DATA+3]=*(temp+2);
500 1 spi_buffer[DATA+4]=*(temp+1);
501 1 spi_buffer[DATA+5]=*temp;
502 1 spi_buffer[DATA+6]=_Trans_Adr;
503 1
504 1 if(zlg500cmd(10)!=SPI_OK)
505 1 return SPI_ERR;
506 1
507 1 return spi_buffer[STATUS];
508 1 }
509 #endif
510
511 #if mifs_cascanticoll_en
512 uchar mifs_cascanticoll(uchar _Select_code,uchar _Bcnt,uchar *_SNR)
513 {
514 1 spi_buffer[SEQNR]=0;
515 1 spi_buffer[COMMAND]=0x74;
516 1 spi_buffer[LENGTH]=0x02;
517 1 spi_buffer[DATA]=_Select_code;
518 1 spi_buffer[DATA+1]=_Bcnt;
519 1
520 1 if(zlg500cmd(5)!=SPI_OK)
521 1 return SPI_ERR;
522 1
523 1 if(spi_buffer[STATUS]==MI_OK)
524 1 {
525 2 memcpy(_SNR,&spi_buffer[DATA],4);
526 2 }
527 1 return spi_buffer[STATUS];
528 1 }
529 #endif
530
531 #if mifs_cascselect_en
532 uchar mifs_cascselect(uchar _Select_code,uchar *_SNR,uchar *_Sak)
533 {
534 1 spi_buffer[SEQNR]=0;
535 1 spi_buffer[COMMAND]=0x75;
536 1 spi_buffer[LENGTH]=0x05;
537 1 spi_buffer[DATA]=_Select_code;
538 1 memcpy(&spi_buffer[DATA+1],_SNR,4);
539 1
540 1 if(zlg500cmd(8)!=SPI_OK)
541 1 return SPI_ERR;
542 1
543 1 if(spi_buffer[STATUS]==MI_OK)
544 1 {
545 2 *_Sak=spi_buffer[DATA];
546 2 }
547 1 return spi_buffer[STATUS];
548 1 }
549 #endif
550
551 #if mifs_ULwrite_en
C51 COMPILER V7.09 ZLG500 08/18/2006 08:26:14 PAGE 10
552 uchar mifs_ULwrite(uchar _Adr,uchar *_Data)
553 {
554 1 spi_buffer[SEQNR]=0;
555 1 spi_buffer[COMMAND]=0x76;
556 1 spi_buffer[LENGTH]=0x05;
557 1 spi_buffer[DATA]=_Adr;
558 1 memcpy(&spi_buffer[DATA+1],_Data,4);
559 1
560 1 if(zlg500cmd(8)!=SPI_OK)
561 1 return SPI_ERR;
562 1
563 1 return spi_buffer[STATUS];
564 1 }
565 #endif
566
567 #if mifs_valuedebit_en
568 uchar mifs_valuedebit(uchar _Mode,uchar _Adr,long idata *_Value)
569 {
570 1 uchar *temp=(uchar *)_Value;
571 1
572 1 spi_buffer[SEQNR]=0;
573 1 spi_buffer[COMMAND]=0x77;
574 1 spi_buffer[LENGTH]=6;
575 1 spi_buffer[DATA]=_Mode;
576 1 spi_buffer[DATA+1]=_Adr;
577 1 spi_buffer[DATA+2]=*(temp+3);
578 1 spi_buffer[DATA+3]=*(temp+2);
579 1 spi_buffer[DATA+4]=*(temp+1);
580 1 spi_buffer[DATA+5]=*temp;
581 1
582 1 if(zlg500cmd(9)!=SPI_OK)
583 1 return SPI_ERR;
584 1
585 1 return spi_buffer[STATUS];
586 1 }
587 #endif
588
589 #if mifs_write_reg_en
590 uchar mifs_write_reg(uchar _Reg,uchar _Value)
591 {
592 1 spi_buffer[SEQNR]=0;
593 1 spi_buffer[COMMAND]=0x3d;
594 1 spi_buffer[LENGTH]=2;
595 1 spi_buffer[DATA]=_Reg;
596 1 spi_buffer[DATA+1]=_Value;
597 1
598 1 if(zlg500cmd(5)!=SPI_OK)
599 1 return SPI_ERR;
600 1
601 1 return spi_buffer[STATUS];
602 1 }
603 #endif
604
605 #if mifs_read_reg_en
606 uchar mifs_read_reg(uchar _Reg,uchar *_Value)
607 {
608 1 spi_buffer[SEQNR]=0;
609 1 spi_buffer[COMMAND]=0x3e;
610 1 spi_buffer[LENGTH]=1;
611 1 spi_buffer[DATA]=_Reg;
612 1
613 1 if(zlg500cmd(5)!=SPI_OK)
C51 COMPILER V7.09 ZLG500 08/18/2006 08:26:14 PAGE 11
614 1 return SPI_ERR;
615 1
616 1 *_Value = spi_buffer[DATA];
617 1 return spi_buffer[STATUS];
618 1 }
619 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1108 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 24
IDATA SIZE = 26 ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -