国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

esp8266 sprintf函數(shù)使用溢出問(wèn)題

2019-11-11 01:36:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在使用ESP8266 跑freertos操作系統(tǒng)時(shí),如果使用sPRintf函數(shù)進(jìn)行將其他數(shù)據(jù)轉(zhuǎn)換成字符串格式時(shí),如果將存儲(chǔ)字符串的數(shù)組定義成局部數(shù)組會(huì)出現(xiàn)程序跑死然后重啟的問(wèn)題。為了避免程序跑死問(wèn)題,需要將存儲(chǔ)字符串?dāng)?shù)組定義成全局?jǐn)?shù)組或者局部數(shù)組用static關(guān)鍵字聲明。出現(xiàn)這種問(wèn)題的原因是在線程切換時(shí)數(shù)組的地址偏移出現(xiàn)了問(wèn)題,來(lái)回切換地址出現(xiàn)了問(wèn)題。一般情況下我們定義成全局變量就不會(huì)出現(xiàn)這種問(wèn)題,防止堆棧溢出。

還有一個(gè)出現(xiàn)重啟的原因是存儲(chǔ)字符串?dāng)?shù)據(jù)的數(shù)組定義的過(guò)小,通過(guò)sprintf函數(shù)的返回值來(lái)判斷需要給數(shù)組開辟多大的空間。

下面是例子:

#define BUFF_SIZE         9

uint8 signall[BUFF_SIZE];     //定義為全局變量

len = sprintf(signall,"%d,  %d", idx++, wifi_signal);    


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 华阴市| 鄂尔多斯市| 平江县| 镇巴县| 紫云| 白城市| 石阡县| 东方市| 淳安县| 丰镇市| 桃园市| 江源县| 开平市| 阿克苏市| 兴义市| 台湾省| 汕头市| 靖州| 喀喇沁旗| 凤阳县| 衡阳市| 房产| 上饶县| 九台市| 诸城市| 辽阳市| 皋兰县| 宜昌市| 永昌县| 石柱| 乐清市| 凌云县| 搜索| 湘阴县| 开封县| 永安市| 互助| 孝昌县| 嘉荫县| 雷波县| 绍兴县|