📄 zlg500.lst
字号:
246 1 }
247
248 uchar mifs_increment(uchar _Adr,long idata *_Value)
249 { uchar *temp=(uchar *)_Value;
250 1 spi_buffer[SEQNR]=0;
251 1 spi_buffer[COMMAND]=0x48;
252 1 spi_buffer[LENGTH]=5;
253 1 spi_buffer[ADR]=_Adr;
254 1 spi_buffer[VALUE]=*(temp+3);
255 1 spi_buffer[VALUE+1]=*(temp+2);
256 1 spi_buffer[VALUE+2]=*(temp+1);
257 1 spi_buffer[VALUE+3]=*temp;
258 1
259 1 if(zlg500cmd(8)!=SPI_OK)
260 1 return SPI_ERR;
261 1
262 1 return spi_buffer[STATUS];
263 1 }
264
265 uchar mifs_decrement(uchar _Adr,long idata *_Value)
266 {
267 1 uchar *temp=(uchar *)_Value;
268 1 spi_buffer[SEQNR]=0;
269 1 spi_buffer[COMMAND]=0x49;
270 1 spi_buffer[LENGTH]=5;
271 1 spi_buffer[ADR]=_Adr;
272 1 spi_buffer[VALUE]=*(temp+3);
273 1 spi_buffer[VALUE+1]=*(temp+2);
274 1 spi_buffer[VALUE+2]=*(temp+1);
275 1 spi_buffer[VALUE+3]=*temp;
276 1
277 1 if(zlg500cmd(8)!=SPI_OK)
278 1 return SPI_ERR;
279 1
280 1 return spi_buffer[STATUS];
281 1 }
282
283 uchar mifs_restore(uchar _Adr)
284 {
285 1 spi_buffer[SEQNR]=0;
286 1 spi_buffer[COMMAND]=0x4A;
287 1 spi_buffer[LENGTH]=1;
288 1 spi_buffer[ADR]=_Adr;
289 1
290 1 if(zlg500cmd(4)!=SPI_OK)
291 1 return SPI_ERR;
292 1
293 1 return spi_buffer[STATUS];
294 1 }
295
296 uchar mifs_transfer(uchar _Adr)
297 {
298 1 spi_buffer[SEQNR]=0;
299 1 spi_buffer[COMMAND]=0x4B;
300 1 spi_buffer[LENGTH]=1;
301 1 spi_buffer[ADR]=_Adr;
302 1
303 1 if(zlg500cmd(4)!=SPI_OK)
C51 COMPILER V7.06 ZLG500 03/17/2008 18:53:41 PAGE 6
304 1 return SPI_ERR;
305 1
306 1 return spi_buffer[STATUS];
307 1 }
308
309 uchar mifs_load_key(uchar _Mode,uchar _SecNr,uchar *_Nkey)
310 {
311 1 spi_buffer[SEQNR]=0;
312 1 spi_buffer[COMMAND]=0x4C;
313 1 spi_buffer[LENGTH]=0x08;
314 1 spi_buffer[MODE]=_Mode;
315 1 spi_buffer[SECNR]=_SecNr;
316 1 memcpy(&spi_buffer[NKEY],_Nkey,6);
317 1
318 1 if(zlg500cmd(11)!=SPI_OK)
319 1 return SPI_ERR;
320 1
321 1 return spi_buffer[STATUS];
322 1 }
323
324 uchar mifs_reset(uchar _Msec)
325 {
326 1 spi_buffer[SEQNR]=0;
327 1 spi_buffer[COMMAND]=0x4E;
328 1 spi_buffer[LENGTH]=1;
329 1 spi_buffer[TIME]=_Msec;
330 1
331 1 if(zlg500cmd(4)!=SPI_OK)
332 1 return SPI_ERR;
333 1
334 1 return spi_buffer[STATUS];
335 1 }
336
337 uchar mifs_get_info(uchar idata *_Info)
338 {
339 1 spi_buffer[SEQNR]=0;
340 1 spi_buffer[COMMAND]=0x4F;
341 1 spi_buffer[LENGTH]=0;
342 1
343 1 if(zlg500cmd(3)!=SPI_OK)
344 1 return SPI_ERR;
345 1
346 1 if(spi_buffer[STATUS]==MI_OK)
347 1 {
348 2 memcpy(_Info,&spi_buffer[INFO],spi_buffer[LENGTH]);
349 2 }
350 1 return spi_buffer[STATUS];
351 1 }
352
353 uchar mifs_close(void)
354 {
355 1 spi_buffer[SEQNR]=0;
356 1 spi_buffer[COMMAND]=0x3F;
357 1 spi_buffer[LENGTH]=0;
358 1
359 1 if(zlg500cmd(3)!=SPI_OK)
360 1 return SPI_ERR;
361 1
362 1 return spi_buffer[STATUS];
363 1 }
364
365 uchar mifs_config(void)
C51 COMPILER V7.06 ZLG500 03/17/2008 18:53:41 PAGE 7
366 {
367 1 spi_buffer[SEQNR]=0;
368 1 spi_buffer[COMMAND]=0x52;
369 1 spi_buffer[LENGTH]=0;
370 1
371 1 if(zlg500cmd(3)!=SPI_OK)
372 1 return SPI_ERR;
373 1
374 1 return spi_buffer[STATUS];
375 1 }
376
377 uchar mifs_check_write(uchar idata *_SNR,uchar _Authmode,uchar _Adr,uchar idata *_Data)
378 {
379 1 spi_buffer[0]=0;
380 1 spi_buffer[COMMAND]=0x53;
381 1 spi_buffer[LENGTH]=22;
382 1 memcpy(&spi_buffer[SERNR],_SNR,4);
383 1 spi_buffer[AUTHMODE]=_Authmode;
384 1 spi_buffer[ADRCHKWR]=_Adr;
385 1 memcpy(&spi_buffer[DATACHKWR],_Data,16);
386 1
387 1 if(zlg500cmd(25)!=SPI_OK)
388 1 return SPI_ERR;
389 1
390 1 return spi_buffer[STATUS];
391 1 }
392
393 uchar mifs_set_control_bit()
394 {
395 1 spi_buffer[0]=0;
396 1 spi_buffer[COMMAND]=0x50;
397 1 spi_buffer[LENGTH]=0;
398 1
399 1 if(zlg500cmd(3)!=SPI_OK)
400 1 return SPI_ERR;
401 1
402 1 return spi_buffer[STATUS];
403 1 }
404
405 uchar mifs_clr_control_bit()
406 {
407 1 spi_buffer[0]=0;
408 1 spi_buffer[COMMAND]=0x51;
409 1 spi_buffer[LENGTH]=0;
410 1
411 1 if(zlg500cmd(3)!=SPI_OK)
412 1 return SPI_ERR;
413 1
414 1 return spi_buffer[STATUS];
415 1 }
416
417 uchar mifs_buzzer(uchar _Frquence,uchar _10ms)
418 {
419 1 spi_buffer[0]=0;
420 1 spi_buffer[COMMAND]=0x60;
421 1 spi_buffer[LENGTH]=2;
422 1 spi_buffer[3]=_Frquence;
423 1 spi_buffer[4]=_10ms;
424 1
425 1 if(zlg500cmd(5)!=SPI_OK)
426 1 return SPI_ERR;
427 1
C51 COMPILER V7.06 ZLG500 03/17/2008 18:53:41 PAGE 8
428 1 return spi_buffer[STATUS];
429 1 }
430
431 uchar mifs_read_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
432 {
433 1 spi_buffer[0]=0;
434 1 spi_buffer[COMMAND]=0x61;
435 1 spi_buffer[LENGTH]=2;
436 1 spi_buffer[ADR]=_Adr;
437 1 spi_buffer[4]=_Length;
438 1
439 1 if(zlg500cmd(5)!=SPI_OK)
440 1 return SPI_ERR;
441 1
442 1 if(spi_buffer[STATUS]==MI_OK)
443 1 {
444 2 memcpy(_Data,&spi_buffer[INFO],_Length);
445 2 }
446 1 return spi_buffer[STATUS];
447 1 }
448
449 uchar mifs_write_E2(uchar _Adr,uchar _Length,uchar idata *_Data)
450 {
451 1 spi_buffer[0]=0;
452 1 spi_buffer[COMMAND]=0x62;
453 1 spi_buffer[LENGTH]=_Length+2;
454 1 spi_buffer[ADR]=_Adr;
455 1 spi_buffer[4]=_Length;
456 1 memcpy(&spi_buffer[5],_Data,_Length);
457 1
458 1 if(zlg500cmd(_Length+5)!=SPI_OK)
459 1 return SPI_ERR;
460 1
461 1 return spi_buffer[STATUS];
462 1 }
463
464 uchar mifs_value(uchar _Mode,uchar _Adr,long idata *_Value,uchar _Trans_Adr)
465 {
466 1 uchar *temp=(uchar *)_Value;
467 1
468 1 spi_buffer[SEQNR]=0;
469 1 spi_buffer[COMMAND]=0x70;
470 1 spi_buffer[LENGTH]=7;
471 1 spi_buffer[DATA]=_Mode;
472 1 spi_buffer[DATA+1]=_Adr;
473 1 spi_buffer[DATA+2]=*(temp+3);
474 1 spi_buffer[DATA+3]=*(temp+2);
475 1 spi_buffer[DATA+4]=*(temp+1);
476 1 spi_buffer[DATA+5]=*temp;
477 1 spi_buffer[DATA+6]=_Trans_Adr;
478 1
479 1 if(zlg500cmd(10)!=SPI_OK)
480 1 return SPI_ERR;
481 1
482 1 return spi_buffer[STATUS];
483 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1283 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.06 ZLG500 03/17/2008 18:53:41 PAGE 9
PDATA SIZE = ---- ----
DATA SIZE = ---- 18
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 + -