【巨窝】 stm32c8t6 驱动st7735 LCD SPI显示屏,HAL库,cubeMX配置。

本文介绍如何使用STM32C8T6最小系统板驱动ST7735 LCD液晶显示屏。通过具体的接线方式及软件配置步骤,展示了如何点亮LCD屏幕,并为后续实现SD卡读取功能奠定基础。

继续无脑使用stm32 c8t6

http://download.youkuaiyun.com/download/geekker/10220407

之前在github逛的时候又发现了一个毛子写的LCD液晶显示库。液晶控制芯片是ST7735,分辨率128*160.SPI接口的。还带有SD卡槽。这回先不驱动sd卡,先点亮LCD再说。代码链接如上,我本来想贴github地址的,但是怎么都找不到了。

1.需要材料

stm32 c8t6最小系统板

1.8寸 st7735 lcd液晶显示屏(还有st7735R st7735s啥的不知道能不能兼容)

mdk开发工具

cubemx配置工具

2.接线

PA3GPIO_OutputRST
PA4GPIO_OutputAD
PA5SPI1_               SCK
PA6GPIO_OutputCS
PA7SPI1_               MOSI

看一眼图形配置文件


红色部分的5个脚spi串口


具体接线和板子上的对应。(这个板子在tb也就20块钱,如果是裸屏更便宜,适合做小的开发啥的)


毛子写的代码很整洁啊。。。
这个不需要太多翻译也能看懂吧?

没啥技术含量,别人写的好好的,用就可以了。

下一步对我来说比较难啊,想要使用这个液晶的SD卡卡槽,在以上一套的基础上,实现读取sd卡中bmp图片显示在lcd上的功能。我在arduino 上以及实现了,速度慢哭,而且不稳定,与sd卡质量有很大关系。一步一步来。

### 使用HALSTM32C8T6配置SPI #### 初始化SPI外设 为了初始化SPI外设,在`main.c`文件中的`MX_SPI1_Init()`函数里设置参数。该过程涉及定义SPI模式、波特率预分频器和其他必要的属性。 ```c static void MX_SPI1_Init(void) { hspi.Instance = SPI1; hspi.Init.Mode = SPI_MODE_MASTER; // 设置为主模式 hspi.Init.Direction = SPI_DIRECTION_2LINES; hspi.Init.DataSize = SPI_DATASIZE_8BIT; hspi.Init.CLKPolarity = SPI_POLARITY_LOW; hspi.Init.CLKPhase = SPI_PHASE_1EDGE; hspi.Init.NSS = SPI_NSS_SOFT; hspi.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; hspi.Init.FirstBit = SPI_FIRSTBIT_MSB; if (HAL_SPI_Init(&hspi) != HAL_OK) { Error_Handler(); } } ``` 上述代码片段展示了如何利用HAL来设定SPI的工作方式[^1]。 #### 数据传输操作 完成硬件资源的初始化之后,可以调用发送接收函数来进行数据交换: ```c uint8_t txData[] = {0x01, 0x02}; uint8_t rxData[2]; if(HAL_SPI_TransmitReceive(&hspi, txData, rxData, sizeof(txData), HAL_MAX_DELAY)!= HAL_OK){ /* Transfer error in transmission/reception process */ Error_Handler(); } ``` 这段程序说明了怎样执行全双工的数据传送动作。 对于更复杂的应用场景比如连接IMU传感器MPU9250,则可参照专门针对此类器件开发出来的驱动[^2]。这些通常已经包含了处理具体设备特性的高级APIs,简化了应用层编程工作量并提高了可靠性。 #### 错误处理机制 当遇到错误情况时,应该跳转到错误处理器中去分析原因,并采取适当措施恢复正常的运行状态或者提示用户注意异常状况的发生。 ```c void Error_Handler(void) { while(1); } ``` 以上就是有关于使用HALSTM32C8T6芯片上面配置和运用SPI接口的方法概述。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值