PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
ASM
[问题] 阵列宣告问题
楼主:
f751202
(hi~)
2013-07-09 11:10:48
小弟我用KEIL C 宣告阵列
char a[16] _at_ 0x39;
后面在空16个位置给他 程式写到后面会发现
他自动编译出来的阵列位置好像会乱跳 然后我只要重复利用到 程式就会当掉
后来改成
char a[16] _at_ 0x39;
char a[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
先给他数值 程式就不会错乱
我想问的是如何宣告阵列的每个位置? 还是一个0x39就足够?
因为我还是蛮怕他编译后用到我目前还没用到的位置
作者:
ruemann
(路人甲)
2013-07-09 12:27:00
你会当掉应该是其他原因,跟_at_和初始值都没关系你宣告了16个BYTE的阵列,它就会留16BYTE空间给你
作者:
WolfLord
(呆呆小狼 N )
2013-07-09 16:33:00
我比较好奇为什么要用 _at_
楼主:
f751202
(hi~)
2013-07-09 17:54:00
因为我是看书的 不知道有什么区别呢XD?
作者:
WolfLord
(呆呆小狼 N )
2013-07-09 20:53:00
_at_ 是直接指定内存,如果没有特别需求这样通常会撞烂Stack,而不一定要指定数值,直接宣告来用编译器自然会安排安全可用的内存给你用了。重点不是先给数值,而是你用了 _at_
作者: ksmrt0123 (ksmrt)
2013-07-10 01:05:00
宣告0x39就会从0x39开始配起. 不过使用 _at_ 最好也要同时宣告内存类型, 如 char data a[16] _at_ 0x39;至于程式问题比较可能是如1F所说是其他原因
楼主:
f751202
(hi~)
2013-07-10 09:50:00
之前没给值之前 程式跑到某一段会重开 给了就好了后来把值 那段删掉 又可以了 目前也还在找问题中不知道什么情况 MCU会强迫重新执行呢?
继续阅读
Re: [问题] 有关于MCU去改某颗IC暂存器之值
kikiqqp
[问题] 有关于MCU去改某颗IC暂存器之值
Acekirisame
Re: [问题] PWM 控 MOSFET 限制电流
eloha123
[请益] 8051 microsecond级 delay 的问题
shaoweei
[问题] LCD 断电后 系统失当
hogiking
Re: [问题] UART TX无法传送资料
hogiking
[问题] UART TX无法传送资料
hogiking
[问题] 请问有类似hyperterminal但可以显示时间?
spitfires221
Re: [请益]随机程式如果不使用8051
vic123456
Re: [请益]随机程式如果不使用8051
vic123456
Links
booklink
Contact Us: admin [ a t ] ucptt.com