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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

單片機(jī)關(guān)于關(guān)于圖像傳輸問題

作者:龍麗嫦   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年05月07日   【字體:
     關(guān)于單片機(jī)關(guān)于關(guān)于圖像傳輸?shù)膸讉(gè)問題。雖然是單片機(jī),但是也希望能給在使用4412開發(fā)板的朋友們一些思路。
 
 
      問題1:正在嘗試用STM32控制GPRS發(fā)送數(shù)據(jù)到互聯(lián)網(wǎng)。目前已經(jīng)可以發(fā)送簡(jiǎn)單數(shù)據(jù),并在服務(wù)器接收。由于GPRS模塊每次最多發(fā)送1K的內(nèi)容,所以,在發(fā)送靜態(tài)圖像時(shí)遇到問題。使用透?jìng)鞯脑挘绾螌⒁粋(gè)5K左右的圖像發(fā)送出去呢?現(xiàn)在手頭有一個(gè)小于5K圖像做測(cè)試,為16進(jìn)制的數(shù)組。
主函數(shù)中有:send_gprs_data(pic[4051],1);
調(diào)用函數(shù) void send_grps_data(char * bufp, unsigned int count){}
pic[4051]就是圖片數(shù)組,16進(jìn)制。定義是u8 pic[]={}
編譯時(shí)報(bào)錯(cuò):
main.c(106): error:  #167: argument of type "u8" is incompatible with parameter of type "char *"
 
      原因:
send_gprs_data((char*)pic,1);
1參數(shù)類型不對(duì),需要強(qiáng)制轉(zhuǎn)換
2參數(shù)是個(gè)數(shù)組的話后面不能帶[4051]
 
      問題2:?jiǎn)尾秸{(diào)試,一次可以發(fā)送數(shù)組中一個(gè)字節(jié)。我的困惑是,1,原先的pic[]數(shù)組內(nèi)裝的16進(jìn)制數(shù)據(jù),每次發(fā)送的是AE,73這樣的數(shù)據(jù),我在接收 端是否還要進(jìn)行轉(zhuǎn)換?2,在發(fā)送控制部分,我用的是strlen(),但是有些人說要用sizeof(),這里,在強(qiáng)制轉(zhuǎn)換(char*)pic后,是否 在末尾添加了"\0",用strlen()行嗎?3,我在查看pic.c文件時(shí),發(fā)現(xiàn)里面有好多空格,有8058個(gè)16進(jìn)制數(shù)據(jù)(自己數(shù)的),但是用 strlen()得出結(jié)果4516。
 
      原因:每次發(fā)送的是AE,73這樣的數(shù)據(jù),在接收端不需要進(jìn)行轉(zhuǎn)換,進(jìn)制不是問題。
不能在末尾添加了"\0"。strlen原理是查找結(jié)束符來判斷長(zhǎng)度的,你需要發(fā)送的是"數(shù)據(jù)"不是字符串,所以需要用sizeof強(qiáng)制轉(zhuǎn)換不會(huì)改變"數(shù)值"僅僅改變類型,所以不會(huì)末尾給你添加"\0"
關(guān)閉窗口