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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2572|回復: 1
打印 上一主題 下一主題
收起左側

合泰單片機CMG的層數超過堆棧層數,這是內存不夠了的意思嗎?

[復制鏈接]
跳轉到指定樓層
樓主
碰到合泰單片機的問題,這是內存不夠了的意思嗎

1.png (13.31 KB, 下載次數: 30)

1.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:401564 發表于 2021-7-20 23:58 | 只看該作者
合泰單片機是硬件堆棧,8051是軟件堆棧,兩者是不一樣的
硬件堆棧是用硬件來進行堆棧操作的,它的層數是有限的,有的是四五層,有的是十多層
調用一次函數用一層,函數里面再調用一次其它函數就又用一層,這樣就用了兩層了(8051不需要在乎這個東西)
硬件堆棧就不一樣了,容易溢出
所以,合泰的C是不允許遞歸的,在中斷函數內盡量碼代碼,而不是通過函數來處理,能寫代碼就不調用函數(這個......跟C唱反調了)
盡可能的多調用幾個函數來處理,而不是調用的函數中又其它函數
比如:應該是這樣的:
display()
{
aa();
bb();
cc();
}

而不是:
display()
{
aa();      -------------   aa()函數里面包含了函數bb();和cc();
}    這樣使用的話就多用了幾層堆棧了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表