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

標(biāo)題: 關(guān)于C語言結(jié)構(gòu)體轉(zhuǎn)換為數(shù)組 [打印本頁]

作者: zyluglugl    時間: 2022-1-1 20:34
標(biāo)題: 關(guān)于C語言結(jié)構(gòu)體轉(zhuǎn)換為數(shù)組
用于STM32F103C8TC 存儲數(shù)據(jù)
結(jié)構(gòu)體
mokedata[20]
mokedata【20】長度為960
void write_smok_to_flash( void )
{
    uint16_t shuju[960];
    rt_memset(shuju, 0, 960 );
    rt_memcpy(shuju, &mokedata,960);
    FLASH_WriteData(mode_address,mokedata, 960);      /* 寫入 */
}

原來用庫函數(shù)寫入FLASH報錯,后面修改
Stack_Size      EQU     0x00000200 為
Stack_Size      EQU     0x00000800 不報錯了
現(xiàn)在用RT-THread 寫入時不知道修改哪里,有哪位大神知道嗎?


作者: Hephaestus    時間: 2022-1-1 22:20
你沒學(xué)過數(shù)據(jù)結(jié)構(gòu),不知道局部變量是在堆棧上臨時生成的,退出函數(shù)以后自動失效?
uint16_t shuju[960];
這句話一下子就消耗了0x780 bytes stack
Stack_size equ 0x200 大丈夫?
作者: zyluglugl    時間: 2022-1-1 22:50
Hephaestus 發(fā)表于 2022-1-1 22:20
你沒學(xué)過數(shù)據(jù)結(jié)構(gòu),不知道局部變量是在堆棧上臨時生成的,退出函數(shù)以后自動失效?
uint16_t shuju[960];
...

大神,救救我!
作者: 13205495918    時間: 2022-1-2 08:20
局部變量太多,該次函數(shù)調(diào)用的時候,局部變量進(jìn)棧,900+個局部變量一下就把棧空間用完了,你可以把局部數(shù)組下標(biāo)的個數(shù)減小,或者調(diào)整一下棧區(qū)的大小。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1