找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机TM1637驱动程序

查看数: 1638 | 评论数: 2 | 收藏 6
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-1-19 09:55

正文摘要:

8位单片机驱动程序 #include"TM1637.h" #define CLK P12 //时钟 #define DIO P13 //数据 static u8 code SHUZU[]=       {   0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x ...

回复

ID:1064915 发表于 2025-7-30 16:38
在C语言中,static关键字主要用于三种场景:修饰局部变量以延长生命周期、修饰全局变量/函数以限制作用域、定义静态数组参数(C99+)。

‌static关键字的三种核心作用‌

‌1、修饰局部变量‌。

‌存储方式‌:从栈区改为静态存储区,内存分配在程序启动时完成,程序结束时释放。‌‌
‌生命周期‌:从函数调用期间延长至整个程序运行周期,保留函数多次调用间的值。‌‌
‌初始化‌:仅首次执行时初始化(默认值为0),后续调用沿用上一次的值。‌‌
‌典型用例‌:记录函数调用次数、保持状态连续性(如计数器)。‌‌

‌2、修饰全局变量‌。

‌作用域‌:将原本全局可见的变量限制为仅当前文件内可访问,避免多文件项目的命名冲突。‌‌
‌链接属性‌:禁止其他文件通过extern引用,实现模块化封装。‌‌
‌内存分配‌:与普通全局变量相同,仍存储在静态区。‌‌

‌3、修饰函数‌。

‌作用域限制‌:静态函数仅能在声明它的文件内部调用,增强代码的封装性和安全性。‌‌
‌典型用例‌:辅助函数或工具函数的内部隔离,避免被外部误用。
‌‌
‌扩展:静态数组参数(C99标准)‌

在函数参数中声明void func(int arr[static 10])时,static表示arr指针至少指向含10个元素的数组,辅助编译器进行边界检查和优化。‌‌
ID:170318 发表于 2025-1-21 09:13
static void i2C(bit T)
{                                               
        if(T)
       CLK=0,DIO=0,CLK=1;
  else      
        CLK=1,DIO=1,DIO=0;
}
这里不对的

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

Powered by 单片机教程网

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