编程学习
首先先下载DSP数据手册
找到 外设功能->寄存器名字+地址+功能描述
1.代码中使用 法一
头文件中#define SCICCRA (volatile unintelligible*)0x7050;
有了头文件件的定义,在程序中可以使用指针(寄存器名字)给寄存器赋值,
*SCITLA=0X0003;
这种方法简单,但不利于复用寄存器。
2.代码中使用 法二
(1)BIT FIELD.位域,在SCI头文件为SCI硬件定义寄存器如图
头文件中,还有
这个定义使用了操作符 “:”,用来说明位域长度。
图中使用了sci结构体命名两个sci寄存器结构体变量。其中提一下,volatile关键字在示例4中非常重要。变量的值在任何时候都声明为volatile。可以由不受其出现的代码控制的内容更改。硬件寄存器能被它自己的硬件和内部中断改变。
(2)定义结构体变量与数据部分的连接
DATA_段pragma用于将变量SciaRegs和ScibRegs分配给数据名为SciaRegsFile和ScibRegsFile的节。然后将数据段直接映射到相同的各SCI寄存器占用的内存块。
(3).CMD文件
其中,0rigin=0x007050是地址,length=0x000010是长度.
sciaregsfile 连接文件。
(4)用户文件,也就是mian.c文件。
文章感悟来自于官方对该芯片的 c与c++.pdf 。