STM32作为I2C从机的PMBus初步实现
项目描述
本项目旨在实现STM32F103VET6作为I2C从机的PMBus协议。项目参考了德州仪器的TMS320F2803x系列单片机的PMBus协议实现,并结合了“柒壹漆”大咖的STM32 I2C从机程序实现。在此基础上,本项目构建了STM32F103VET6的PMBus从机程序,使用硬件I2C和中断法进行编程。
项目背景
之前一直想实现一个PMBus协议的从机程序,在网上找到了一篇关于德州仪器的TMS320F2803x系列单片机PMBus协议实现的文档和源程序,包括主机模式和从机模式。参考了“柒壹漆”大咖的STM32实现I2C从机程序的博客,在此对其表示感谢。本项目的PMBus从机实现是在德州仪器的那篇文章基础上构建的,芯片型号为STM32F103VET6,使用硬件I2C和中断法进行编程。
项目实现
本项目使用STM32F103VET6芯片,通过硬件I2C和中断法实现了PMBus从机程序。PMBus框架已经搭建完成,可以在此基础上进行功能的增减。
存在的问题
在实现过程中,发现当主机发送广播地址时,从机会卡死。经过调试,发现事件响应在I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED,但具体原因尚未查明。希望各位高手能够提出宝贵意见,帮助改进程序。
注意事项
- 在调试过程中,如果使用中文路径或中文注释,可能会导致调试退出时出现错误。因此,部分注释使用了简单的英文。
- 本项目仅供参考,具体实现需根据实际需求进行调整。
致谢
感谢德州仪器的文档和源程序,以及“柒壹漆”大咖的博客,为本项目的实现提供了宝贵的参考。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考