LPC178x/177x CAN接收帧函数解析

需积分: 45 28 下载量 172 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"LPC178x系列微控制器的CAN接口与E2PROM功能" 在LPC178x系列微控制器中,CAN(Controller Area Network)接口是一个重要的通信模块,用于实现设备间的可靠数据传输。程序清单9.10展示了如何编写一个接收CAN帧的函数`CANRCV`。这个函数主要处理了CAN控制器的接收过程,包括从CAN控制器读取帧信息并存储到结构体`MessageDetail`中。 函数`CANRCV`接受两个参数,一个是CAN控制器的编号`Ch`(通常0表示第一路CAN),另一个是指针`MessageCAN`,用于存放接收到的CAN帧信息。首先,通过计算地址偏移量来访问LPC_CAN1的相应寄存器,如RFS(接收帧状态)、RID(接收ID)等。通过对这些寄存器的读取,函数可以获取帧的长度(LEN)、帧格式(FF,16位或29位ID)以及ID本身。接着,函数读取数据区,分别处理数据A和数据B,并最终释放接收缓冲区,确保可以接收新的CAN帧。 在LPC178x/177x微控制器中,除了CAN接口,还包含了一个E2PROM(Electrically Erasable Programmable Read-Only Memory)存储器。E2PROM是一种非易失性存储器,可以在设备运行时进行读写操作,且数据在断电后仍然保持。 5.16章节介绍了E2PROM的功能和特性。E2PROM提供了持久的数据存储,适用于存储配置参数或固件更新。它包含了描述、特性以及寄存器描述等部分。其中,寄存器描述详细列出了与E2PROM操作相关的寄存器,例如控制寄存器和状态寄存器,这些寄存器用于控制E2PROM的读写操作和状态查询。 5.17章节涉及外部存储器控制器(EMC)。EMC是LPC178x/177x微控制器中一个关键的组件,它负责与各种外部存储设备如SRAM、DRAM和闪存等交互。EMC提供了灵活的配置选项,以适应不同的存储器类型和速度要求,使得微控制器能够扩展其内存容量和性能。 在E2PROM操作中,开发者需要注意E2PROM的编程周期和擦除时间,因为它们限制了写入操作的速度。此外,为了保护存储在E2PROM中的数据,可能还需要了解和实施适当的访问控制和错误检查机制。 LPC178x系列微控制器集成了CAN接口和E2PROM功能,提供了一套全面的嵌入式系统解决方案,可以满足工业自动化、汽车电子和其他领域的通信和数据存储需求。开发者在设计和编程时,需要理解这些功能的细节,以充分利用微控制器的能力。