欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3505|回復(fù): 8
收起左側(cè)

請教:通過串口(TX,RX)發(fā)送歌曲名給MCU,歌曲名格式是utf8,如何解析呢?

[復(fù)制鏈接]
ID:731155 發(fā)表于 2020-6-20 16:15 | 顯示全部樓層 |閱讀模式
2黑幣
本帖最后由 hei51com 于 2020-6-24 10:17 編輯

需要通過串口(TX,RX)發(fā)送歌曲名(utf8 格式)給MCU。

MCU要求以下面的格式發(fā):
比如歌曲名是CD1,那發(fā)送0x43 0x44 0x31。
這應(yīng)該是要以ASCII 十六進制發(fā)給MCU吧?

那是不是要把歌曲名utf8 格式轉(zhuǎn)換為ASCII 十六進制,然后通過串口把ASCII 十六進制發(fā)給MCU?

歌曲名(utf8格式)、中、英文怎么區(qū)別處理?

感謝回答,可能是我描述的不太清楚,再補充以下
//底層只給了以下結(jié)構(gòu)體,char *name 是歌曲名
typedef struct GetFileNameEvtTag {
        QEvt super;
        char *name; //USB 歌曲名(utf8 格式)
        int num;
} GetFileNameEvt;


//調(diào)用
GetFileNameEvt *pe = (GetFileNameEvt *)e;
UINT16 name_len =  strlen(pe->name);
printf(" song name %s,len %d\n",pe->name,name_len);  //U盤里面的歌曲名是“CD1.mp3”,這里打印pe->name 也是"CD1.mp3",說明這樣調(diào)用是對的。

我把歌曲名改為CD1我.mp3,打印pe->name出來是"CD1鎴mp3",有中文時打印出來就不正確。

問題:
1.歌曲名有中、英文,怎么打印才能正常?
2.歌曲名有中、英文,怎么以ASCII 十六進制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。




最佳答案

查看完整內(nèi)容

可以以文本形式發(fā)送字符串,如"CD1",接收端把數(shù)據(jù)串按字節(jié)保存在緩存數(shù)組,如果傳輸?shù)男畔⒂幸?guī)律且范圍不太大,可以把相關(guān)信息創(chuàng)建一個二維數(shù)組,用查表法解析播放指令。
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-6-20 16:15 | 顯示全部樓層
可以以文本形式發(fā)送字符串,如"CD1",接收端把數(shù)據(jù)串按字節(jié)保存在緩存數(shù)組,如果傳輸?shù)男畔⒂幸?guī)律且范圍不太大,可以把相關(guān)信息創(chuàng)建一個二維數(shù)組,用查表法解析播放指令。
回復(fù)

使用道具 舉報

ID:648281 發(fā)表于 2020-6-20 21:48 | 顯示全部樓層
沒看明白你是要做什么
回復(fù)

使用道具 舉報

ID:419968 發(fā)表于 2020-6-22 00:08 | 顯示全部樓層
英文字母發(fā)送 就是ASCII嗎
回復(fù)

使用道具 舉報

ID:786561 發(fā)表于 2020-6-22 13:12 | 顯示全部樓層
Ascll只是可以吧字母什么的翻譯成2進制,你2進制發(fā)過去,mcu里面再把數(shù)據(jù)按ascll碼規(guī)則變成字符,不就是完成數(shù)據(jù)交互了
回復(fù)

使用道具 舉報

ID:731155 發(fā)表于 2020-6-24 10:17 | 顯示全部樓層
51hei**1140 發(fā)表于 2020-6-20 21:48
沒看明白你是要做什么

感謝回答,可能是我描述的不太清楚,再補充以下

//底層只給了以下結(jié)構(gòu)體,char *name 是歌曲名
typedef struct GetFileNameEvtTag {
        QEvt super;
        char *name; //USB 歌曲名(utf8 格式)
        int num;
} GetFileNameEvt;

//調(diào)用
GetFileNameEvt *pe = (GetFileNameEvt *)e;
UINT16 name_len =  strlen(pe->name);
printf(" song name %s,len %d\n",pe->name,name_len);  //U盤里面的歌曲名是“CD1.mp3”,這里打印pe->name 也是"CD1.mp3",說明這樣調(diào)用是對的。

我把歌曲名改為CD1我.mp3,打印pe->name出來是"CD1鎴mp3",有中文時打印出來就不正確。

問題:
1.歌曲名有中、英文,怎么打印才能正常?
2.歌曲名有中、英文,怎么以ASCII 十六進制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

ID:731155 發(fā)表于 2020-6-24 10:20 | 顯示全部樓層
adject 發(fā)表于 2020-6-22 00:08
英文字母發(fā)送 就是ASCII嗎

感謝回答!
是的,但歌曲名有中、英文的時候,怎么發(fā)送給MCU呢?或者怎么判斷有沒有中文(是中文就不發(fā)送給MCU)
回復(fù)

使用道具 舉報

ID:731155 發(fā)表于 2020-6-24 10:21 | 顯示全部樓層
scll1 發(fā)表于 2020-6-22 13:12
Ascll只是可以吧字母什么的翻譯成2進制,你2進制發(fā)過去,mcu里面再把數(shù)據(jù)按ascll碼規(guī)則變成字符,不就是完 ...

感謝回答,可能是我描述的不太清楚,再補充以下
//底層只給了以下結(jié)構(gòu)體,char *name 是歌曲名
typedef struct GetFileNameEvtTag {
        QEvt super;
        char *name; //USB 歌曲名(utf8 格式)
        int num;
} GetFileNameEvt;

//調(diào)用
GetFileNameEvt *pe = (GetFileNameEvt *)e;
UINT16 name_len =  strlen(pe->name);
printf(" song name %s,len %d\n",pe->name,name_len);  //U盤里面的歌曲名是“CD1.mp3”,這里打印pe->name 也是"CD1.mp3",說明這樣調(diào)用是對的。

我把歌曲名改為CD1我.mp3,打印pe->name出來是"CD1鎴mp3",有中文時打印出來就不正確。

問題:
1.歌曲名有中、英文,怎么打印才能正常?
2.歌曲名有中、英文,怎么以ASCII 十六進制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

ID:731155 發(fā)表于 2020-6-24 10:21 | 顯示全部樓層
wulin 發(fā)表于 2020-6-22 17:19
可以以文本形式發(fā)送字符串,如"CD1",接收端把數(shù)據(jù)串按字節(jié)保存在緩存數(shù)組,如果傳輸?shù)男畔⒂幸?guī)律且范圍不太 ...

感謝回答,可能是我描述的不太清楚,再補充以下
//底層只給了以下結(jié)構(gòu)體,char *name 是歌曲名
typedef struct GetFileNameEvtTag {
        QEvt super;
        char *name; //USB 歌曲名(utf8 格式)
        int num;
} GetFileNameEvt;

//調(diào)用
GetFileNameEvt *pe = (GetFileNameEvt *)e;
UINT16 name_len =  strlen(pe->name);
printf(" song name %s,len %d\n",pe->name,name_len);  //U盤里面的歌曲名是“CD1.mp3”,這里打印pe->name 也是"CD1.mp3",說明這樣調(diào)用是對的。

我把歌曲名改為CD1我.mp3,打印pe->name出來是"CD1鎴mp3",有中文時打印出來就不正確。

問題:
1.歌曲名有中、英文,怎么打印才能正常?
2.歌曲名有中、英文,怎么以ASCII 十六進制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表