|
STC的开发板买了好几年,最近才开始学,普通的使用方法,基本上是学会了,最近在看大道必成的示波器,以及许老师的ESR表,都是开源的,但是对于头文件和寄存器的配置这一块,还是搞不太懂
一,
#include <123.h>和#include “123.h”这两种写法有什么区别,对应什么情况使用?
二,
例如 #define uint unsigned int 这种语句,作用范围是不是只有一个.C文件?
三,
许老师的程序里,是把 sfr 这个对寄存器的定义直接写到.C文件里的,头文件只有reg52.h,大道必成的是写到STC12C5A60S2.h文件里的,如果两边都写了,编译时候提示重复定义,过不去,写到.C文件里固然方便,但是程序太长看着难受,而且这个头文件一般都是直接添加官方给的,对比两个程序我发现,大道必成的程序里有很多初始化函数,初始化函数里又对寄存器重新赋了值,开机,初始化,运行,这么一个顺序,而许老师的写法里就找不到初始化函数(屏幕的除外)
这个问题我是这样理解的,不知对不对:
方案1:使用官方默认的头文件,然后,编写一个初始化程序,重新对寄存器赋值,main函数开头就一堆初始化函数,然后再while(1)
方案2:不使用官方头文件,直接编写一个自己的头文件(或者是写到.C里),直接定义好各个寄存器初值,这样开机就不需要初始化了
这两种哪种更好,更合乎规范呢? |
|