久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3025|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:731155 發(fā)表于 2020-6-20 16:15 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
2黑幣
本帖最后由 hei51com 于 2020-6-24 10:17 編輯

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

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

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

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

感謝回答,可能是我描述的不太清楚,再補(bǔ)充以下
//底層只給了以下結(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 十六進(jìn)制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。




最佳答案

查看完整內(nèi)容

可以以文本形式發(fā)送字符串,如"CD1",接收端把數(shù)據(jù)串按字節(jié)保存在緩存數(shù)組,如果傳輸?shù)男畔⒂幸?guī)律且范圍不太大,可以把相關(guān)信息創(chuàng)建一個二維數(shù)組,用查表法解析播放指令。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(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ù)

使用道具 舉報

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

使用道具 舉報

6#
ID:731155 發(fā)表于 2020-6-24 10:17 | 只看該作者
51hei**1140 發(fā)表于 2020-6-20 21:48
沒看明白你是要做什么

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

//底層只給了以下結(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 十六進(jìn)制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

7#
ID:731155 發(fā)表于 2020-6-24 10:20 | 只看該作者
adject 發(fā)表于 2020-6-22 00:08
英文字母發(fā)送 就是ASCII嗎

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

使用道具 舉報

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

感謝回答,可能是我描述的不太清楚,再補(bǔ)充以下
//底層只給了以下結(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 十六進(jìn)制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

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

感謝回答,可能是我描述的不太清楚,再補(bǔ)充以下
//底層只給了以下結(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 十六進(jìn)制發(fā)給MCU?或者以怎么格式發(fā)給MCU(MCU收到后又怎么解析)。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产乱码久久蜜臀 | 成人在线小视频 | 99久久久国产精品 | 日本欧美在线视频 | 精品99在线 | 久久久精品网站 | 免费亚洲成人 | 国产在线网址 | 日韩综合在线视频 | 北条麻妃视频在线观看 | 欧美精品一区二区三区在线 | a免费视频 | 国产中文区二幕区2012 | 久久91av | 毛色毛片免费看 | 99在线免费视频 | 亚洲欧美国产一区二区三区 | 可以在线观看av的网站 | 97人人澡人人爽91综合色 | 3p视频在线观看 | 国产欧美精品一区二区 | 亚洲高清在线 | 色综合国产 | 男人天堂网址 | 日日夜夜天天干 | 亚洲精品一区二区二区 | 国产欧美视频一区二区 | 插插宗合网| 欧美影院 | 国产乱人伦| 久久综合久 | 99热在线观看精品 | 日韩久久久久久久 | 精品国产乱码久久久久久影片 | 91在线观看 | 国产精品视频免费观看 | 狠狠久久综合 | 久久av一区二区三区 | 日韩在线h| 免费一级欧美在线观看视频 | 综合久久综合久久 |