项目:温湿度表
芯片:STM32F030C6T8
液晶:华迪1.54寸 TFT屏
温湿度传感器:SHT30
主要对液晶屏官方驱动代码进行了增加和修改。
一、STM32CubeMX建立工程

I2C1 给SHT30, SPI给液晶屏,TIM16用于内部基础定时,TIM17给LED,USART1打印调试信息。RTC预留。
SPI的DMA设置


官方的液晶驱动是用IO来模拟的,现在改成SPI的DMA来传输,由于一次只能传输一个字节,实际速度改良不明显。驱动代码主要添加一些实用的功能。
int LCD_Set_Scroll_Area(uint16_t tfa, uint16_t vsa, uint16_t bta); //设置滚屏区域
void LCD_Set_Scroll_Start_Address(uint16_t vsp); //设置滚屏起始点
void DrawCurve(uint16_t RawValue,uint16_t fc,uint16_t bc); //画曲线
备注:
设置滚动区域,只要地main.c 的 液晶初始化后添加一次即可,如:

设置滚动起始点需要在while(1)部分添加

LCD_ST7789.c
以上是液晶驱动代码,屏幕界面GUI设计我另准备了个C文件来设计,方便管理。
GUI.c

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/183529.html