![](https://csdnimg.cn/release/download_crawler_static/4432815/bg1.jpg)
iCreate STM8 开发板专店[淘宝]http://shop71177993.taobao.com/
1 / 6
iCreate
风驰教你从零开始操作 STM8 寄存器
自从风驰开源 STM8 基于库的操作例程和教程,深受广大网友的喜欢,应广
大网友的要求,风驰继续编写 STM8 基于寄存器的例程和教程。
如果你是一位新手,照着我的步骤来操作,三天必然入门 STM8,熟悉 STM8
的寄存器编程。风驰所有的例程都是在 IAR 环境下编写的。
当你安装好 IAR,在 IAR 安装的目录下,你可以找到 iostm8s207rb.h。
这是我安装 IAR 的根目录。这里面有所有 STM8 的头文件,根据你所使用的芯片
型号,在你建的工程中添加相对应的头文件,在风驰 STM8 开发板上是选用
STM8S207RB 这个型号的芯片,所有我就添加 iostm8s207rb.h 这个头文件。
那如何去用这个头文件呢?又是如果去编程呢?下面我就从工程模板讲起。
先看看 iostm8s207rb.h 里面的东西。
这是里面的一小部分内容,在 iostm8s207rb.h 里面有很多结构体或者是宏定
义,都是被封装好的。以上面两个结构体为例,说明其作用。
__BITS_PA_ODR 是定义了 PORTA 的数据输出寄存器,其中的
unsigned char ODR0 ~ ODR7 是定义了 8 个位变量,每个位变量占 1 位的空间,
整个结构体占一个字节,表示的是一个 8 位的寄存器。
定义了这样一个表示 PORTA 口数据输出寄存器的结构体之后,还得把它跟
PORTA 口数据输出寄存器所占用的内存地址联系起来,这个工作由下面这个宏定
义完成:
__IO_REG8_BIT(PA_ODR, 0x5000, __READ_WRITE, __BITS_PA_ODR);
跟踪进去可以看到这个宏定义的原型: