微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机C语言程序结构容易出问题的有一下几点

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

时间:12-01 来源:互联网 点击:
一,定义寄存器

定义全局变量unsigend num

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

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

二,中断调用

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

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

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

三,程序开头没加延时

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

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

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

四,竞争与冒险

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top