C语言如何实现读写SOC中的寄存器
C语言如何实现读写SOC中的寄存器
SOC、MCU、MPU等处理芯片,芯片内部有大量的寄存器,为了实现对应的功能,需要操作寄存器。对于汇编语言,可以使用汇编指令操作寄存器,同样,C语言也具备操作寄存器能力。
一、操作单个寄存器
比如需要初始化寄存器LCDCTL,该寄存器地址为0xD0008000,方法如下所示:
(*(volatile *)D0008000) = 0x0;
解析:1、(volatile *)D0008000 表示该地址;
2、*(volatile *)D0008000 表示该地址存放的值;
二、操作寄存器组
比如SOC中的LCD module,控制该module包含一组寄存器,经常把该组寄存器放到一个结构体中。
1)结构体
struct LCD_MODULE {
volatile uint32 LCD_CONTROL; //0xD0000000
volatile uint32 LCD_INT; //0xD0000004
volatile uint32 LCD_MAST; //0xD0000008
volatile uint32 LCD_PENDING; //0xD000000B
};
2)程序片段:初始化LCD模块
struct LCD_MODULE * const lcd = (struct LCD_MODULE * ) 0xD0000000;
lcd->LCD_CONTROL = 0x0;
C语言如何实现读写SOC中的寄存器相关推荐
- c实现多语言编程,C/C++编程中多国语言处理
多国语言的存在.不同语言操作系统的存在,使得针对多语言的设计颇费周章,在编码上所付出的工作量也是可观的.所谓编码的问题,归结起来,就是二进制的编码以何种编码格式进行解析的问题.特别是在硬盘文件和内存数 ...
- C语言之文件读写探究(七):随机读写文件
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(四):fwrite、fread(一次读写一块数据(二进制操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(三):fputs、fgets、feof(一次读写一行字符(文本操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(二):fputc、fgetc、feof(一次读写一个字符(文本操作))
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)
相关博文:C语言之文件读写探究(一):fopen.fclose(文件的打开和关闭) 相关博文:C语言之文件读写探究(二):fputc.fgetc.feof(一次读写一个字符(文本操作)) 相关博文:C ...
- keil4如何将c语言转换成汇编语言_Keil 中关于C语言编译生成汇编代码函数名规则...
在keil 中 C语言的函数有带参数和不带参数之分. 一般的资料里说fun(void)类型的函数不带参数,所以,keil编译器生成的汇编的调用地址(函数名) 为fun.这没有错.事实上,不管C语言的函 ...
- C语言读取文件时txt中的汉字出现乱码的解决方案
C语言课程设计要求使用文件,然后在我进行文件操作的时候发生了一点小小的意外,读写文件中的汉字显示的居然是乱码. 经过我的一番查找之后发现居然是txt编码方式的问题. 为使计算机支持更多语言,通常使用 ...
最新文章
- java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法
- LeetCode 11 Container With Most Water
- border-radius的兼容问题
- 喜报!神策数据荣获“2019 银行业数字营销大赛”智能营销类金奖
- python中的json_python中json的使用
- C#使用ping命令
- mysql 5.7 多实例_MySQL 5.7--------多实例部署最佳实战
- PHP 实现列出目录的内容
- MySQL安装成功后dos命令行设置密码
- python主要数据变量_python的数据类型和变量
- P-Called-Party-ID头域
- xlsread服务器出现意外情况
- wpa_supplicant工具移植
- 华丽成长为IT高富帅、IT白富美(五)
- simulink解微分方程
- 机动车驾驶证扣分查询
- 【SandQuant 量化投资】哈里·马科维茨:投资组合的选择
- linux 模拟误码率,基于System View的比特误码率测试的仿真研究
- 利用scrapy+splash+redis实现对JS动态生成网页的增量爬取
- 小白的Construct 2(伪)技术博客