登录  | 立即注册

游客您好!登录后享受更多精彩

扫一扫,访问微社区

QQ登录

只需一步,快速开始

开启左侧

[学习笔记] 中断运用过程中见到的问题

[复制链接]
发表于 2017-2-15 09:45:12 | 显示全部楼层 |阅读模式
学习笔记
学习科目: 单片机
学习安排: 单片机学习
开始时间: 2017-02-15
结束时间: 2017-02-15
1,数码管鬼影问题,数码管刷新切换状态时有瞬态延时,选择语句前加P0=0XFF;

或关闭位方法,

一般选择前者,
2,在51或AVR单片机的中断服务程序中,能否定义局部变量?
当然可以!
如果是一般的变量,每次进入中断都会按原来的赋予初值!
如果加static类型,就可以保持上次断的值,效果相当于全局变量!
3,中断函数不需要调用,当达到中断函数条件后自动进入主函数,flag标记
4,code是指变量存放在rom,一般不用也没事,不用就相当于定义了unsigned char data led。但如果你定义了多个数组TAB[]太长data就放不下了,这时你可以放在xdata或code中。你看别人程序一般数组都用code定义。你自己在keil中编译后会有这么一句的data=。。。,xdata=。。。。,code=。。。我有次就是数组太长没用code定义找半天没找到错误。也叫无符号字符型变量。code是指该变量存放在ROM(程序存储区)。
5,在C语言中,关键字static有三个明显的作用:
1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。注意,只有在定义了变量后才能使用。如果变量定义在使用之后,要用extern 声明。所以,一般全部变量都会在文件的最开始处定义。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
...
 楼主| 发表于 2017-2-15 09:49:14 | 显示全部楼层
农村网络限制,不能与大家分享编译纯文本,仅能将平时做的笔记和百度的知识点与大家一起分享,希望共同进步,错误的地方请大家多多关照指点一二,在此谢过
...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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