随笔分类 -  LPC824

摘要:继续来看I2C中断使能设置及读取寄存器INTENSET,下表是它的全部位结构,其地址分别为0x40050008 (I2C0),0x40054008 (I2C1),0x40070008 (I2C2)和0x40074008 (I2C3))。 (1)第0位(MSTPENDINGEN)为主机挂起中断使能位。 阅读全文
posted @ 2023-04-14 10:37 fxzq 阅读(299) 评论(0) 推荐(0)
摘要:I2C接口共涉及到18个寄存器,下面就来对它们进行具体分析。 先来看I2C配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40050000(I2C0),0x40054000(I2C1),0x40070000(I2C2),0x40074000(I2C3)。它包含适用于主机、从机及监视器功能的模 阅读全文
posted @ 2021-09-21 16:55 fxzq 阅读(716) 评论(0) 推荐(0)
摘要:I2C是一种多向控制总线,它是由PHILIPS公司在二十世纪八十年代初设计出来的,利用该总线可实现多主机系统所需的裁决和高低速设备同步等功能,是一种高性能的串行总线。I2C总线只用两根双向传输线就可以将128个不同的设备互连到一起。这两根线一根是时钟线SCL,一根是数据线SDA。外部硬件只需要接两个 阅读全文
posted @ 2021-05-21 21:10 fxzq 阅读(1647) 评论(0) 推荐(0)
摘要:在SPI接口中,判断传输的数据位上电平的高低是通过时钟来衡量的,根据时钟的上升沿/下降沿和数据电平的保持/更改,可以组合出4种方式,具体如下图所示。 从上图中可以看出,时钟相位CPHA决定传输的数据电平什么时候被采样、什么时候可以更改,时钟极性CPOL决定时钟是低电平空闲还是高电平空闲。 在上图中, 阅读全文
posted @ 2021-02-28 16:50 fxzq 阅读(444) 评论(1) 推荐(0)
摘要:接下来看SPI接收器数据寄存器RXDAT,下表是它的全部位结构,其地址分别为0x40058014(SPI0)、0x4005C014(SPI1)。 (1)第0到15位(RXDAT)为接收器数据,它包含接收的下一个数据,使用的位数由TXCTL/TXDATCTL中的LEN设置。(2)第16位(RXSSEL 阅读全文
posted @ 2021-02-23 17:11 fxzq 阅读(479) 评论(0) 推荐(0)
摘要:SPI接口共涉及到11个寄存器,下面就来对它们进行具体分析。 先来看SPI配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40058000(SPI0),0x4005C000(SPI1)。 (1)第0位(ENABLE)为SPI使能位,值为0时禁用SPI接口,值为1时使能SPI接口,默认为禁止。 阅读全文
posted @ 2021-02-21 19:26 fxzq 阅读(1043) 评论(0) 推荐(0)
摘要:串行外设接口(Serial Peripheral Interface)是一种同步外设接口,它可以使单片机与各种外围设备以串行方式进行通信以交换信息。SPI最早是Motorola公司提出的全双工三线同步串行外围接口,采用主从模式(Master—Slave)架构,支持一个或多个Slave设备,由于其简单 阅读全文
posted @ 2021-01-28 20:27 fxzq 阅读(1948) 评论(0) 推荐(0)
摘要:通过前面的分析知道,在LPC824中,USART所拥有的配置寄存器有很多,但在一般情况下,如果只是简单地使用收发功能,则只需要使用到配置寄存器CFG、波特率发生器寄存器BRG、中断使能读取和置位寄存器INTENSET、中断状态寄存器INTSTAT、接收器数据寄存器RXDAT、发送器数据寄存器TXDA 阅读全文
posted @ 2021-01-09 14:39 fxzq 阅读(722) 评论(0) 推荐(0)
摘要:接下来看USART中断使能读取和置位寄存器INTENSET,下表是它的全部位结构,其地址分别为0x4006400C(USART0)、0x4006800C(USART1)、0x4006C00C(USART2)。 (1)第0位(RXRDYEN)为接收完毕中断使能位,置1时使能中断,当RXDAT寄存器中存 阅读全文
posted @ 2020-11-10 15:08 fxzq 阅读(505) 评论(0) 推荐(0)
摘要:串行口是单片机的标准配置,通过它可以与计算机进行通信,也可以用它来下载程序,下面就来讨论一下LPC824的串口应用。LPC824具备有3个串口,称为通用异/同步收发器(USART),下图给出了它们的内部结构。 从上图中可以看到,UART位于APB设备区,它不仅仅具有TXD和RXD功能,还拥有完整9针 阅读全文
posted @ 2020-08-15 20:43 fxzq 阅读(773) 评论(0) 推荐(0)
摘要:在LPC824中,除了系统定时器SysTick以外,还拥有4个其他定时器,分别是多速率定时器MRT,自唤醒定时器WKT,SCTimer/PWM和窗口看门狗定时器。这4个定时器都位于APB设备区,与SysTick不在同一区域。虽然都是定时器,但它们却有各自不同的特点及用途。下面就先来讨论一下多速率定时 阅读全文
posted @ 2020-07-14 13:03 fxzq 阅读(944) 评论(0) 推荐(0)
摘要:模式匹配中断是引脚外部中断功能的扩展,它可以把多个引脚的状态进行逻辑运算后再产生中断,支持“与”、“或”、“非”等逻辑运算,但不原生支持“异或”运算。模式匹配中断的实现方式是,可创建一个或多个布尔表达式,每个布尔表达式都可以产生中断请求,一共有8个输入变量,每个变量可以与任一个PININT输入配接, 阅读全文
posted @ 2020-07-03 16:30 fxzq 阅读(466) 评论(0) 推荐(1)
摘要:在LPC824内部有一个特殊的定时器——系统定时器(SysTick),它位于Cortex-M0+内核里面,是ARM内核的一部分,主要用来给操作系统提供时间片轮转的定时,一般固定为10ms的定时,所以中文也称它为“嘀嗒”定时器(也称“心跳”定时器)。在不跑操作系统时,可以把它当作普通定时器来用,一般用 阅读全文
posted @ 2020-06-23 11:30 fxzq 阅读(2832) 评论(0) 推荐(1)
摘要:外部中断作为处理器响应外部事件的通道,在控制系统中起着非常重要的作用。从前面的讨论中我们知道,在NVIC中有8个外部中断源,下面就来讨论一下这8个外部中断的使用情况。LPC824的每一根引脚都可以响应一个外部中断,所以理论上有多少个引脚就有多少个外部中断。但由于LPC824采用了引脚挂接外部中断源的 阅读全文
posted @ 2020-06-20 13:07 fxzq 阅读(2104) 评论(0) 推荐(0)
摘要:LPC824的中断系统非常强大,要用好中断,就必须先了解LPC824的整个中断系统。下面来讨论一下NVIC中断系统。在LPC8xx系列处理器中,有一个部分被称为“私有外设总线”(Private peripheral bus),它位于Memory map中地址为0xE0000000~0xE010000 阅读全文
posted @ 2020-06-15 14:21 fxzq 阅读(1724) 评论(0) 推荐(0)
摘要:通过前面的例子我们知道,输入/输出端口(即I/O口)是LPC824所能依赖进行控制的唯一通道,如果把芯片的CPU内核比作人的大脑,那芯片的I/O口就相当于人的五官和四肢,负责信息的获取和动作的执行,如果芯片没有I/O口那CPU本身会变得毫无意义,因此很有必要了解它们的内部结构及其详细配置。LPC82 阅读全文
posted @ 2020-05-28 22:55 fxzq 阅读(2532) 评论(0) 推荐(0)
摘要:在前面第一个示例中,有一个更改引脚功能的函数Ext_Osc,后来由于MDK的支持,在可视化的sytem_LPC82x.c文件中把振荡修改为外部方式,就把它给取消了。其实在LPC824中,更改引脚功能是一项常用功能,不仅如此,甚至还可以把某些功能重新分配到任何一根非电源的引脚上,下面就来详细讨论一下这 阅读全文
posted @ 2020-05-26 12:47 fxzq 阅读(1396) 评论(0) 推荐(0)
摘要:通过前面的分析,我们知道在LPC824中,对GPIO端口的操作一共涉及到68个寄存器,那究竟该使用哪些寄存器,特别是对于具有相同功能的寄存器,应该如何选择,下面就来进行具体讨论。 虽然一共有68个寄存器,但其中的端口字节引脚寄存器B和端口字引脚寄存器W,由于每个对应一根引脚,所以就分别占用了29个寄 阅读全文
posted @ 2020-05-21 21:02 fxzq 阅读(1023) 评论(0) 推荐(0)
摘要:在LED交替闪烁的实例中,已经用到了LPC824的GPIO端口。GPIO端口是处理器与外部设备打交道的基础,为了更好地应用它,接下来就对LPC824的通用输入输出端口(GPIO)的寄存器结构及用法做详细深入地讨论。在前面已经介绍过,LPC824处理器是一个32位结构的处理器,但它的GPIO端口并没有 阅读全文
posted @ 2020-05-03 18:17 fxzq 阅读(1109) 评论(0) 推荐(1)
摘要:通过前面的分析,大家已经了解了预定义部分的内容。但如果每次设计程序都把需要的头文件内容全部写出来,不仅代码占用较多的篇幅,还会影响程序的结构化。因此,规范的程序设计都会把这部分内容通过头文件包含的形式引入进来。下面就来讨论如何实现这一形式。头文件是以“.h”为后缀的文本文件,它的名称、数量都与开发环 阅读全文
posted @ 2020-04-30 13:24 fxzq 阅读(649) 评论(0) 推荐(0)