打印
[STM8]

定义一个不被初始化的变量

[复制链接]
717|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwll|  楼主 | 2021-4-1 20:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,COSMIC C如何定义一个不被复位初始化的变量

使用特权

评论回复
沙发
llljh| | 2021-4-1 20:52 | 只看该作者
你使用COSMIC编译环境的话,如果定义时不给赋初始值,且数据在00-ff内,默认为非初始化变量,会放到 .ubsct 域。

使用特权

评论回复
板凳
renyaq| | 2021-4-1 20:54 | 只看该作者
你定义变量时可以使用 tiny界定

使用特权

评论回复
地板
supernan| | 2021-4-1 20:56 | 只看该作者
[url=]比如[/url]:@tiny char variable;

使用特权

评论回复
5
zwll|  楼主 | 2021-4-1 20:58 | 只看该作者
这个不行,早就试过了,编译器会忽略。

使用特权

评论回复
6
zwll|  楼主 | 2021-4-1 21:00 | 只看该作者
Debug\main.o:
start 00000ab0 end 00000ab3 length     3 section .bss
start ******** end ******** length     0 section .ubsct *** removed ***
start 0000592e end 00005d49 length  1051 section .debug
start 0000e5e7 end 0000e5f1 length    10 section .text
start 0000e5f1 end 0000e60e length    29 section .text
start ******** end ******** length     0 section .text *** removed ***
start 0000e60e end 0000e663 length    85 section .text
start 0000e663 end 0000e67a length    23 section .text
start 0000e67a end 0000e6ff length   133 section .text
start 0000e6ff end 0000e738 length    57 section .text
start 0000e738 end 0000e73e length     6 section .text
start 0000e73e end 0000e79e length    96 section .text
start ******** end ******** length     0 section .text *** removed ***
start 0000e79e end 0000e7a0 length     2 section .text
start 00009558 end 00009593 length    59 section .const

使用特权

评论回复
7
wyjie| | 2021-4-1 21:03 | 只看该作者
被删掉, 说明你只是定义它,程序里没用它。

使用特权

评论回复
8
yszong| | 2021-4-1 21:05 | 只看该作者

@tiny uint8_t variable;
_variable                           00000001   defined in Debug\main.o section .ubsct

要不你用EERPOM变量得了,复位/上电都不会影响它。

使用特权

评论回复
9
zwll|  楼主 | 2021-4-1 21:07 | 只看该作者

哦,那我就知道怎么回事了,多谢大家

使用特权

评论回复
10
磨砂| | 2021-5-1 11:04 | 只看该作者
需要定义到特定的地址吗

使用特权

评论回复
11
晓伍| | 2021-5-1 11:07 | 只看该作者
说明没有使用过它啊

使用特权

评论回复
12
八层楼| | 2021-5-1 11:10 | 只看该作者
加上这个关键字就可以了吗

使用特权

评论回复
13
598330983| | 2021-5-5 11:43 | 只看该作者
这用IAP才行吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

粉丝