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