OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4075|回复: 0

文件系统cc936大数组移植

[复制链接]

2

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2014-3-27
在线时间
3 小时
发表于 2016-7-23 17:22:02 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 zn5568 于 2016-7-23 17:36 编辑

本人使用战舰mini板,由于内存有限,所以想把cc936里面的大数组保存到别处,在查了资料以后有一种解决方案是把G to U 和U to G码表以sys文件形式放在sd卡根目录,然后改写程序。/*************************************************************************************************************   unicode_gbk.c
*************************************************************************************************************/  
#include "sys.h"  
#include "unicode_gbk.h"  
#include "usart.h"         


#define GBK_UNICODE_IS_SDCARD   1   //GBK,UNICODE±àÂë±íÔúSD¿¨»òÆäËü′æ′¢Æ÷ÖD  




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
//Âë±íÔúSD¿¨ÖD  
#if GBK_UNICODE_IS_SDCARD  

#include "ff.h"  
#define GtoU    "0:/GtoU.sys"       //GBK ×a UCICODE ±àÂë±íλÖà 
#define UtoG    "0:/UtoG.sys"       //UCICODE ×a GBK ±àÂë±íλÖà 

static  FIL   GtoU_File;            //GtoU Îļt1¤×÷Çø  
static  FIL   UtoG_File;            //UtoG Îļt1¤×÷Çø  


/*************************************************************************************************************************
* oˉêy    :   u8 GBK_UNICODE_Init(void)
* 1|Äü    :   3õê¼»ˉGBK,UNICODE±àÂë±í
* 2Îêy    :   ÎT   
* ·μ»Ø    :   0:3õê¼»ˉ3é1|;ÆäËü:3õê¼»ˉê§°ü
* òààμ    :   μ×2ã¶áD′oˉêy
* ×÷Õß    :   cp1300@139.com
* ê±¼ä    :   2013-04-18
* ×îoóDT¸Äê±¼ä : 2013-04-18
* ËμÃ÷    :   ÎT
*************************************************************************************************************************/   
u8 GBK_UNICODE_Init(void)  
{  
    FRESULT status;  

    status = f_open(&UtoG_File, UtoG, FA_OPEN_EXISTING | FA_READ);  //òÔÖ»¶á·½ê½′ò¿aUNICODEtoGBKÂë±í,′ò¿aê§°ü·μ»Ø′íÎó  
    if(status != FR_OK) //′ò¿aê§°ü  
    {  
        printf("open %s error (%d)!\r\n",UtoG, status);  
        return 1;  
    }  

    status = f_open(&GtoU_File, GtoU, FA_OPEN_EXISTING | FA_READ);  //òÔÖ»¶á·½ê½′ò¿aGBKtoUNICODEÂë±í,′ò¿aê§°ü·μ»Ø′íÎó  
    if(status != FR_OK) //′ò¿aê§°ü  
    {  
        printf("open %s error (%d)!\r\n",GtoU, status);  
        return 1;  
    }  


    return 0;  
}  




/*************************************************************************************************************************
* oˉêy    :   u16 OneGBKtoUNICODE(u16 GBKCode)
* 1|Äü    :   ½«GBK±àÂë×a»»Îaunicode±àÂë
* 2Îêy    :   GBK  
* ·μ»Ø    :   unicode
* òààμ    :   μ×2ã¶áD′oˉêy
* ×÷Õß    :   cp1300@139.com
* ê±¼ä    :   20120602
* ×îoóDT¸Äê±¼ä : 20120602
* ËμÃ÷    :   DèòaflashÖDμÄÂë±íÖ§3Ö
            GBKÂ뷶Χ,¸ß8λ:0x81~0xfe;μí8λ:0x40~0xfe
*************************************************************************************************************************/   
u16 OneGBKtoUNICODE(u16 GBKCode)  
{  
    u8 ch,cl;  
    UINT bw;  
    u16 data;  

    ch = GBKCode >> 8;  
    cl = GBKCode & 0x00ff;  

    ch -= 0x81;  
    cl -= 0x40;  

    f_lseek(&GtoU_File, (ch*0xbf+cl)*2);                        //ÎļtÖ¸Õëμ÷μ½Æ«òÆÎ»Öà 
    if(f_read(&GtoU_File, (u8 *)&data, 2, &bw) != FR_OK)        //¶áè¡2×Ö½ú  
    {  
       return 0x1fff;  
    }  

    return (ch<=0x7d && cl<=0xbe) ? data : 0x1fff;  



   /*   ch = GBKCode >> 8;
    cl = GBKCode & 0x00ff;

    ch -= 0x81;
    cl -= 0x40;  
    return (ch<=0x7d && cl<=0xbe) ? wUnicodes[ch*0xbf+cl] : 0x1fff;      */  

}  



/*************************************************************************************************************************
* oˉêy    :   u16 OneUNICODEtoGBK(u16 unicode)
* 1|&#196;ü    :   &#189;&#171;unicode±à&#194;&#235;×a&#187;&#187;&#206;aGBK±à&#194;&#235;
* 2&#206;êy    :   unicode
* ·μ&#187;&#216;    :   GBK  
* òààμ    :   μ×2&#227;&#182;áD′oˉêy
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   20120602
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 20120602
* &#203;μ&#195;÷    :   Dèòaflash&#214;Dμ&#196;&#194;&#235;±í&#214;§3&#214;
            GBK&#194;&#235;·&#182;&#206;§,&#184;&#223;8&#206;&#187;:0x81~0xfe;μí8&#206;&#187;:0x40~0xfe
*************************************************************************************************************************/   
u16 OneUNICODEtoGBK(u16 unicode)  //ó&#195;&#182;t·&#214;2é&#213;ò&#203;&#227;·¨  
{  
    u32 offset;  
    u16 temp;  
    UINT bw;  
    u8 buff[2];  

    if(unicode<=0X9FA5)  
    {  
        if(unicode>=0X4E00)  
            offset=unicode-0X4E00;//0x1b87      //0X4E00,oo×&#214;&#198;&#171;ò&#198;&#198;eμ&#227;  
        else  
            return 0x2020;      //2&#187;&#196;ü&#207;&#212;ê&#190;μ&#196;×&#214;·&#251;&#190;í&#184;&#248;á&#189;&#184;&#246;&#191;&#213;&#184;&#241;ì&#238;3&#228;,·&#241;&#212;ò&#194;ò&#194;&#235;  
    }     
    else if(unicode>0X9FA5)//ê&#199;±êμ&#227;·&#251;o&#197;  
    {  
        if(unicode<0XFF01||unicode>0XFF61)  
            return 0x2020;//&#195;&#187;óD&#182;&#212;ó|±à&#194;&#235;  //2&#187;&#196;ü&#207;&#212;ê&#190;μ&#196;×&#214;·&#251;&#190;í&#184;&#248;á&#189;&#184;&#246;&#191;&#213;&#184;&#241;ì&#238;3&#228;,·&#241;&#212;ò&#194;ò&#194;&#235;  
        offset=unicode-0XFF01+0X9FA6-0X4E00;      
    }  
    offset *= 2;  


    f_lseek(&UtoG_File, offset);                        //&#206;&#196;&#188;t&#214;&#184;&#213;&#235;μ÷μ&#189;&#198;&#171;ò&#198;&#206;&#187;&#214;&#195;  
    if(f_read(&UtoG_File, buff, 2, &bw) != FR_OK)   //&#182;áè&#161;2×&#214;&#189;ú  
    {  
       return 0x2020;  
    }  

    temp = buff[0];  
    temp <<= 8;  
    temp += buff[1];  
    return temp;    //·μ&#187;&#216;&#213;òμ&#189;μ&#196;±à&#194;&#235;                  
}  











////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
#else                               //&#194;&#235;±í&#214;±&#189;ó&#212;ú′ú&#194;&#235;&#214;D  
#include "unicode_gbk_code.h"  


/*************************************************************************************************************************
* oˉêy    :   u8 GBK_UNICODE_Init(void)
* 1|&#196;ü    :   3&#245;ê&#188;&#187;ˉGBK,UNICODE±à&#194;&#235;±í
* 2&#206;êy    :   &#206;T   
* ·μ&#187;&#216;    :   0:3&#245;ê&#188;&#187;ˉ3é1|;&#198;&#228;&#203;ü:3&#245;ê&#188;&#187;ˉê§°ü
* òààμ    :   μ×2&#227;&#182;áD′oˉêy
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   2013-04-18
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 2013-04-18
* &#203;μ&#195;÷    :   &#206;T
*************************************************************************************************************************/   
u8 GBK_UNICODE_Init(void)  
{  
    return 0;  
}  




/*************************************************************************************************************************
* oˉêy    :   u16 OneGBKtoUNICODE(u16 GBKCode)
* 1|&#196;ü    :   &#189;&#171;GBK±à&#194;&#235;×a&#187;&#187;&#206;aunicode±à&#194;&#235;
* 2&#206;êy    :   GBK  
* ·μ&#187;&#216;    :   unicode
* òààμ    :   μ×2&#227;&#182;áD′oˉêy
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   20120602
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 20120602
* &#203;μ&#195;÷    :   Dèòaflash&#214;Dμ&#196;&#194;&#235;±í&#214;§3&#214;
            GBK&#194;&#235;·&#182;&#206;§,&#184;&#223;8&#206;&#187;:0x81~0xfe;μí8&#206;&#187;:0x40~0xfe
*************************************************************************************************************************/   
u16 OneGBKtoUNICODE(u16 GBKCode)  
{  
    u8 ch,cl;  

    ch = GBKCode >> 8;  
    cl = GBKCode & 0x00ff;  

    ch -= 0x81;  
    cl -= 0x40;  
    return (ch<=0x7d && cl<=0xbe) ? wUnicodes[ch*0xbf+cl] : 0x1fff;  

}  



/*************************************************************************************************************************
* oˉêy    :   u16 OneUNICODEtoGBK(u16 unicode)
* 1|&#196;ü    :   &#189;&#171;unicode±à&#194;&#235;×a&#187;&#187;&#206;aGBK±à&#194;&#235;
* 2&#206;êy    :   unicode
* ·μ&#187;&#216;    :   GBK  
* òààμ    :   μ×2&#227;&#182;áD′oˉêy
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   20120602
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 20120602
* &#203;μ&#195;÷    :   Dèòaflash&#214;Dμ&#196;&#194;&#235;±í&#214;§3&#214;
            GBK&#194;&#235;·&#182;&#206;§,&#184;&#223;8&#206;&#187;:0x81~0xfe;μí8&#206;&#187;:0x40~0xfe
*************************************************************************************************************************/   
u16 OneUNICODEtoGBK(u16 unicode)  //ó&#195;&#182;t·&#214;2é&#213;ò&#203;&#227;·¨  
{  
    u32 offset;  
    u16 temp;  

    if(unicode<=0X9FA5)  
    {  
        if(unicode>=0X4E00)  
            offset=unicode-0X4E00;//0x1b87      //0X4E00,oo×&#214;&#198;&#171;ò&#198;&#198;eμ&#227;  
        else  
            return 0x2020;      //2&#187;&#196;ü&#207;&#212;ê&#190;μ&#196;×&#214;·&#251;&#190;í&#184;&#248;á&#189;&#184;&#246;&#191;&#213;&#184;&#241;ì&#238;3&#228;,·&#241;&#212;ò&#194;ò&#194;&#235;  
    }     
    else if(unicode>0X9FA5)//ê&#199;±êμ&#227;·&#251;o&#197;  
    {  
        if(unicode<0XFF01||unicode>0XFF61)  
            return 0x2020;//&#195;&#187;óD&#182;&#212;ó|±à&#194;&#235;  //2&#187;&#196;ü&#207;&#212;ê&#190;μ&#196;×&#214;·&#251;&#190;í&#184;&#248;á&#189;&#184;&#246;&#191;&#213;&#184;&#241;ì&#238;3&#228;,·&#241;&#212;ò&#194;ò&#194;&#235;  
        offset=unicode-0XFF01+0X9FA6-0X4E00;      
    }  
    offset *= 2;  

    temp = wGBKs[offset];  
    temp <<= 8;  
    temp += wGBKs[offset+1];  
    return temp;    //·μ&#187;&#216;&#213;òμ&#189;μ&#196;±à&#194;&#235;                  
}  


#endif //GBK_UNICODE_IS_SDCARD  



/*************************************************************************************************************************
* oˉêy    :   void GBKToUnicode(u16 *pGBK, u16 *pUnicode, u32 cnt)
* 1|&#196;ü    :   &#189;&#171;&#182;à&#184;&#246;GBK±à&#194;&#235;×a&#187;&#187;&#206;aUNICODE
* 2&#206;êy    :   pGBK:GBK±à&#194;&#235;&#187;o3&#229;&#199;&#248;
*           pUnicode:UNCODE±à&#194;&#235;&#187;o3&#229;&#199;&#248;
*           cnt:×a&#187;&#187;±à&#194;&#235;&#184;&#246;êy
* ·μ&#187;&#216;    :   &#206;T   
* òààμ    :   OneGBKtoUNICODE
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   20130403
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 20130403
* &#203;μ&#195;÷    :   Dèòaflash&#214;Dμ&#196;&#194;&#235;±í&#214;§3&#214;
            GBK&#194;&#235;·&#182;&#206;§,&#184;&#223;8&#206;&#187;:0x81~0xfe;μí8&#206;&#187;:0x40~0xfe
*************************************************************************************************************************/   
void GBKToUnicode(u16 *pGBK, u16 *pUnicode, u32 cnt)  
{  
    while(cnt --)  
    {  
        *pUnicode = OneGBKtoUNICODE(*pGBK ++);  
        pUnicode ++;  
    }  
}  




/*************************************************************************************************************************
* oˉêy    :   void UnicodeToGBK(u16 *pUnicode, u16 *pGBK, u32 cnt)
* 1|&#196;ü    :   &#189;&#171;&#182;à&#184;&#246;UNICODE±à&#194;&#235;×a&#187;&#187;&#206;aGBK
* 2&#206;êy    :   pUnicode:UNCODE±à&#194;&#235;&#187;o3&#229;&#199;&#248;
*           pGBK:GBK±à&#194;&#235;&#187;o3&#229;&#199;&#248;
*           cnt:×a&#187;&#187;±à&#194;&#235;&#184;&#246;êy
* ·μ&#187;&#216;    :   &#206;T   
* òààμ    :   OneUNICODEtoGBK
* ×÷&#213;&#223;    :   cp1300@139.com
* ê±&#188;&#228;    :   20130403
* ×&#238;oóDT&#184;&#196;ê±&#188;&#228; : 20130403
* &#203;μ&#195;÷    :   Dèòaflash&#214;Dμ&#196;&#194;&#235;±í&#214;§3&#214;
            GBK&#194;&#235;·&#182;&#206;§,&#184;&#223;8&#206;&#187;:0x81~0xfe;μí8&#206;&#187;:0x40~0xfe
*************************************************************************************************************************/   
void UnicodeToGBK(u16 *pUnicode, u16 *pGBK, u32 cnt)  
{  
    while(cnt --)  
    {  
        *pGBK = OneUNICODEtoGBK(*pUnicode ++);  
        pGBK ++;  
    }  
}  

/*************************************************************************************************************
* unicode_gbk.h
*************************************************************************************************************/
#ifndef UNICODE_GBK_H_  
#define UNICODE_GBK_H_  
#include "sys.h"  

u8 GBK_UNICODE_Init(void);
u16 OneGBKtoUNICODE(u16 GBKCode);
u16 OneUNICODEtoGBK(u16 unicode);

void GBKToUnicode(u16 *pGBK, u16 *pUnicode, u32 cnt);   //&#189;&#171;&#182;à&#184;&#246;GBK±à&#194;&#235;×a&#187;&#187;&#206;aUNICODE  
void UnicodeToGBK(u16 *pUnicode, u16 *pGBK, u32 cnt);   //&#189;&#171;&#182;à&#184;&#246;UNICODE±à&#194;&#235;×a&#187;&#187;&#206;aGBK  


#endif /*UNICODE_GBK_H_*/  



[size=13.3333px]cc936.c[size=13.3333px]

[size=13.3333px]
/*------------------------------------------------------------------------*/
/* Unicode - OEM code bidirectional converter  (C)ChaN, 2009              */
/*                                                                        */
/* CP936 (Simplified Chinese GBK)                                         */
/*------------------------------------------------------------------------*/

#include "../ff.h"

#include "unicode_gbk.h" //????  
#if !_USE_LFN || _CODE_PAGE != 936
//#error This file is not needed in current configuration. Remove from the project.
#endif
#if    1
WCHAR ff_convert (  /* Converted code, 0 means conversion error */  
    WCHAR   src,    /* Character code to be converted */  
    UINT    dir     /* 0: Unicode to OEMCP, 1: OEMCP to Unicode */  
)  
{  
    WCHAR c;  

    if (src < 0x80) {    /* ASCII */  
        c = src;  
    }   
    else   
    {  
        if (dir)   
        {       /* OEMCP to unicode */  

            c = OneGBKtoUNICODE(src);  
        }   
        else   
        {       /* Unicode to OEMCP */  
            c = OneUNICODEtoGBK(src);  
        }  
    }  

    return c;  
}  
#endif  


WCHAR ff_wtoupper (        /* Upper converted character */
        WCHAR chr                /* Input character */
)
{
        static const WCHAR tbl_lower[] = { 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0x00A2, 0x00A3, 0x00A5, 0x00AC, 0x00AF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0x0FF, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x148, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x17E, 0x192, 0x3B1, 0x3B2, 0x3B3, 0x3B4, 0x3B5, 0x3B6, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3BE, 0x3BF, 0x3C0, 0x3C1, 0x3C3, 0x3C4, 0x3C5, 0x3C6, 0x3C7, 0x3C8, 0x3C9, 0x3CA, 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437, 0x438, 0x439, 0x43A, 0x43B, 0x43C, 0x43D, 0x43E, 0x43F, 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447, 0x448, 0x449, 0x44A, 0x44B, 0x44C, 0x44D, 0x44E, 0x44F, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45A, 0x45B, 0x45C, 0x45E, 0x45F, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0 };
        static const WCHAR tbl_upper[] = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x21, 0xFFE0, 0xFFE1, 0xFFE5, 0xFFE2, 0xFFE3, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0x178, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x179, 0x17B, 0x17D, 0x191, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, 0x398, 0x399, 0x39A, 0x39B, 0x39C, 0x39D, 0x39E, 0x39F, 0x3A0, 0x3A1, 0x3A3, 0x3A4, 0x3A5, 0x3A6, 0x3A7, 0x3A8, 0x3A9, 0x3AA, 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41A, 0x41B, 0x41C, 0x41D, 0x41E, 0x41F, 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, 0x428, 0x429, 0x42A, 0x42B, 0x42C, 0x42D, 0x42E, 0x42F, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, 0x408, 0x409, 0x40A, 0x40B, 0x40C, 0x40E, 0x40F, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0x216C, 0x216D, 0x216E, 0x216F, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0 };
        int i;


        for (i = 0; tbl_lower && chr != tbl_lower; i++) ;

        return tbl_lower ? tbl_upper : chr;
}

[size=13.3333px]

[size=13.3333px]请问下这个对吗?如何初始化,或这有其他的放在sd卡的方法吗?

UtoG.rar

54.11 KB, 下载次数: 143

代码.zip

534.85 KB, 下载次数: 153

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 12:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表