|
本次实验的对象之一是DS1307日历时钟芯片核模块:
这个模块还包含一个AT24C32EEPROM芯片,本次实验仅对DS1307芯片进行读写操作,未涉及AT24C32芯片的操作。 实验是在之前的项目基础上进行的,首先进入STM32CubeMX2来配置I2C:
STM32C542RC仅有一组I2C,启用I2C之后,选用PA11的PA12分别为SCL和SDA引脚:
I2C的速率选择标准的100KHz:
配置过程比较简单,生成配置文件后,就可以在VS Code里添加代码了。 首先是定义I2C句柄名:
然后在main()函数中获取句柄:
涉及本次实验的HAL库函数只有两个,分别是读写操作的函数:
对DS1307芯片操作的函数主要有两个,即读写操作:
另外就是初始化的函数,这个函数平时不使用,仅仅是对DS1307芯片掉电后、内部数据丢失了才需要使用,因为DS1307模块上配有3V的电池,可以保持芯片正常计时。初始化的函数如下: `/******************************************************************************************
这是实验过程的照片:
|
STM32C542RC开发板启用SPI驱动TFT显示屏
STM32C542RC开发板驱动TFT显示屏
【NUCLEO-C562RE】MNIST 数字识别
【STM32C5教程】(9)DAC 模拟量信号输出实验
STM32C542RC开发板Stop、Sleep和standby模式测试
【STM32C5教程】(10)LPUART DMA 通信实验
【STM32C5教程】(8)ADC 模拟量数据采集实验
【STM32C5教程】(7)TIM1 互补 PWM 输出实验
【STM32C5教程】(6)定时器 PWM 输出实验
【STM32C5教程】(5)定时器周期中断实验
微信公众号
手机版