新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机C语言程序结构容易出问题的有一下几点

单片机C语言程序结构容易出问题的有一下几点

作者: 时间:2016-12-01 来源:网络 收藏
一,定义寄存器

定义全局变量unsigend num

本文引用地址:https://www.eepw.com.cn/article/201612/324286.htm

在子程序里面改变num值,同时在中断里面也改变num值,最后得到意向不到的值,容易出错

若要这样改变则定义变量前面加volatile unsigend num

二,中断调用

主程序调用子程序,同时中断函数里面也调用该子程序,这样容易出错

建议:中断里面不要调用子程序,

若要调用子程序则,则该子程序为唯一被中断调用。

三,程序开头没加延时

开始的时候没加延时,很危险,上电电源电压波动较大,若一上电单片机就执行重要的命令的话,就容易出问题

特别是对内部eeprom的读写,读取数据出错,导致意向不到的后果。读写数据都需要比较稳定的电压。

亲,上电延时个10毫秒,等到电压稳定后,再执行命令,不会影响正常工作,又有保障不是更好

四,竞争与冒险

检测需加多次判断,以防干扰。

多次判断需要浪费一点时间,这个时间是在允许的范围内。



评论


技术专区

关闭