![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ARM
我在这里啊@
小白
展开
-
SPI,UART,IIC三大总线对比说明
一、SPI:高速,全双工,同步串行总线串行指的是数据是一位一位发送的,同步指的是要根据主机的时钟信号来发送SPI有四根线,分别为SCLK(时钟信号),MOSI(主设备输出,从设备输入),MISO(主设备输入,从设备输出),CS(片选信号)SPI有四种工作模式:Mode0:CPOL=0,CPHA=0Mode1:CPOL=0,CPHA=1Mode2:CPOL=1,CPHA=0Mode3:CPOL=1,CPHA=1CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时原创 2020-09-18 21:31:57 · 7556 阅读 · 0 评论 -
ARM裸机学习二:S3C2440的串口使用
1.串口的初始化(仅使用基本功能)1.首先设置复用引脚,以串口0为例,RXD代表接受数据的引脚,TXD代表发送数据的引脚,这两个是复用引脚,需要在GPHCON寄存器中设置引脚复用2.设置GPH的上拉3.设置UCON0寄存器,简单的串口功能需要设置:第10,11位,选择时钟源,这里可以设置00或者01来选择PCLK;第0,1位,选择接收模式,这里设置成01,也就是中断或查询模式第2,3位,选择发送模式,这里设置成01,也就是中断或查询模式4.设置波特率,通过设置UBRDIV0寄存器来设置,设原创 2020-07-23 21:25:31 · 366 阅读 · 0 评论 -
ARM裸机学习一:S3C2440的时钟体系
时钟体系1.时钟的产生2.修改时钟频率的过程3.相关寄存器的配置1.时钟的产生S3C2440的系统时钟图如下:S3C2440A的主时钟源由外部时钟(EXTCLK)或者外部晶振(XTIPll)提供,输入时钟源由模式控制引脚OM3和OM2控制选择,在复位信号的上升沿参考OM3和OM2的引脚将OM[3:2]的状态在内部锁定大致过程是:经过OM3和OM2引脚选择的外部时钟进入MPLL(锁相环)和UPLL进行倍频,经过MPLL得到FCLK直接供给给CPU,除此以外,FCLK还会经过HDIV和PDIV分频得到原创 2020-07-23 15:02:33 · 227 阅读 · 0 评论 -
ARM的Nand Flash入门使用手册(以K9F2G08X0M为例)
组织结构:存储芯片有几个重要的单位 device block page ,在这个芯片中1 Device = 2048 block = 2k block1 block = 64 page1 page = (2048 + 64) Byte共256M,也就是需要28根地址线来寻址,但是文档中是29根线,因为在寻址的时候,我们必须先找到page地址然后再找到页内地址。页地址共有: 2048 * 64 page ,也就是2的(11+6)次方 ,即17跟地址..原创 2020-07-17 16:41:25 · 1447 阅读 · 0 评论 -
S3C2440的中断机制
1.中断原理图2.中断过程①. 如果是不带子中断的内部中断:发生后SRCPND相应位置1,那么等待进一步处理。②.如果是带子中断的内部中断:发生后SUBSRCPND相应位置1,如果没有被INTSUBMSK屏蔽,那 么SRCPND相应位置1,等待进一步处理③.如果是外部中断:EINT0-EINT3发生后SRCPND相应位置1,如果没有被INTMSK屏蔽,那么等待进一步处理。EINT4-EINT23发生后EINTPEND相应位置1,如果没有被EINTMASK屏蔽,那么SRCPN原创 2020-07-15 20:29:29 · 1028 阅读 · 1 评论 -
大小端问题
大端就是按照人类阅读顺序,将高位存储在低地址单元,而小端则是将高位存储在高地址单元比如:将十六进制数 0x01234567 存储在地址 0x100 处:这里要区分高位和高地址单元,高位指的就是数据的左边,高地址单元通俗理解就是地址大的判断大小端:bool is_big_endian(){ int num = 0x12345678; // 取出num的起始地址(指向4字节的int) // 强制转换为指向单字节的指针 // 解引得到起始地址前8位所存储的值 c原创 2020-06-26 14:57:11 · 157 阅读 · 0 评论 -
位运算和二进制数表示方法
1.左移:把整数右移一位和把整数乘以2在数学上是等价的。左移运算符m<<n表示吧m左移n位。左移n位的时候,最左边的n位将被丢弃,同时在最右边补上n个0. 比如:00001010 << 2 = 0010100010001010 << 3 = 010100002.右移运算:把整数右移一位和把整数除以2在数学上是等价的。右移运算符m>>n表示把m右移n位。右移n位的时候,最右边的n位将被丢弃。但右移时处理最左边位的情形要稍微复杂一点。这里要特别注意原创 2020-06-26 14:28:22 · 432 阅读 · 0 评论