KF32-c语言使用-特殊功能寄存器的操作
4.1 简介本章主要介绍 C 语言和汇编语言中如何访问特殊功能寄存器。
4.2 特殊功能寄存器的操作
特定于处理器的头文件是一些包含了在 C 或汇编语言中使用的特殊功能寄存器(Special Function Register, SFR)的外部声明的文件。依照约定,每个 SFR 都使用数据手册中的相同名称进行命名,如 OSC_CTL1 代表振荡器控制寄存器 1。定义结构以实现寄存器的位声明,如_HFCLKCAL。同时约定前面添加前缀“_”。举例,地址为 0x40000004 的特殊功能寄存器 OSC_CTL1,在 C 头文件的声明如下:
KF32 芯片特殊功能寄存器为芯片固定地址,且芯片支持 32 位地址空间访 问,故 SFR 仅需在头文件中将其地址声明。如上所述,KF32 芯片的每一个 SFR 都被定义为一个结构(联合体),其中 reg 为 32 位数据访问,bits 可访问一组 位,bit 可访问每一个位。 特殊功能寄存器OSC_CTL1在汇编头文件的声明如下:
在应用程序中使用 SFR 时,需要执行 2 个步骤。
谢谢分享【KF32-c语言使用】 c语言的 终于看到位段的应用了。 特定于处理器的头文件是一些包含了在 C 或汇编语言中使用的特殊功能寄存器(Special Function Register, SFR)的外部声明的文件。
页:
[1]