撸码技巧1:分段设置寄存器
2017-12-06 14:34
183 查看
背景:
1.寄存器地址0x100H-0x184H;
2.每个寄存器都是32bit的;
3.每个寄存器的bit[7-0],bit[15-8],bit[23-16],bit[24-31]分别需要一个特别的值,这些特别的值已经存入数组;
4.使用已有按位写的接口write_reg32(addr,start,enc,val);完成按位写入;
写入方法:
输出结果:
1.寄存器地址0x100H-0x184H;
2.每个寄存器都是32bit的;
3.每个寄存器的bit[7-0],bit[15-8],bit[23-16],bit[24-31]分别需要一个特别的值,这些特别的值已经存入数组;
4.使用已有按位写的接口write_reg32(addr,start,enc,val);完成按位写入;
写入方法:
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<stdint.h> #define BASE_ADDR (0x104) uint32_t main(void) { uint32_t cnt=0; for(cnt=0;cnt<0x84;cnt++) { printf("addr[0x%x] start[%d] end[%d] \n",\ BASE_ADDR+(((cnt)>>2)<<2),((cnt)%4)<<3,(((cnt)%4)<<3)+7); } return 0; }
输出结果:
./test addr[0x104] start[0] end[7] addr[0x104] start[8] end[15] addr[0x104] start[16] end[23] addr[0x104] start[24] end[31] addr[0x108] start[0] end[7] addr[0x108] start[8] end[15] addr[0x108] start[16] end[23] addr[0x108] start[24] end[31] addr[0x10c] start[0] end[7] addr[0x10c] start[8] end[15] addr[0x10c] start[16] end[23] addr[0x10c] start[24] end[31] addr[0x110] start[0] end[7] addr[0x110] start[8] end[15] addr[0x110] start[16] end[23] addr[0x110] start[24] end[31] addr[0x114] start[0] end[7] addr[0x114] start[8] end[15] addr[0x114] start[16] end[23] addr[0x114] start[24] end[31] addr[0x118] start[0] end[7] addr[0x118] start[8] end[15] addr[0x118] start[16] end[23] addr[0x118] start[24] end[31] addr[0x11c] start[0] end[7] addr[0x11c] start[8] end[15] addr[0x11c] start[16] end[23] addr[0x11c] start[24] end[31] addr[0x120] start[0] end[7] addr[0x120] start[8] end[15] addr[0x120] start[16] end[23] addr[0x120] start[24] end[31] addr[0x124] start[0] end[7] addr[0x124] start[8] end[15] addr[0x124] start[16] end[23] addr[0x124] start[24] end[31] addr[0x128] start[0] end[7] addr[0x128] start[8] end[15] addr[0x128] start[16] end[23] addr[0x128] start[24] end[31] addr[0x12c] start[0] end[7] addr[0x12c] start[8] end[15] addr[0x12c] start[16] end[23] addr[0x12c] start[24] end[31] addr[0x130] start[0] end[7] addr[0x130] start[8] end[15] addr[0x130] start[16] end[23] addr[0x130] start[24] end[31] addr[0x134] start[0] end[7] addr[0x134] start[8] end[15] addr[0x134] start[16] end[23] addr[0x134] start[24] end[31] addr[0x138] start[0] end[7] addr[0x138] start[8] end[15] addr[0x138] start[16] end[23] addr[0x138] start[24] end[31] addr[0x13c] start[0] end[7] addr[0x13c] start[8] end[15] addr[0x13c] start[16] end[23] addr[0x13c] start[24] end[31] addr[0x140] start[0] end[7] addr[0x140] start[8] end[15] addr[0x140] start[16] end[23] addr[0x140] start[24] end[31] addr[0x144] start[0] end[7] addr[0x144] start[8] end[15] addr[0x144] start[16] end[23] addr[0x144] start[24] end[31] addr[0x148] start[0] end[7] addr[0x148] start[8] end[15] addr[0x148] start[16] end[23] addr[0x148] start[24] end[31] addr[0x14c] start[0] end[7] addr[0x14c] start[8] end[15] addr[0x14c] start[16] end[23] addr[0x14c] start[24] end[31] addr[0x150] start[0] end[7] addr[0x150] start[8] end[15] addr[0x150] start[16] end[23] addr[0x150] start[24] end[31] addr[0x154] start[0] end[7] addr[0x154] start[8] end[15] addr[0x154] start[16] end[23] addr[0x154] start[24] end[31] addr[0x158] start[0] end[7] addr[0x158] start[8] end[15] addr[0x158] start[16] end[23] addr[0x158] start[24] end[31] addr[0x15c] start[0] end[7] addr[0x15c] start[8] end[15] addr[0x15c] start[16] end[23] addr[0x15c] start[24] end[31] addr[0x160] start[0] end[7] addr[0x160] start[8] end[15] addr[0x160] start[16] end[23] addr[0x160] start[24] end[31] addr[0x164] start[0] end[7] addr[0x164] start[8] end[15] addr[0x164] start[16] end[23] addr[0x164] start[24] end[31] addr[0x168] start[0] end[7] addr[0x168] start[8] end[15] addr[0x168] start[16] end[23] addr[0x168] start[24] end[31] addr[0x16c] start[0] end[7] addr[0x16c] start[8] end[15] addr[0x16c] start[16] end[23] addr[0x16c] start[24] end[31] addr[0x170] start[0] end[7] addr[0x170] start[8] end[15] addr[0x170] start[16] end[23] addr[0x170] start[24] end[31] addr[0x174] start[0] end[7] addr[0x174] start[8] end[15] addr[0x174] start[16] end[23] addr[0x174] start[24] end[31] addr[0x178] start[0] end[7] addr[0x178] start[8] end[15] addr[0x178] start[16] end[23] addr[0x178] start[24] end[31] addr[0x17c] start[0] end[7] addr[0x17c] start[8] end[15] addr[0x17c] start[16] end[23] addr[0x17c] start[24] end[31] addr[0x180] start[0] end[7] addr[0x180] start[8] end[15] addr[0x180] start[16] end[23] addr[0x180] start[24] end[31] addr[0x184] start[0] end[7] addr[0x184] start[8] end[15] addr[0x184] start[16] end[23] addr[0x184] start[24] end[31]
相关文章推荐
- css技巧,如何设置select、radio 、 checkbox 、file这些不可直接设置的样式 。
- ThreadPoolExecutor线程池参数设置技巧
- STM32F4先设置寄存器还是先使能时钟
- NavigationViewController的backBarButtonItem的设置技巧
- Edit控件换行、自动滚屏、设置焦点技巧
- JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
- Stream自行总结的技巧,如果设置一个字节数组接收一个未知长度的流Stream
- 【rzxt】系统设置Excel单元格数据的对齐方式技巧
- Windows2003server共享文件设置方法与技巧
- JVM参数设置使用技巧(1)
- Windows server 2003设置使用必备技巧集
- STM32输入上拉下拉 寄存器怎么设置实现
- 外部中断使用指南(寄存器设置)
- Android 编程技巧-设置 ADB 连接超时时间
- STM32 CAN 通讯 标示符过滤器设置 屏蔽寄存器全1
- Chrome 中的 JavaScript 断点设置和调试技巧
- css样式设置小技巧
- 总结stm8硬件IIC主模式的寄存器设置及调试心得
- 常用的140个Win XP设置技巧
- 任天堂Wii游戏机使用心得和上网设置技巧