ÕªÒª£º½éÉÜÁË»ùÓÚARMµÄÄÔѪÑõ¼à²âÒÇÈí¼þµÄÉè¼ÆÓëʵÏÖ¡£¸ÃÈí¼þͨ¹ý¿ØÖÆ̽ͷ¶ÔÄÔѪÑõÐÅÏ¢½øÐвɼ¯²¢Í¨¹ýÎÞÏß·½Ê½½«ÐÅÏ¢·¢Ë͸øÖնˣ¬Öն˶ԽÓÊÕµ½µÄÐÅÏ¢½øÐд¦ÀíºÍÏÔʾ£¬Í¬Ê±½«²¡ÈËÐÅÏ¢´æ´¢ÔÚSQL Server CE2.0Êý¾Ý¿âÖУ¬ÊµÏÖ²¡ÈËÐÅÏ¢µÄ²éѯ¡¢Ìí¼Ó¡¢É¾³ýµÈ¹¦ÄÜ¡£
ÑõÊÇÈËÌåг´úлµÄÖØÒªÎïÖÊ£¬ÄÔÊÇÈËÌåг´úл×î»îÔ¾µÄÆ÷¹ÙÖ®Ò»£¬Õý³£ÈËÄÔÑõÏûºÄÁ¿Õ¼È«ÉíÑõÏûºÄÁ¿µÄ20%×óÓÒ£¬ÔÚÐÄÄÔѪ¹Ü¼²²¡¼°ÄÔÍâÉ˲¡ÈËÁÙ´²ÇÀ¾ÈÓëÖÎÁÆÖУ¬Èç¹ûȱ·¦¶ÔÄÔ×éÖ¯¹©ÑõµÄ¼à»¤ÊֶΣ¬¾ÍÓпÉÄÜÔì³ÉÄÔ×éÖ¯Éñ¾¹¦ÄܵÄɥʧ»òËðº¦[1]¡£Òò´Ë£¬ÑÐÖÆÒ»ÖÖÁ¬Ðø¼à²âÄÔ¹©Ñõ×´¿öµÄÁÙ´²É豸£¬¶ÔÌá¸ßÐÄÄÔѪ¹ÜºÍÄÔÍâÉ˲¡È˵ÄÕï¶ÏºÍÖÎÁƾßÓÐÖØ´óÒâÒå¡£±¾ÄÔѪÑõ¼à²âÒÇ¿ÉʵʱµØ²É¼¯×óÓÒÄÔѪÑõÐźţ¬°Ñ´¦ÀíÄÔѪÑõÐźŵõ½µÄÄÔѪÑõ±¥ºÍ¶ÈʵʱµØ½øÐв¨ÐÎÏÔʾ£»»¹¿É¶ÔÄÔѪÑõÐźŽøÐй¦ÂÊÆס¢»¥Ïà¹ØϵÊýµÈ´¦Àí£¬¸ù¾ÝÕâЩ´¦ÀíµÄ½á¹ûÅжÏÈ˵ÄÄÔѪÑõ×´¿ö¡£
1 ÄÔѪÑõ¼à²âÒǵÄϵͳ½á¹¹
ÄÔѪÑõ¼à²âÒÇ°üÀ¨Ì½Í·ºÍÖÕ¶ËÁ½¸ö²¿·Ö£¬Æä×ÜÌå½á¹¹Èçͼ1Ëùʾ¡£Ì½Í·²ÉÓÃARM7ϵÁÐ΢¿ØÖÆÆ÷£¬·Öʱ²É¼¯²ÉÑùÊý¾Ý£¬Í¬Ê±Í¨¹ýÎÞÏßÊÕ·¢Ä£¿éRF24L01ʵÏÖÓëÖն˵ÄÊý¾Ý´«µÝºÍͨÐÅ£»Öն˲ÉÓÃARM9ϵÁÐ΢¿ØÖÆÆ÷£¬ÆäÖ÷Òª¹¦ÄÜ°üÀ¨Êý¾Ý½ÓÊÕ¡¢¼ÆËãºÍʵʱÏÔʾ´óÄÔ×éÖ¯µÄѪÑõ±¥ºÍ¶È¡¢¼ÆËãѪÑõ»¥Ïà¹ØϵÊýºÍ¹¦ÂÊÆײ¢ÏÔʾ½á¹û¡£ÒÔÏÂÖ÷Òª½éÉÜÄÔѪÑõ¼à²âÒǵÄÈí¼þÉè¼ÆÓëʵÏÖ¡£
2 ÄÔѪÑõ¼à²âÒÇÈí¼þÉè¼Æ
2.1 ¿ª·¢»·¾³µÄÑ¡Ôñ
ÓÉÓÚÓ²¼þÌõ¼þµÄ²»Í¬£¬ÄÔѪÑõ¼à²âÒÇÈí¼þµÄ̽ͷºÍÖն˲ÉÓò»Í¬µÄ¿ª·¢»·¾³¡£Ì½Í·Èí¼þµÄ¿ª·¢»·¾³²ÉÓÃADS1.2£¬ASD1.2Ö§³ÖARM10֮ǰµÄËùÓÐARMϵÁÐ΢¿ØÖÆÆ÷£¬Ö§³ÖÈí¼þµ÷ÊÔ¼°JTAGÓ²¼þ·ÂÕæµ÷ÊÔ£¬Ö§³Ö»ã±àÓïÑÔ¡¢CÓïÑÔºÍC++Ô´³ÌÐò£¬¾ßÓбàÒëЧÂʸߡ¢ÏµÍ³¿â¹¦ÄÜÇ¿µÈÌصã[2]¡£Öն˲ÉÓÃWinCE5.0ǶÈëʽ²Ù×÷ϵͳ£¬WinCEÊÇÒ»¸öMicrosoft¹«Ë¾¿ª·¢µÄ¿ª·Å¡¢¿ÉÉý¼¶µÄ32bitǶÈëʽ²Ù×÷ϵͳ£¬ÊÊÓÃÓÚ¸÷ÖÖǶÈëʽϵͳºÍ²úÆ·¡£WinCEµÄͼÐνçÃæ³öÉ«£¬²¢ÇÒ¾ßÓнṹ»¯¡¢Ä£¿é»¯ºÍ»ùÓÚWin32Ó¦ÓóÌÐò½Ó¿ÚÒÔ¼°Óë´¦ÀíÆ÷Î޹صÈÌصã[3]¡£ÖÕ¶ËÈí¼þµÄ¿ª·¢»·¾³²ÉÓÃEmbedded Visual C++(¼ò³ÆEVC)£¬EVCÊÇMicrosoft¹«Ë¾ÍƳöµÄWinCE³ÌÐò¿ÉÊÓ»¯¿ª·¢¹¤¾ß£¬Ö§³ÖSDK¡¢MFC¡¢ATL£¬¼æÓи߼¶ºÍµÍ¼¶ÓïÑÔµÄË«ÖØÐÔ¡¢Áé»îÐÔ£¬Ö´ÐÐЧÂʸß[4]¡£
2.2 Èí¼þ¹¦ÄÜÄ£¿éÉè¼Æ
ÄÔѪÑõ¼à²âÒǵÄÈí¼þÖ÷Òª°üÀ¨Ì½Í·ºÍÖÕ¶ËÁ½¸ö²¿·Ö£¬Ì½Í·Èí¼þÖ÷ÒªÓÉÊý¾Ý²É¼¯Ä£¿éºÍÎÞÏßÊÕ·¢Ä£¿é×é³É£¬Èçͼ2Ëùʾ¡£ÖÕ¶ËÈí¼þÖ÷ÒªÓÉÎÞÏßÊÕ·¢Ä£¿é¡¢Êý¾Ý´¦ÀíÄ£¿é¡¢½á¹ûÏÔʾģ¿é¡¢Êý¾Ý´æ´¢Ä£¿é×é³É£¬Èçͼ3Ëùʾ¡£
(1)Êý¾Ý²É¼¯Ä£¿é
Êý¾Ý²É¼¯Ä£¿éÖ÷Òª¹¦ÄÜÊDzɼ¯Í¨¹ý¹âµçת»»ºóµÄ°üº¬ÑªÑõÐÅÏ¢µÄµçѹÐźţ¬²¢¶ÔÐźÅ×öÂ˲¨¡¢·Å´ó¡¢A/Dת»»µÈÔ¤ÆÚ´¦Àí¡£
(2)ÎÞÏßÊÕ·¢Ä£¿é
ÎÞÏßÊÕ·¢Ä£¿é¹¦ÄÜÖ÷ÒªÊÇͨ¹ýRF24L01ÎÞÏßͨÐÅÄ£¿éµÄÇý¶¯ÊµÏÖ£¬½«Ì½Í·²É¼¯µÄ¾¹ýA/Dת»»ºóµÄÐźŷ¢Ë͸øÖնˡ£
(3)Êý¾Ý´¦ÀíÄ£¿é
Êý¾Ý´¦ÀíÄ£¿éÖ÷ÒªÊǶԲɼ¯µ½µÄѪÑõÐźÅÖµ½øÐÐÖÐÖµÂ˲¨¡¢¿ìËÙ¸µÀïÒ¶±ä»»£¬¼ÆËã³ö¹¦ÂÊÆס¢»¥Ïà¹ØϵÊý¡¢ÑªÑõ±¥ºÍ¶ÈµÈ²ÎÊý¡£
(4)½á¹ûÏÔʾģ¿é
½á¹ûÏÔʾģ¿éÖ÷Òª°üÀ¨Á½¸ö·½Ã棺һ·½ÃæʵʱµØÏÔʾѪÑõ±¥ºÍ¶ÈÖµ£»ÁíÒ»·½Ãæ¿ÉÒÔ½ØÈ¡ÈÎÒâÒ»¶ÎѪÑõ²¨ÐÎ×ö´¦Àí£¬Æä´¦Àí·½Ê½°üÀ¨²¨ÐηŴ󡢹¦ÂÊÆ×ÏÔʾ¡¢»¥Ïà¹Øº¯ÊýÏÔʾµÈ¡£
(5)Êý¾Ý´æ´¢Ä£
Êý¾Ý´æ´¢Ä£¿éÖ÷Òª´æ´¢²¡ÈË»ù±¾ÐÅÏ¢ºÍ²É¼¯µÄѪÑõÐÅÏ¢£¬²¢¿ÉÒÔ¶ÔÆä½øÐÐÌí¼Ó¡¢²éѯºÍɾ³ý¡£
2.3 Èí¼þ»ù±¾Á÷³Ì
̽ͷÈí¼þµÄÁ÷³ÌÈçͼ4Ëùʾ£¬Ì½Í·Æô¶¯ºó³õʼ»¯É豸°üÀ¨¶Ë¿Ú³õʼ»¯¡¢AD³õʼ»¯¡¢¶¨Ê±Æ÷³õʼ»¯¡¢SPI³õʼ»¯¡¢NRF24L01³õʼ»¯ºÍÖжϳõʼ»¯µÈ£¬È»ºóͨ¹ýAD¹¦Äܽ«²É¼¯µ½µÄµçѹÐźÅת»»³ÉÊýÖµÐźţ¬´ýÒ»×éÊýÖµ²É¼¯Íê±Ï´¥·¢Öжϡ£Öжϴ¦Àí°üÀ¨ÉèÖ÷¢ËÍģʽ¡¢·¢ÉäÊý¾ÝºÍ¼àÌýÓ¦´ðµÈ¹¦ÄÜ£¬Ò»×éÊýÖµ·¢ËÍÍê±ÏºóÖжϷµ»Ø£¬½øÐÐÏÂÒ»×éÊýÖµ²ÉÑù¡£
ÖÕ¶ËÈí¼þµÄÁ÷³ÌÈçͼ5Ëùʾ¡£ÖÕ¶ËÈí¼þÆô¶¯ºó³õʼ»¯É豸°üÀ¨½çÃæ¿Ø¼þ³õʼ»¯¡¢¶¨Ê±Æ÷³õʼ»¯¡¢Ï̳߳õʼ»¯ºÍÇý¶¯µÄ¼ÓÔØ£¬Çý¶¯Öаüº¬¶Ë¿Ú³õʼ»¯¡¢SPI³õʼ»¯¡¢NRF24L01³õʼ»¯µÈ£¬È»ºóÆô¶¯¶¨Ê±Æ÷£¬¶¨Ê±Æ÷Òç³ö´¦Àí°üÀ¨ÉèÖýÓÊÕģʽ¡¢½ÓÊÕÊý¾Ý¡¢±£´æÊý¾Ý¡¢Êý¾Ý´¦Àí¡¢¸üÐÂÏÔʾ¿Ø¼þµÈ¹¦ÄÜ¡£
3 Êý¾Ý¿âÉè¼Æ
3.1 Êý¾Ý¿â¼Ç¼¼°×Ö¶ÎÉè¼Æ
±¾Èí¼þ²ÉÓÃSQL Server CE 2.0Êý¾Ý¿â¡£SQL Server CE 2.0ÊÇÒ»¸öСÐ͵ÄÊý¾Ý¿â²úÆ·£¬¹¦ÄÜÇ¿´ó£¬Ö§³Ö½á¹¹»¯²éѯÓïÑÔ£¬ÌṩÁËÓëSQL ServerÒ»ÖµĿª·¢Ä£ÐͺÍAPI£¬ÊÇÒ»¿îÊÊÓÃÓÚǶÈëµ½Òƶ¯Ó¦Óõľ«¼òÊý¾Ý¿â²úÆ·¡£
¸ù¾Ýʵ¼ÊÐèÇóÉè¼ÆÁ˲¡ÈËÐÅÏ¢Êý¾Ý±í£¬ÓÃÀ´´æ´¢²¡È˵Ļù±¾ÐÅÏ¢¡£°üº¬µÄÊý¾Ý×ֶηֱðΪ£º²¡È˱àºÅ¡¢ÐÕÃû¡¢ÐÔ±ð¡¢ÄêÁä¡¢¼ì²âÈÕÆÚ¡¢Êý¾ÝÎļþ·¾¶¡£ÑªÑõÐÅÏ¢´æ´¢ÔÚÊý¾ÝÎļþ·¾¶ÏµÄÎı¾ÎĵµÖУ¬ÆäÄ¿µÄÊÇʹSQL Server CE 2.0ÔÚÌí¼Ó¼Ç¼ºó¹Ø±ÕÁ¬½Ó£¬ÒÔ¼õÉÙ¶ÔÖÕ¶Ëƽ̨ÄÚ´æµÄʹÓá£
3.2 Êý¾Ý¿â¹ÜÀí
²ÉÓÃSQL Server CE 2.0Êý¾Ý¿â£¬ÐèÒªÔÚPC¶ËºÍÖÕ¶Ëƽ̨°²×°ÏàÓ¦µÄÈí¼þ¡£PC¶ËÐèÒªµÄÈí¼þ»·¾³ÊÇWindows XP+IIS+SQL Server 2000+SQL Server 2000 SP3+SQL Server CE 2.0+SQL Server CE 2 SP3£¬½«PC¶Ë°²×°SQL Server CE 2.0Éú³ÉµÄssce2.0.dll¡¢Adoce31.dll¡¢Adoceoledb31.dll¡¢Adoxce31.dll¡¢Isqlw20.exe¡¢dllregister.exe¿½±´µ½ÖÕ¶ËWindowsĿ¼Ï£¬ÔËÐÐdllregister.exeÍê³ÉSQL Server CE 2.0µÄ×¢²á°²×°¡£Isqlw20.exeÊÇSQL Server CE 2.0µÄ²éѯ·ÖÎöÆ÷£¬¿ÉÒÔÓÃÀ´´´½¨Êý¾Ý¿â£¬Êý¾Ý¿âºó׺ÃûΪ.sdf¡£
Êý¾Ý¿âµÄÁ¬½ÓÓõ½ÁË°²×°SQL Server CE 2.0ʱÉú³ÉµÄvoconnection.h¡¢voconnection.cpp¡¢vorecordset.h¡¢vorecordset.cppÎļþ£¬Í¨¹ýCVOConnectionºÍCVORecordsetÁ½¸öÀàʵÏÖÊý¾Ý¿âµÄÁ¬½Ó¡£Æä¹Ø¼üÓï¾äÈçÏ£º
m_strDataSource=”Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0£»data source=\\My Document\\database.sdf”£¬m_strDataSource´ú±íÊý¾ÝÔ´¡£
¡¡Ê¹ÓÃCVORecordsetÀàµÄOpen·½·¨À´ÊµÏÖÊý¾Ý¿â¼Ç¼µÄ²éѯ¡¢Ìí¼Ó¡¢É¾³ýµÈ²Ù×÷¡£Æä¹Ø¼üÓï¾äÈçÏ£º
¡¡CVORecordset*dbRecordset£»´´½¨¼Ç¼¼¯¡£
¡¡CString SQL£»¶¨ÒåÓÃÀ´²éѯ¡¢Ìí¼Ó¡¢É¾³ýµÄSQlÓï¾ä¡£
¡¡SQL=_T(“select from patient_table order by patient_ID”)£»²éѯËùÓмǼ²¢°´ÕÕpatient_IDÅÅÐòµÄSQLÓï¾ä¡£
¡¡SQL.Format(_T(“Insert into patient_table values(%d£¬’%s’£¬’%s’£¬’%s’£¬’%s’£¬’%s’)”)£¬NewID£¬patient_name£¬patient_gender£¬patient_age£¬examination_date£¬datapath£»Ìí¼Ó¼Ç¼SQLÓï¾ä£¬²¡ÈËÐÅÏ¢´æ´¢µ½Ë÷ÒýΪNewIDµÄ¼Ç¼ÖС£
¡¡SQL.Format(_T(“delete from patient_table where patient_ID=%d”)£¬id)£»É¾³ý¼Ç¼SQLÓï¾ä£¬Êý¾Ý¿âÖÐË÷ÒýΪidµÄ¼Ç¼±»É¾³ý¡£
¡¡dbRecordset->Open(SQL)£»Ö´ÐÐSQLÓï¾ä£¬ÊµÏÖÊý¾Ý¿â¼Ç¼µÄ²éѯ¡¢Ìí¼Ó¡¢É¾³ý¹¦ÄÜ¡£
±¾ÎÄÏêϸ½éÉÜÁË»ùÓÚARMµÄÄÔѪÑõ¼à²âÒÇÈí¼þµÄϵͳ½á¹¹£¬¸÷Èí¼þ¹¦ÄÜÄ£¿éµÄÉè¼ÆÓëʵÏÖ¡£²ÉÓÃÁËÎÞÏßͨÐÅоƬNRF24L01£¬ÕâʹҽÉú²»Ðèµ½²¡·¿¼´¿ÉÁ˽ⲡÈ˵ÄÄÔѪÑõ×´¿ö£¬Ìá¸ßÁËÒ½ÉúÔÚ´¦ÀíÐÄÄÔѪ¹Ü²¡È˲¡Çé·½ÃæµÄЧÂÊ£»Öն˲ÉÓÃSQL Server CE 2.0£¬ÀàËÆÓÚPCƽ̨ϵÄSQL Server 2000£¬¹¦ÄÜÇ¿´ó¡¢¹ÜÀí·½±ã£¬¶ÔÒÔºóµÄ°æ±¾Éý¼¶ÊǺܺõÄÆ̵档Ŀǰ£¬»ùÓÚARMµÄÄÔѪÑõ¼à²âÒÇÓ²¼þÒÑÉè¼ÆÍê±Ï£¬´¦ÓÚ²âÊԽ׶Σ¬³É¹¦ºó¼´¿ÉÓëÈí¼þÏνӲâÊÔ£¬²¢½øÐÐÁÙ´²ÊÔÑé¡£
²Î¿¼ÎÄÏ×
[1] ÀîÁ¼³É£¬Àî¿ÑÇØîÈ.ÐÂÐͽüºìÍâÄÔѪÑõ¼ì²âÉ豸µÄÑÐÖÆ[J].¼¤¹âÓëºìÍ⣬2006(8).
[2] ÖÜÁ¢¹¦.ARMǶÈëʽϵͳʵÑé½Ì³Ì[M].±±¾©£º±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2004.
[3] ÖÜÁ¢¹¦.ARM&WinCEʵÑéÓëʵ¼ù-»ùÓÚS3C2410[M].±±¾©£º±±¾©º½¿Õº½Ìì´óѧ³ö°æÉ磬2007.
[4] Íô±ø£¬Àî´æ±ó£¬³ÂÅô£¬µÈ.EVC¸ß¼¶±à³Ì¼°ÆäÓ¦Óÿª·¢[M].±±¾©£ºÖйúË®ÀûË®µç³ö°æÉ磬2005.