问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机变量 51的单片机变量是怎么个定义法。全局变量,局部变量都放在什么存储器里的

发布网友 发布时间:2022-05-07 10:58

我来回答

2个回答

热心网友 时间:2023-10-27 13:52

不能这样定义,这样定义是错的。你这个是赋值,不是定义在0x22单元格里。
unsigned char bdata SS _at_ 0x22;
只有在Keil编译环境下才可以这样使用。还有,这种语法不适合用C语言,我说的是不适合,不是不能用。C语言里面的指针就是针对这个的,不建议使用 _at_ 进行变量在RAM中固定,这样对程序编译优化时,带来很多麻烦,也得不到充分的优化。
其实用C语言指针的方法是可行的。
bdata区虽然有自己独立的位地址,但你用的是char型 ,是一个字节的,所以你说的0x22只是bdata区的字节地址,而不是位地址,那麽用C语言的方式实现 就是这样:
unsigned char *p;
p=0x22;
*p=50;
*p 表示指向0x22所在的单元格,就是将50赋值到0x22地址所指向的单元格里。
再从另一个角度讲,如果你没于传参或改变实参的情况下,不建议使用这类,即使有,也不是很建议。因为单片机高手是不会用_at_这类关键字进行变量定位的。
有什么疑问可以一起探讨。
希望我的回答对你有帮助,谢谢。追问哦,明白了。。。谢谢!
再问个问题 keil u2能软仿真那种波形么 比如用延时产生一个方波,在u2能看到么?它上面有performance analyzer窗口 ,是看波形的吗 怎么用的? 还有像mplab sim中的外加激励一样的东东u2有吗?

热心网友 时间:2023-10-27 13:52

这个应该是汇编时才要考虑的吧?地址寻址一般都有专用的地址寄存器
C语言的话都是编译软件自动反汇编下载到单片机的,这些都不用考虑的。

热心网友 时间:2023-10-27 13:52

不能这样定义,这样定义是错的。你这个是赋值,不是定义在0x22单元格里。
unsigned char bdata SS _at_ 0x22;
只有在Keil编译环境下才可以这样使用。还有,这种语法不适合用C语言,我说的是不适合,不是不能用。C语言里面的指针就是针对这个的,不建议使用 _at_ 进行变量在RAM中固定,这样对程序编译优化时,带来很多麻烦,也得不到充分的优化。
其实用C语言指针的方法是可行的。
bdata区虽然有自己独立的位地址,但你用的是char型 ,是一个字节的,所以你说的0x22只是bdata区的字节地址,而不是位地址,那麽用C语言的方式实现 就是这样:
unsigned char *p;
p=0x22;
*p=50;
*p 表示指向0x22所在的单元格,就是将50赋值到0x22地址所指向的单元格里。
再从另一个角度讲,如果你没于传参或改变实参的情况下,不建议使用这类,即使有,也不是很建议。因为单片机高手是不会用_at_这类关键字进行变量定位的。
有什么疑问可以一起探讨。
希望我的回答对你有帮助,谢谢。追问哦,明白了。。。谢谢!
再问个问题 keil u2能软仿真那种波形么 比如用延时产生一个方波,在u2能看到么?它上面有performance analyzer窗口 ,是看波形的吗 怎么用的? 还有像mplab sim中的外加激励一样的东东u2有吗?

热心网友 时间:2023-10-27 13:52

这个应该是汇编时才要考虑的吧?地址寻址一般都有专用的地址寄存器
C语言的话都是编译软件自动反汇编下载到单片机的,这些都不用考虑的。

热心网友 时间:2023-10-27 13:52

不能这样定义,这样定义是错的。你这个是赋值,不是定义在0x22单元格里。
unsigned char bdata SS _at_ 0x22;
只有在Keil编译环境下才可以这样使用。还有,这种语法不适合用C语言,我说的是不适合,不是不能用。C语言里面的指针就是针对这个的,不建议使用 _at_ 进行变量在RAM中固定,这样对程序编译优化时,带来很多麻烦,也得不到充分的优化。
其实用C语言指针的方法是可行的。
bdata区虽然有自己独立的位地址,但你用的是char型 ,是一个字节的,所以你说的0x22只是bdata区的字节地址,而不是位地址,那麽用C语言的方式实现 就是这样:
unsigned char *p;
p=0x22;
*p=50;
*p 表示指向0x22所在的单元格,就是将50赋值到0x22地址所指向的单元格里。
再从另一个角度讲,如果你没于传参或改变实参的情况下,不建议使用这类,即使有,也不是很建议。因为单片机高手是不会用_at_这类关键字进行变量定位的。
有什么疑问可以一起探讨。
希望我的回答对你有帮助,谢谢。追问哦,明白了。。。谢谢!
再问个问题 keil u2能软仿真那种波形么 比如用延时产生一个方波,在u2能看到么?它上面有performance analyzer窗口 ,是看波形的吗 怎么用的? 还有像mplab sim中的外加激励一样的东东u2有吗?

热心网友 时间:2023-10-27 13:52

这个应该是汇编时才要考虑的吧?地址寻址一般都有专用的地址寄存器
C语言的话都是编译软件自动反汇编下载到单片机的,这些都不用考虑的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 51单片机引脚怎么定义的 gucci流苏链条小包磨砂皮好看还是漆皮好看 51单片机里的定义 51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义 关于包包的问题 1982年狗手包买什么1982年属狗包包用什么皮比较好 包包的肩带材质是链条的好还是牛皮的好 现在年轻人夏天基本选择链条包,是因为轻巧吗? 链条女包真皮和水桶包真皮女包哪个好看点?差距很大吗?适合几岁什么性格类型的女孩背?男人喜欢哪个包? 夏天可背链条可包好看还是皮带包好看,夏天背链条包 现在年轻人夏天基本选择链条包,这是因为轻巧吗? 中国驻德国慕尼黑大使馆 打电话到中国驻德国大使馆是否是普通话 高中三年老师对学生的评价600字 要求写高中三年,老师对学生的评价,男 女都要。 德国多特蒙德中国大使馆有吗 中国驻德国大使馆上班时间是 求高中三年 班主任对学生的评语 是三年的 四百字以上。。 中国驻德国大使吴恳是什么级别的领导? 中国驻德国使馆认证德国公司主体资格证明需要哪些材料 51单片机SFR的定义问题 51单片机定义数组 c51单片机,如何定义可变长数组? 51单片机中如何定义比较大的数组变量 比如 char[1024][10] 51单片机c语言编程中,有没有只定义p2.1到p2.6的写法?不要一个个的定义。 51单片机引脚的定义 51单片机如何定义多位引脚? 是怎么提醒还款的? 还款提醒了算是提前还款吗,额度会不会降低或者封掉不能使用? 脑筋急转弯什么门永远关不上? 什么门永远关着? 什么门永远关不了?是打一个门,是一个谜语 什么门永远关不上 猜一生肖 三洋电动剃须刀 电动剃须刀 日立,乐声,三洋,保洁。有什么不同吗 什么电脑软件开头是A这个软件可以用来做新年贺卡 有没有好一点的电动剃须刀 什么电动剃须刀好用?国内外知名品牌都可以。 日本原装三洋电动剃须刀SV M730和松下剃须刀ES843 843泰国进口的哪个更好用?懂的进 日立剃须刀和三洋剃须刀是不是被松下收购了? 三洋电动剃须刀SV-SS10电池能调换吗