找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

keil C语言中static型变量数值更改后,电子板运行异常

查看数: 1021 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-4-8 20:06

正文摘要:

在pwm.h文件中我定义了static u16 definedMod变量,然后分别在main.c和exit.c中使用了了definedMod变量,希望能在exit.c中使用电子板的按键更改definedMod的值,从而改变main函数中电子板的运作模式,但实际上在按下 ...

回复

ID:1070536 发表于 2023-4-8 23:56
Hephaestus 发表于 2023-4-8 20:33
你搞错了static的意思,全局static是防止其他c文件使用这个变量用的。

两个c文件引用了pwm.h中definedMo ...

感谢!
ID:883242 发表于 2023-4-8 20:33
你搞错了static的意思,全局static是防止其他c文件使用这个变量用的。

两个c文件引用了pwm.h中definedMod的定义,这两个文件都有了definedMod这个两个变量,但这两个变量是两个完全不同的变量,各用各的。

你贴出来的pwm.h的内容实在是太糟糕了,从来没见过这么离谱的代码。

想要两个c文件使用同一个变量,其中一个正常定义,另一个声明为extern变量来使用。绝对不要加static,只要加了static就一定是错误的。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表