我正在使用用于DS3231 RTC的Arduino Prototype代码并将其带到一个不直接支持Arduino代码的嵌入式平台(现在就是Atmel Xplained Mini)。有没有办法让我创建一个等效的程序,而无需从头开始编写整个I2C协议和整个数据通信?必须有一个重叠的库/标题/代码块,我可以适应我的目的。
作为一个例子,我希望代码here能够在Atmel Xplained Board上运行。代码应该非常简单,我需要的是DS3231告诉MCU它要求的时间。我自己可以操纵日期/时间,它可以在非Arduino平台上获取该信息,这对我来说是个障碍。
答案 0 :(得分:0)
Arduino有一个现有的布线库,可以促进I2C通信,大多数专业的开发框架都不是那么简单,但功能也更全面。我假设您正在使用Atmel Studio,您需要查看用于进行I2C通信的TWI(双线接口)文档。
AVR315: Using the TWI Module as I2C Master
您可以将TWI_Master.c和TWI_Master.h复制到项目中,并将其用于I2C通信。这就是我过去通常所做的事情。
这个应用笔记附带的演示代码可以在这里找到,main.c有一个使用这个I2C驱动程序的例子: