自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 计算二进制数的位数

#include int bit_len(unsigned int n){int len;for(len=0;n;len++)n>>=1;return len;}int main(void){int a=0x50;int b=bit_len(a);printf("b=%d\n",b);return 0; }

2016-11-30 20:50:56 2335

原创 CRC循环冗余校验码的基本原理-笔记

基本原理:在K位信息码(我们要传递的值-二进制)后面加上R位的校验码,R位即为G(x)多项式的最高幂(校验码的位数比生成除数的位数少1)。整个码的长度为N位,根据N位和K位查表找到多项式G(x)。根据G(x)生成除数用来接收端判断数据是否正确(收到的整个编码如果能够整除除数的话那么就是完整并且正确的数据)。G(x)多项式从表中通过信息码的位数得到相应的G(x)多项式,得到之后,可以从多项式中算出除数

2016-11-30 19:18:22 1286

原创 S5PV210-ADC

1、输入电压的范围0~3.3V 2、转换后数字量可选:10位/12位 3、片上保持功能,数据转换之后存放在寄存器中直到有新的数据转换出来在这之前一直存储在寄存器中 4、有10个通道,但是只有一个转换器,同一时间只能转换一个通道里面的数据,采用分时复用关于数字量和模拟量之间的转换: 模拟量输入2.0V,ADC工作在12bits模式,得到数字量应该是多少??? 2/3*4096=2730.66

2016-11-29 19:29:24 1007

原创 S5PV210-看门狗(watchdog)

#include "int.h" void wdt_init_interrupt(void){ //设置8到15位,先清零然后再设值,2^8-1,先设定分频系数为66,那么66/66=1MHZ WTCON &= ~(0xff<<8); WTCON |= (65<<8); //设值之后的分频,先两位清零然后 11 ,1/128,1.28us WTCON |=

2016-11-29 19:01:47 1670

原创 ARM汇编和C混合编程-笔记

ARM复位启动先执行汇编指令,完成硬件的初始化(为什么不用C语言?因为C语言无法访问ARM内部的寄存器,例如栈,所以需要汇编来进行初始化)C语言能不能跟汇编相互并且反复调用? 不能,因为这样容易导致局部变量的混用。汇编调用C程序.global _start_start: @将GPJ2_3 --->output LDR R0, =0xe0200280 //R0=0xe020028

2016-11-26 15:08:16 983

原创 ARM汇编部分指令

ARM部分汇编指令: 1、数据处理指令 完成立即数和通用寄存器之间的数据处理。 1)数据传送指令 mov R0,#100 mov PC, LR mvn R1, #100 —>按位取反,在传递 2)比较指令 —>自动影响标志位 CMP R0,#10 —>R0-10 —>NZCV TEQ R1,#100 TST R1,#(1<<10)

2016-11-26 14:45:23 715

原创 怎么判断32位系统下是大端还是小端

小端:就是数据的低字节存储在地址的低字节位,数据的高字节存储在地址的高字节位大端:数据的高字节位存储在地址的低字节位,数据的低字节位存储在地址的高字节位如何判断?#include int main(void){ int a=0x1234; char b=a; printf("b=%#x\n",b); return 0;}利用强制转换,因为是隐式强制转换,那么

2016-11-26 12:53:09 1553

原创 ARM 中断--IRQ and FIQ配置--外部配置

中断分为外部中断和定时器中断;中断源都是有一个触发条件,条件满足就会产生中断。不同的中断源触发条件不一样ARM中中断分为两种:FIQ(fast interrupt request)快速中断请求,IRQ(interrupt requrest)一般的中断请求为什么FIQ比IRQ的中断响应更快?在ARM体系中,FIQ的优先级比IRQ高,FIQ优先级为3,IRQ优先级为4,FIQ和IR

2016-11-25 19:56:15 4586

原创 ARM体系当中汇编和C混编传参的规则

使用ATPCS规则进行传参。在进行汇编和C语言传参的时候,R0,~R3是默认可以进行参数传递,给R0~R3给定数值,就可以进行传参

2016-11-25 10:38:20 778

转载 如何判断在ARM汇编中立即数的合法性?

转自 jackarm自己总结了一个方法不知道是否全面,请高手指教1.如十六进制数在0x00到0xFF之间,则它一定是合法的1.若十六进制数>0XFF则将十六进制的数转化成十进制2.如果这个十进制数能够被4整除则这个十六进制的立即数和合法的,否则是非法的3例如:0x101=257/4=64.25 非法            0x104=260/4=

2016-11-24 12:39:18 1172

原创 汇编作业

蜂鸣器汇编:.global _start_start:LDR R0,=0XE02000A0LDR R1,[R0]BIC R1,R1,#(0XF)ORR R1,R1,#(0X1)STR R1,[R0]loop:LDR R0,=0XE02000A4LDR R1,[R0]MOV R1,#0STR R1,[R0]BL delayLDR R0,=0XE02000A4LDR R1,[R0]MOV R1,#

2016-11-23 20:55:54 507

原创 汇编代码摘记

【LDR】 加载指令 LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用亍从存储器中读取32位的字数据到通用寄存器,然后对数据迕行处理。范例:【 LDR R0,=0XE0200280 】 讲一个地址传送到R0寄存器中【 LDR R1,[R0] 】 将R0寄存器中读取的值存放到R1寄存器当中【BIC】 BIC指令用亍清除操作数1的某些位,幵把

2016-11-23 20:54:56 639

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除