Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ǶÈëʽӦÓÃÈí¼þ¼Ü¹¹Éè¼Æ
 
  6662  次浏览      27
 2018-5-30 
 
±à¼­ÍƼö:
±¾ÎÄÀ´×ÔÓÚÍøÂ磬±¾ÎÄÖ÷Òª×ܽáǶÈëʽ³ÌÐòÉè¼ÆË¼Â··½Ïò£¬Í¬Ê±½²ÊöÁËǶÈëʽ¿ª·¢µÄ¼Ü¹¹Éè¼Æ¡£

Òª×öµ½Ç¶ÈëʽӦÓõĴúÂëÂß¼­ÇåÎú£¬ÇÒ±ÜÃâÖØ¸´µÄÔìÂÖ×Ó£¬Ã»ÓкõÄÓ¦Óüܹ¹ÔõôÐС£

Èç¹ûûÓкõļܹ¹£¬ÒÆÖ²½«»áÊÇÒ»¼þºÜÍ´¿àµÄÊÂÇé¡£

Èç¹ûûÓкõļܹ¹£¬¸´ÓÃÊÇ×î´óµÄÄÑÌ⣬û·¨¸ü´óÏ޶ȵĸ´ÓÃÔ­ÓеĴúÂë¡£

Èç¹ûûÓкõļܹ¹£¬Ò»µ©Çý¶¯¸ÄÁË£¬ËùÓеĵط½¶¼Òª¸Ä£¬·Ñʱ·ÑÁ¦ÇÒºÜÈÝÒ׳ö´í¡£

Èç¹ûûÓкõļܹ¹£¬Ó¦ÓòãÖд©²å×ÅÓ²¼þÇý¶¯²ãµÄ´úÂ룬¿´×Å»áÊÇһƬ»ìÂÒ£¬Âß¼­²»Ç壬´úÂëά»¤ÆðÀ´»áºÜÀ§ÄÑ¡£

ÕâÀï×ܽáÏÂÎÒµÄǶÈëʽ³ÌÐòÉè¼ÆË¼Â·£¬·ÖÏí³öÀ´Óë´ó¼Ò¹²Í¬Ì½ÌÖ£¬Í¬Ê±Ò²»¶Ó­Ìá³ö²»Í¬Òâ¼û¡£

ÏÖÔÚµÄСÅóÓѶ¼°®Íæ´î»ýľµÄÓÎÏ·£¬Ò»¸öÄ£¿éÒ»¸öÄ£¿éµÄÆ´×°ÆðÀ´£¬¿ìËÙ×é³É¸÷ÖÖ²»Í¬µÄÄ£ÐÍ¡£ÏÖÔڵIJúÆ·Éè¼ÆÒ²ºÜÉÙ´ÓÁ㿪ʼ¡£´ó¶¼¸´ÓÃÏÖÓгÉÊìµÄÄ£¿é£¬×¨×¢ÓÚij¸öÉó¤ÁìÓò¡£

ÎÒµÄǶÈëʽӦÓüܹ¹Ë¼Â·À´Ô´Óë´Ë£¬¼´¹¦ÄÜÄ£¿éÉè¼ÆÓë·Ö²ã¡£

°ÑAPI·ÖΪÇý¶¯²ãºÍÓ¦ÓòãAPI£¬¶ø²»ÊÇËùÓгÌÐò¶¼µ÷ÓÃÇý¶¯²ãAPI¡£(Õû¸öÓ¦ÓÃÖж¼µ÷ÓÃÇý¶¯²ãAPI»áµ¼ÖÂÓ¦ÓÃÖÐÇý¶¯µ÷ÓÃËæ´¦¿É¼û£¬ÎÞ·¨ÒÆÖ²ºÍ×î´óÏ޶ȵĸ´ÓÃ)

ÏȰÑÒ»¸öÓ¦ÓýøÐй¦ÄÜÄ£¿é»®·Ö£¬²¢¶ÔÕûÌå½á¹¹½øÐзֲ㣬ȻºóÉè¼Æ³ö¹¦ÄܶÀÁ¢µÄ¸÷¸öÄ£¿é£¨ÈçË㷨ģ¿é£¬Îļþ¿âÄ£¿é£¬Í¨ÐÅ¿âÄ£¿é£©£¬ÔÚÄ£¿éÖ®ÉÏ¿ª·Å¹«¹²½Ó¿Ú¡£

Çý¶¯²ãÌṩ³ö¹«¹²½Ó¿Ú¹©Éϲãµ÷Ó᣸÷¸ö¹¦ÄÜÄ£¿é¿ÉÒÔ¶ÀÁ¢±àÒ루ÈçË㷨ģ¿é´¿ANSI C£¬¿ÉÔÚÈÎÒâÆ½Ì¨¸´Óã©£¬»òÕßµ÷ÓÃÇý¶¯²ã½Ó¿Ú£¨Îļþ¿âÄ£¿éµ÷ÓÃÁËÇý¶¯¶ÁдFlash£©£¬×ܶøÑÔÖ®£¬ÑÔ¶ø×ÜÖ®£¬·â×°³ö¸÷¸ö¹¦ÄܶÀÁ¢µÄ¿É¸´ÓõŦÄÜÄ£¿é¡£

×ÜÌå·Ö Ó²¼þÇý¶¯²ã-->¹¦ÄÜÄ£¿é²ã-->Ó¦Óýӿڲã-->ÒµÎñÂß¼­²ã-->Ó¦Óòã

×ÜÌå½á¹¹Ê¾Òâ¿òͼ£º

Ó¦Óò㣬Ϊ³ÌÐòµÄ×ÜÌåµÄÔËÐпò¼Ü£¬×éÖ¯µ÷ÓÃÒµÎñÂß¼­¡£¿ÉÒÔÓÃijÖÖǶÈëʽ²Ù×÷ϵͳʵÏÖ¼¸ÖÖÈÎÎñ ¡£È綨ʱÈÎÎñ£¬¿¨´¦ÀíÈÎÎñ£¬²Ëµ¥ÈÎÎñ£¬Í¨ÐÅÈÎÎñ¡£

ÒµÎñÂß¼­²ã£¬ÈçCPU¿¨´¦Àí£¬½»Í¨²¿¿¨´¦Àí£¬ÒøÁª¿¨´¦Àí£¬M1¿¨´¦Àí£¬Í¨ÐżÇ¼ÉÏ´«£¬ºÚÃûµ¥ÏÂÔØ£¬Æ±¼Û²ÎÊýÏÂÔØµÈ¡£

Ó¦Óýӿڲ㣬Ìṩ¹«¹²µÄapi½Ó¿Ú¹©Ó¦Óýӿڹ©Éϲãµ÷Óá£ÕâЩ½Ó¿ÚÒ²¿ÉÓÉϲãµÄ¹¦ÄÜÄ£¿é¿ª·Å³öÀ´£¬Ó¦Óýӿڲ㸺Ôð»ã×Ü¡£

¹¦ÄÜÄ£¿é²ã£¬¿ÉÒÔ·â×°²»Í¬µÄ¹¦ÄÜÄ£¿é¡£ÈçËã·¨¿â£¬Îļþ¿â£¬Í¨ÐÅ¿â£¬ÒøÁª¿â£¬ÏòÉÏÌṩӦÓýӿڲãµÄ½Ó¿Ú£¬Ïòϵ÷ÓÃÇý¶¯½Ó¿Ú¡£

Ó²¼þÇý¶¯²ã£¬Óɸ÷¸öÇý¶¯Ä£¿é×é³É£¬ÏòÉÏÌṩͳһµÄ½Ó¿Ú¡£

×ñѭһЩԼ¶¨£¬

1.ÿ¸öÄ£¿éÌṩ³öµÄ½Ó¿ÚҪͳһ£¬ºóÐøÖ»ÄÜÔö£¬²»ÄܸÄÔ­À´µÄ½Ó¿Ú¡£

2.Ä£¿éÓëÄ£¿éÖ®¼äÏ໥¶ÀÁ¢£¬»¥²»Ó°Ï죬²»ÄÜÏ໥µ÷Óã¬Ö»Äܵ÷ÓÃËüϲãµÄ½Ó¿Ú¡£

3.ÓÉÄ£¿é¹¹³É²ã£¬²ãÓë²ãÖ®¼ä²»Äܿ缶µ÷Óá£ÈçÔÚÓ¦ÓòãÖв»ÄÜ¿´µ½Ö±½Óµ÷ÓÃÇý¶¯²ãµÄ´úÂë¡£

4.Ä£¿éÖÐÓÖ¿ÉÒÔ¼ÌÐø·Ö²ã£¬Èç½Ó¿Ú²ã£¬Çý¶¯²ã£¬Ó²¼þ²ã¡£

Èç¹ûÇý¶¯±ä¶¯ÁË£¬»òÕß»»²»Í¬Æ½Ì¨£¬Ö»Ðè¸ü¸ÄÇý¶¯²ã£¬Ó¦Óò㲻ÊÜÓ°Ïì¡£

Èç¹û¹¦ÄÜÄ£¿é±ä¶¯ÁË£¬Ö»ÐèÉý¼¶¹¦Äܹ¦ÄÜÄ£¿é£¬ÆäËûµÄÄ£¿é²»ÊÜÓ°Ï죬ӦÓòãÒ²²»ÊÜÓ°Ïì¡£

°´ÕÕÕâÖÖÂß¼­Éè¼ÆºÃÖ®ºó£¬Ö÷ÒªµÄ¹¤×÷¾ÍÊÇÔÚÒµÎñÂß¼­²ã¡£Ó¦ÓòãÔòΪ³ÌÐòµÄ×ÜÌåÁ÷³ÌºÍ¿ò¼Ü£¬Ö÷Òªµ÷ÓÃÒµÎñÂß¼­²ãʵÏÖ²»Í¬µÄ¹¦ÄÜ¡£

ÎÒÃÇÏÖÔڵĴúÂë½á¹¹£¬»ù±¾Êǰ´Õâ¸ö˼·À´µÄ¡£

Ó²¼þÇý¶¯²ã-->¹¦ÄÜÄ£¿é²ã-->Ó¦Óýӿڲã-->ÒµÎñÂß¼­²ã-->Ó¦Óò㡣

¿´¿´ÒÔÏÂÁ½ÖÖ·ç¸ñµÄ´úÂ룬Äã¸üϲ»¶Äĸö¡£

ÁíÒ»ÖÖ·ç¸ñ£º

ͬÑùÊDZ£´æ²ÎÊý£¬·ÇÒª²ð³É AlgCRC16 £¬WritePraFlash( (unsigned char *)&NetPra , NETPRA_ADDR , sizeof(_NetPra) )Á½²½Âð£¿

»¹ÓÐAH_Para_VerifyÕâ¸ö£¬ÔÚÓ¦ÓòãÖÐÕæÊǶàÓà°¡£¬¼ì²âʧ°ÜÓÖ´ÓFlash¶ÁÈ¡¡£¹ØÓÚ²ÎÊý£¬Ò»¿ª»ú¾ÍÓ¦¸Ã¼ì²âºÏ·¨ÐÔÁË¡£

¼ÈÈ»¶¼ÊÇÒª±£´æ²ÎÊý£¬¾ÍÓ¦¸Ã×ö¸ö·â×°£¬ÈçÉÏͼËùʾ£¬°ÑϵͳÓõ½µÄ²»Í¬²ÎÊý×ö¸ö¹æ»®¡£Ó¦Óòãµ÷ÓÃAPP_Open_UseFile »òÕßAPP_Read_UseFile,

¶ø²»ÊÇÖ±½ÓµÄÈ¥¶ÁдFlash¡£

À´¿´¿´ºÕºÕÓÐÃûµÄ¹È¸èµÄandroid¼Ü¹¹£¬ËäÈ»ºÜ¸´ÔÓ£¬µ«´Ó¿òͼÉÏ¿´£¬Ò²ÏñÊÇ´î»ýľ£¬¸÷¸ö¹¦ÄÜÄ£¿é¶ÀÁ¢£¬²ã´Î·ÖÃ÷¡£×îµÍ²ã½¨Á¢ÔÚlinux Kernel»ù´¡ÉÏ£¬È»ºóÊǸ÷¸ö×é¼þ¿âlibraries£¬ÔÙÍùÉÏÊÇÓ¦Óÿò¼ÜºÍÓ¦Óá£

ÒÔNC_FileLib,Îļþ¿âÄ£¿éΪÀý£¬Èç¹ûÒªÓÃÔÚÆäËûƽ̨£¬ÈçEH0918ÊÖ³Ö»úÉ豸£¬Ö»ÐèÒªÒÆÖ²¼¸¸öÓ²¼þ²ã½Ó¿Ú¼´¿É¡£

NC_FileSysÎļþ¿â£¬¸úÓ²¼þÏà¹ØµÄ½Ó¿ÚÔÚHookÎļþ¼Ð£¬

void HW_FRAM_Init( void )
unsigned int HW_FRAM_Read( unsigned int addr,unsigned
int size,unsigned char *buffer)
unsigned int HW_FRAM_Write( unsigned int addr,
unsigned int size,unsigned char *buffer )
//²Á³ýFLASHÒ»Ò³ (FLASH²Á³ýµÄ×îСµ¥Ôª)
unsigned int HW_Flash_PageErase( unsigned int page )
unsigned int HW_Flash_Read( unsigned int addr,
unsigned int size, unsigned char *buffer )
unsigned int HW_Flash_NotEraseWrite( unsigned
int addr, unsigned int size, unsigned char *buffer )
//²Á³ýFLASHÒ»Ò³ (FLASH²Á³ýµÄ×îСµ¥Ôª)
unsigned int HW_Flash_PageErase( unsigned int page )

°´ÕÕÒÔÉÏÄ£¿é»¯Éè¼ÆË¼Ï룬ºÜÈÝÒ×ʵÏÖһģÄâpos»ú¡£

ÒÔ¿ª·¢Ò»¸öÖÇÄÜposÓ¦ÓÃΪÀý£º

Ò»¸öÖÇÄÜposÉæ¼°µ½µÄ¹¦ÄÜÄ£¿éÓУº

¶Áд¿¨¹¦ÄÜ£¬±£´æÓë¶ÁÈ¡Ïû·Ñ¼Ç¼£¬²éÕÒ±£´æºÚÃûµ¥£¬½çÃæÏÔʾ£¬²Ëµ¥ÏÔʾ£¬Í¨ÐÅÏÂÔØ²ÎÊýÉÏ´«¼Ç¼µÈ¡£

ÒÔÏÂÎªÒÆÖ²¹¦ÄÜÄ£¿éµ½µçÄÔÉÏ£¬×Ô¼º×öµÄÒ»¸öÄ£ÄâPos¹¤¾ß£º

ÔÚµçÄÔÉÏʵÏÖһģÄâpos(Ö»Êǹ¦ÄÜÉϵÄʵÏÖ,Íê³ÉË¢¿¨Ïû·Ñ£¬¼Ç¼´æ´¢£¬¼Ç¼ÉÏ´«£¬ºÚÃûµ¥£¬Æ±¼ÛÏÂÔØµÈ¹¦ÄÜ¡£½çÃæÎªDos´°¿Ú¡£ºóÐøÈç¹ûÓÃQT°Ñ½çÃæÒ²×ö³öÀ´£¬¾ÍÊÇÒ»¹¦ÄÜÆëÈ«µÄÄ£ÄâPOS»ú£¬²»¹ýµÃ°Ñ»Ä·Ï¶àÄêµÄC++ÖØÐÂʰÆðÀ´ÁË¡£¿ÉÒÔ¼ÌÐøÍêÉÆ×öÒ»¸öÉÏλ»úÄ£Äâpos£¬¸Ä±ä±àÒëÆ÷ÔÚÉÏλ»ú·ÂÕæµ÷ÊÔ²¢½»²æ±àÒëºóÔËÐÐÔÚÕæÊµPOSÉÏ)¡£

Óõ½µÄ¹¦ÄÜÄ£¿éÓÐ Îļþ´æ´¢Ä£¿é£¬¿¨´¦ÀíÄ£¿é£¬Ë㷨ģ¿é£¬ÒøÁª¿âÄ£¿é¡£ÎÒ°ÑÕâЩģ¿éÒÆÖ²µ½µçÄÔÉÏ¡£

¹ØÓÚ¿¨´¦ÀíÄ£¿éµÄʵÏÖ£¬ÓÉÓÚµçÄÔÉÏû¶Á¿¨Í·£¬ÓÚÊÇÓÃÍâ½Ó¶Á¿¨Æ÷¡£°Ñ¶Á¿¨Æ÷´®¿Ú½ÓµçÄÔÉÏ¡£µçÄÔÉÏ×öÒ»¶Áд¿¨·þÎñ£¬ÌṩTCP½Ó¿ÚµÄ¶Áд¿¨½Ó¿Ú¡£

ÒÆÖ²Îļþ¿â£¬Ç¶Èëʽ³ÌÐòÖÐÊDzÙ×÷µÄflash,ÔÚµçÄÔÉϰÑÎļþ¿âÖÐÓõ½µÄ½Ó¿ÚÓöÁдÎļþµÄÐÎÊ½Ìæ»»¡£

ÒÆÖ²Ëã·¨¿â£¬Ëã·¨¿â¶¼ÊÇcдµÄ£¬Ö±½ÓÓÃgccÔÚwindowsÆ½Ì¨ÖØÐ±àÒë¼´¿É¡£

ʵÏÖЧ¹û£º

µÚ7Ïî,Ä£ÄâPOSÓëÒøÁªÍ¨ÐÅ£º

POSPÄ£ÄâÆ÷ΪģÄâÒøÁªºǫ́µÄÒ»¸ö¹¤¾ß¡£ÔËÐÐbus,exe½øÐÐÇ©µ½£¬ÏÂÔØIC¿¨²ÎÊýÓ빫Կ²¢±£´æÖÁµçÄÔÉÏ£¬

µÚ5Ïî£¬ÒøÁª¿¨Ïû·Ñ£º

¶Á¿¨Æ÷ͨ¹ý´®¿Ú½Óµ½µçÄÔÉÏ£¬µçÄÔÉÏÔËÐжÁд¿¨·þÎñtcpserver.exe,,Ìṩ¶Áд¿¨APDUÖ¸Áî½Ó¿Ú¡£ÀûÓÃ֮ǰ×öµÄС¹¤¾ßÔ¶³Ì¶Á¿¨Æ÷¡£

ÓÐʱºòΪÁ˲âÊÔ¿¨Æ¬Ïû·Ñ£¬²»ÄÜÿ´Î¶¼ÖØÐ±àÒë½øÀ´°É£¬Õâʱºò¿ÉÒÔÀûÓÃLUA½Å±¾¡£Ñ¡ÔñµÚ11Ïî¡£°ÑÐèÒª²âÊÔ¿¨Æ¬µÄÖ¸Áîд½øLUA½Å±¾£¬È»ºóÖ´ÐУ¬

ÈçͼËùʾ£º

Ö´Ðнá¹û£º

·â×°µÄ¹¦ÄÜÄ£¿é£¬¼´¸÷ÖÖ¿âÈçÏ£º

liblua.a Ö´ÐÐlua½Å±¾Ê¹ÓÃ

libblkfile.a ºÚÃûµ¥²éÕÒÓë´æ´¢

libmaycalc.a Ëã·¨¿â£¬ÈçSHA,DESËã·¨

libmycard.a ¿¨¿â£¬Ìṩ²Ù×÷¿¨Æ¬µÄAPDU

libmyfile.a Îļþ¿â£¬ÌṩÎļþ´æ´¢Óë¶ÁÈ¡

libmycom.a ͨÐſ⣬ÌṩsocketͨÐÅ

libmyup.a ÒøÁª¿â£¬ÒøÁª¿¨´¦ÀíÂß¼­ÓëÒøÁªºǫ́ͨÐÅÒµÎñ

ÆäÖУ¬libmyblkfile¿âµÄmakefileÎļþÈçÏ£º

########################################
#makefile
########################################
BINARY= libmyblkfile
CC= gcc
LD= ld
CFLAGS= -std=c99 -g
LDSCRIPT=
LDFLAGS= -Llib
OBJS= AH_BlackList.o AH_BlkDirFileLib.o APP_Blacklist.o
#CFLAGS=-std=c99
.PHONY: clean
all:images
images: $(BINARY).a
$(OBJS):%.o:%.c
$(CC) -c $(CFLAGS) $< -o $@
%.a: $(OBJS)
ar crv $(*).a $(OBJS)
cp libmyblkfile.a ../
clean:
rm -f *.o

Ö÷³ÌÐòµÄmakefileÎļþÈçÏ£º

########################################
#makefile
########################################
#±àÒëÖ¸¶¨×ÓĿ¼
SUBDIRS := .\\lib\\NC_Com\
.\\lib\\NC_FileSys\
.\\lib\\NC_BlkFile\
.\\lib\\NC_Card\\NC_Card_Lib\
.\\lib\\NC_UPCash\\NC_UPCash_Lib
define make_subdir
@ for subdir in $(SUBDIRS) ; do \
( cd $$subdir && make $1) \
done;
endef
#±àÒëÖ÷³ÌÐò
BINARY := ./bin/bus
OBJ_DIR := ./obj/
CC= gcc
LD= ld
CFLAGS= -std=c99 -Wall -g
LDSCRIPT= -lmycom -lws2_32 -liconv -lmyfile -lmycard -lmyup -lmycalc -lmyblkfile -llua
LDFLAGS= -Llib
SRC = $(wildcard *.c)
DIR = $(notdir $(SRC))
OBJS = $(patsubst %.c,$(OBJ_DIR)%.o,$(DIR))
#OBJS= main.o myutils.o inirw.o cmdpboc.o cputest.o bustcp.o ansrec.o m1cmd.o m1api.o m1test.o upcash.o myother.o getsys.o
#CFLAGS=-std=c99
#@echo Building lib...
#$(call make_subdir)
.PHONY: clean lib
all: prebuild $(BINARY).exe
prebuild:
@echo Building app...
$(BINARY).exe : $(OBJS)
@echo Generating ...
$(CC) -o $(BINARY).exe $(OBJS) $(LDFLAGS) $(LDSCRIPT)
@echo OK!
$(OBJ_DIR)%.o : %.c
$(CC) -c $(CFLAGS) $< -o $@
lib:
@echo Building lib...
$(call make_subdir)
clean:
rm -f $(OBJ_DIR)*.o
@echo Removed!

¸÷¸ö¹¦ÄÜÄ£¿é£¬ÓÖ¿ÉÒÔ½øÒ»²½Ï¸·ÖΪ×ÓÄ£¿é¡£

ÄÃͨÐÅ¿â¾ÙÀý£º

ǶÈëʽÉ豸¶¼ÐèÒªÖ§³Ö¸÷ÖÖ²»Í¬µÄͨѶģ¿é¡£±ÈÈçÓ²¼þÉ豸ÓÐA701¡¢A801¡¢B502µÈ£¬Í¨Ñ¶Ä£¿éÓÐGL868¡¢MG323¡¢MC8630¡¢N710¡¢ZIGBEEµÈ£¬ÕâЩÉ豸·Ö±ðÖ§³ÖÈ«²¿»ò²¿·ÖͨѶģ¿é¡£

ÕûÌå¼Ü¹¹·ÖΪÈçÏ£º

Çý¶¯´óÖ·ÖΪÈý²ã£º

1¡¢½Ó¿Ú²ã£ºÎªÓû§ÌṩͳһµÄ½Ó¿Ú£¬±ÈÈ磺Connect¡¢TxData¡¢RxData¡¢DisconnectµÈ¡£

2¡¢Çý¶¯²ã£ºÏò½Ó¿Ú²ã±©Â¶Í³Ò»µÄ½Ó¿Ú£¬ÕâЩ½Ó¿ÚÓÃÓÚÍê³Éʵ¼ÊµÄÁ¬½Ó¶Ï¿ªºÍÊý¾ÝÊÕ·¢µÈ£¬±ÈÈ磺DevConnect¡¢DevTxData¡¢RxData¡¢DisconnectµÈ¡£¸Ã²ãÖ»»áºÍÖ§³ÖµÄͨѶģ¿éÏà¹Ø£¬²»»áÖ±½Ó·ÃÎÊÈκÎÓ²¼þ¹¦ÄÜ£¬°üÀ¨´®¿ÚͨѶ¡¢GPIO¿ØÖÆÈ«²¿Í¨¹ýµ×²ãµÄÉ豸²ãʵÏÖ¡£

3¡¢É豸²ã£ºÏòÇý¶¯²ãÌṩͳһµÄ½Ó¿Ú£¬ÕâЩ½Ó¿Úͨ¹ý·ÃÎÊÎïÀíÓ²¼þÀ´ÊµÏÖºÍÄ£¿éµÄͨѶ£¬±ÈÈ磺XXXPowerOn¡¢SerialSend¡¢SerialReceiveµÈ£¬²¢¶¨Òå¸ÃÉ豸֧³ÖÄÄЩģ¿é¡£

Èý²ãÖ®¼äͨ¹ý±ê×¼µÄ½Ó¿Ú½øÐл¥Ïà·ÃÎÊ¡£

1¡¢½Ó¿Ú²ã¶ÔÍâ½Ó¿Ú£¨Óû§²Ù×÷ͨѶģ¿éʹÓõÄAPI£©£º

uint32_t Com_Dev_Start(void);
//Éè±¸ÖØÐÂÉϵ磬²¢ºÍÍøÂ罨Á¢Á¬½Ó
uint32_t Com_Dev_Restart(void);
//É豸¶ÏÍø¶Ïµç
uint32_t Com_Dev_Stop(void);
//Á¬½ÓÔ¶¶Ë·þÎñÆ÷
uint32_t Com_Dev_Connect(uint8_t *ip, uint16_t port, uint32_t timeout, uint32_t channel);
//¶Ï¿ªÁ¬½Ó
uint32_t Com_Dev_Disconnect(uint32_t channel);
//·¢ËÍÊý¾Ý
uint32_t Com_Dev_TxData(uint8_t *buf, uint32_t len, uint32_t timeout, uint32_t channel);
//½ÓÊÕÊý¾Ý
uint32_t Com_Dev_RxData(uint8_t *buf, uint32_t *rxlen, uint32_t len, uint32_t timeout, uint32_t channel);
//»ñÈ¡ÐźÅÖÊÁ¿
uint32_t Com_Dev_GetSQ(uint8_t *csq);

2¡¢Çý¶¯²ã¶Ô½Ó¿Ú²ãµÄ½Ó¿Ú£¨¶Ô½Ó¿Ú²ãÆÁ±Î¸÷ͨѶģ¿éµÄ²îÒ죩£º

struct ComDevFunc{
uint32_t (*start)(ComDevDesc *dev);
uint32_t (*restart)(ComDevDesc *dev);
uint32_t (*stop)(ComDevDesc *dev);
uint32_t (*connect)(ComDevDesc *dev, uint8_t *ip, uint16_t port, uint32_t timeout, uint32_t channel);
uint32_t (*disconnect)(ComDevDesc *dev, uint32_t channel);
uint32_t (*txData)(ComDevDesc *dev, uint8_t *buf, uint32_t len, uint32_t timeout, uint32_t channel);
uint32_t (*rxData)(ComDevDesc *dev, uint8_t *buf, uint32_t *rxlen, uint32_t len, uint32_t timeout, uint32_t channel);
uint32_t (*getVer)(ComDevDesc *dev, uint8_t *buf, uint32_t versize);
uint32_t (*getCSQ)(ComDevDesc *dev, uint8_t *csq);
};

3¡¢É豸²ã¶ÔÇý¶¯²ãÌṩµÄ½Ó¿Ú£¨ÆÁ±Î´®¿ÚºÅ¡¢GPIOÒý½ÅµÈƽ̨Ïà¹ØµÄÄÚÈÝ£©£º

int Com_PortOpen(uint32_t baud);
int Com_PortClose(void);
int Com_PortSend(uint8_t *buf, int len);
int Com_PortRecv(uint8_t *buf, int len, int timeout);
int Com_PortGetLen(void);
int Com_PortFlush(void);
//¾ßÌåÓ²¼þÏà¹Øº¯Êý£¬ÔÚModel_XXXXX.hÖÐʵÏÖ
//½öÐèʵÏÖÆ½Ì¨Ö§³ÖµÄÄ£¿é¼´¿É
void COM_GL868Power(int state);
void COM_MC8332Power(int state);
void COM_MG323Power(int state);
void COM_EMV3081Power(int state);
void COM_CC2530Power(int state);
void COM_N710Power(int state);

2. Ŀ¼½á¹¹

©¦ ComAPI.c -----ͨѶ¿âAPIʵÏÖ

©¦ ComAPI.h -----ͨѶ¿âAPIÉùÃ÷£¨½Ó¿Ú²ãAPI£©

©¦ ComDevs.c -----¹©Çý¶¯Ê¹ÓõĹ«¹²¶¨ÒåºÍ¹¤¾ßº¯Êý

©¦ ComDevs.h -----¹©Çý¶¯Ê¹ÓõĹ«¹²¶¨ÒåºÍ¹¤¾ßº¯Êý£¨Çý¶¯²ãAPI£©

©¦ Readme.txt

©¦

©À©¤Devices -----´æ·Å¸÷ÖÖÄ£¿éµÄÇý¶¯³ÌÐò

©¦ Dev_CDMA_MC8332.c

©¦ Dev_CDMA_MC8332.h

©¦ Dev_GPRS_GL868.C

©¦ Dev_GPRS_GL868.h

©¦ Dev_WIFI_EMV3081.c

©¦ Dev_WIFI_EMV3081.h

©¦

©¸©¤Models -----´æ·ÅÊÊÅä¸÷ÖÖÉ豸ÐͺŵÄĿ¼

Model.h -----É豸²ãAPI

Model_A701.c

Model_B502.c

3. Ö§³ÖÐÂÄ£¿éµÄ·½·¨

±ÈÈçA701É豸ҪÐÂÔöÖ§³ÖSUPER123Ä£¿é

1¡¢ÔÚDevicesĿ¼ÖÐÔö¼ÓÒ»¸öÎļþDev_6G_SUPER123.c²¢ÊµÏÖComDevFunc½á¹¹Öж¨ÒåµÄ¸÷º¯Êý

2¡¢ÔÚÉ豸ÎļþModel_A701.cÖÐÔö¼ÓµçÔ´¿ØÖƺ¯ÊýCOM_SUPER123Power¡£

3¡¢ÔÚÉ豸ÎļþModel_A701.cÖÐÌí¼ÓÇý¶¯º¯Êýµ½gComFuncsÊý×éÖС£

4. ÊÊÅäÐÂÉ豸µÄ·½·¨

1¡¢ÔÚModelsĿ¼ÐÂÔö¼ÓÒ»¸öÎļþModel_XXXX.c

2¡¢ÊµÏÖ´®¿ÚͨѶº¯Êý£¨Com_PortXXXXϵÁУ¬²Î¿¼Model.hÖе͍Ò壩

3¡¢ÊµÏÖÖ§³ÖµÄͨѶģ¿éµÄÉÏϵ纯ÊýCOM_XXXXPower(int state);

4¡¢ÊµÏÖgComFuncsÊý×飬ÆäÖÐÒýÓÃËùÓÐÖ§³ÖÄ£¿éµÄÇý¶¯º¯Êý¡£

5. ¶Ô²¿·Öϵͳº¯ÊýµÄÒýÓÃ

¶ÔÓÚ²¿·ÖϵͳÏà¹Øº¯Êý£¬±ÈÈçÑÓʱ¡¢µ÷ÊÔÐÅÏ¢µÄ´òÓ¡µÈ£¬È«²¿ÌṩĬÈÏʵÏÖ£¬²¢½«Ä¬ÈÏʵÏÖÉùÃ÷ΪÈõº¯Êý¡£ÕâÑùµ±Óû§ÐèÒª½øÐÐ×Ô¶¨ÒåµÄʱºò¿ÉÒÔ½øÐÐ×Ô¶¨Ò壬Èç¹û²»ÐèÒª¿ÉÒÔÖ±½ÓºöÂÔ²»»áÔì³É±àÒë´íÎó¡£

ÕâÑùµÄº¯ÊýÓÐÈçÏÂÈý¸ö£º

void Com_Hook_Printf(char* fmt, ...);
void Com_Hook_PrintHex(uint8_t* buf, int len);
//ÖØ¶¨ÒåÑÓʱ¹¦ÄÜ£¬Èç¹ûʹÓòÙ×÷ϵͳµÄ»°¿ÉÒÔ³ä·ÖÀûÓòÙ×÷ϵͳµÄµ÷¶ÈÌØÐÔ£¬±ÜÃâËÀµÈÔì³ÉµÄÀË·Ñ
void Com_Hook_DelayMs(uint32_t ms);

6. Çý¶¯ÖÐÆÕ±éʹÓõŦÄÜ

¶ÔÓÚ²¿·Ö±àдͨѶģ¿éÇý¶¯³£ÓõŦÄÜ£¬Ä£¿éÖÐÌṩÁËһϵÁеĸ¨Öúº¯Êý£¬±ÜÃâÖØ¸´ÀͶ¯

   
6662 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤