Arduino 代码 Wire 移植到 Atmel Xplained Mini 与 DS3231 通信

Arduino code Wire ported to Atmel Xplained Mini to communicate with DS3231

我正在将用于 DS3231 RTC 的 Arduino 原型代码带到不直接支持 Arduino 代码的嵌入式平台(现在是 Atmel Xplained Mini)。有没有办法让我创建一个等效的程序,而无需从头开始编写整个 I2C 协议和整个数据通信?必须有一个重叠的 library/header/code 块,我可以适应我的目的。

例如,我希望使代码 here 在 Atmel Xplained Board 上运行。代码应该很简单,我需要的是 DS3231 在需要时告诉 MCU 时间。我可以自己操作 date/time,它是在非 Arduino 平台上获取信息,这是我的障碍。

Arduino有现成的I2C通讯布线库,大部分专业的开发框架都没有这么简单,但功能也更齐全。我假设您使用的是 Atmel Studio,您需要查看用于进行 I2C 通信的 TWI(双线接口)文档。

AVR315: Using the TWI Module as I2C Master

您可以将 TWI_Master.c 和 TWI_Master.h 复制到您的项目中,并将它们用于 I2C 通信。这就是我过去通常做的事情。

可以在此处找到本应用笔记附带的演示代码,main.c 有一个使用此 I2C 驱动程序的示例:

AVR315 Demo Code