C_and_CPP 板


LINE

有数年没写程式了,最近要改一支别人写的程式,遇到一些问题,不知可否解? 上层API有 API123(); API456(); API789(); API是其他sw厂商提供的,不能修改,也不会有修改的意愿 全部的API都会在底层一直呼叫 SPI_READ() SPI_READ()是我们自己写的,可以修改 因为API是纯SW的写法,会去SPI取固定位置、固定长度的资料,拿去做运算 造成API789()执行时间超级长,大概10秒 因为我已经知道他要的SPI资料的位置和长度, 我是想把资料先预读搬到RAM中, 然後在SPI_READ()判断, if(位置对 && 长度对), 去RAM搬资料,不实际执行底层SPI的运作 (偷时间) 要预存的RAM大小~1KB, 对斤斤计较的MCU来说,RAM最好只在需要的时间再开起来 所以RAM只希望在API789()前开起来,API789()结束後close和free掉 现在的问题在我在SPI_READ()中,写了if的判断式 但是可能在执行API123()时, 写的if判断式中,RAM的变数或变数指标,在那个时间点并不存在 造成编译一直不过 总结: 我只希望在API789()前後,才让RAM有预读的资料 让API789()里头呼叫SPI_READ()时,if成立,才去拿预读资料 其他API123(), API234()执行呼叫SPI_READ()时,我不care 有点想不出如何解,希望各位指点一下,感谢. --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.240.169
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1515845741.A.6B2.html
1F:→ bibo9901: 这问题很常见,用API000()或API9527()就好了 01/13 20:26
2F:→ tizzychen: 请问b大,这是什麽意思? 01/13 21:11
3F:推 tailau0: 在API789外面包一层,处理记忆体。 01/14 00:34
4F:→ tizzychen: 外面包一层? 可是API还是会从SPI_READ()拿资料 01/14 09:09
5F:→ tizzychen: API要读的位置和数量非常多,我只是想把重覆性比较高的 01/14 09:11
6F:→ tizzychen: 先搬到RSM,降低SPI执行的loading 01/14 09:11
7F:→ Lipraxde: 多判断个来自API789、或是多个全域变数纪录你这块catch 01/14 13:17
8F:→ Lipraxde: 有没有启用呢? 01/14 13:17
9F:→ Lipraxde: 是说,compiler会知道你RAM有没有开起来? 01/14 13:19
10F:推 michael0728n: 把SPI写成MACRO然後用__function__判断? 01/14 22:44
11F:→ michael0728n: 感觉你很无奈,应该叫APIXXX改code才对XD 01/14 22:46
12F:→ michael0728n: *把SPA_READ写成MACRO 01/14 22:47
13F:→ F04E: 先判断指标是否为 nullptr ? 01/15 18:31
14F:→ tizzychen: F大,目前改成用malloc和判断NULL来实作,暂时可解~ 01/15 22:52
15F:→ cphe: 如果连编译不过就是scope的问题吧 程式根本还没开始跑阿 01/16 10:00
16F:推 cobrasgo: compile不过跟程式的逻辑无关,看内文我猜是先reference 01/29 21:36
17F:→ cobrasgo: 了未宣告的变数 01/29 21:36
18F:→ cobrasgo: 就是reference的地方还没宣告。最後你的error也po上来 01/29 21:36







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP