本帖最后由 wolfgang2015 于 2017-6-13 00:14 编辑
一、设计目标: 1、操控GD450Vx的GPIO口点亮板载LED4、LED6; 2、操控GD450Vx的GPIO响应按键B3、B4的中断信号; 3、操控GD450Vx的Usart口,通过CH340串口转USB和GL8506实现与电脑主机USB的数据通信; 4、操控GD450Vx的TIMER,配置定时器中断1秒钟产生一次中断,并点亮LED5; 5、操控GD450Vx的RTC,将时钟信号通过Usart输出到串口上显示; 6、操控GD450Vx的IIC,读取DS3231模块的精准时钟,并通过Usart输出到串口上显示; 7、操控GD450Vx的SPI,实现与ST7735TFT的通信,将DS3231模块的时钟信息与内部的RTC时钟输出到LCD上显示,以对片内RTC时钟配置参数实现校准。
二、硬件环境搭建 通过杜邦线将开发板和试验用的DS3231、ST7735连接
二、过程: 1、建立在Keil 中建立GD32F450Vx项目Hello_Clock,在项目中分别建立Startup、CMSIS、GD32F450_Library、BSP、Trochili、User、Dome目录,将开发包 “GD32F4xx_Firmware_Library_V1.2”内的startup_gd32F450.s、system_gd32F4xx.c、gd32f4xx_xxxxx.c及.h文件引入目录中: 2、在BSP中按功能建好各功能模块文件,如下图: 3、通过参考GD32F4xx_Firmware_Library_V1.2开发包中对应的Examples例程,并参考数据手册、用户手册及Firmware的功能实现配置,完成代码编程。
三、设计初步结果: 1、能通过B3、B4按键中断实现对LED4、LED6的控制; 2、RTC每1秒钟产生一次中断,让LED5 定时闪亮; 3、TIMER能将内部时钟信息,通过Usart输出到PC机串口接收设备上; 4、硬件IIC与DS3231实现通信,可设置并读出外部精准时钟的时钟信息,并通过Usart输出到PC机串口接收设备上; 5、硬件SPI与ST7735 TFT实现通信,可将RTC、DS3231的时钟信息输出到TFT设备上进行始终比较,为以后的时钟校准提供了基础环境。
四、时钟校准视频如以下视频 时钟校准前的GD32F450Vx内RTC 与 精准时钟DS3231 短时内误差较大
时钟校准后的GD32F450Vx内RTC 与 精准时钟DS3231 短时内几乎同步,有待长时间运行后观察其时钟误差
GD32F450活动相关帖子:
1、GD32F450体验心得
2、GD32F450VE Colibri 开发板引脚功能图
3、COLIBRI GD32F450Vx 时钟项目设计综合展示
|