本帖最后由 gaoyang9992006 于 2024-7-30 21:57 编辑
不好意思,我在用MCC配置SPI驱动TFT显示屏(ST7735S)的时候,失手了。
没能驱动起来。
我用的是PIC18F16Q41 curiosity NANO开发板
为了方便供电和插飞线,我用IO代替的VCC给小屏供电,以及给背光供电。
有问题的工程放这个附件压缩包里了。大家可以下载测试,找出问题在哪儿
程序结构讲解
ST7735的相关文件有4个,其中2个是关键文件st7735.c 和 st7735.h
.h中仅仅用于引入MCC配置的系统文件头文件和延时函数头文件。
在.c中实现了接口
- void ST7735_delay(uint8_t i)
- {
- DELAY_microseconds(i);
- }
- void ST7735_SPI_SendByte(uint8_t byte)
- {
- SPI1_ByteWrite(byte);
- while (SPI1_IsTxReady()==false);
- }
- void ST7735_SPI_RST_SetLow(void)
- {
- RST_SetLow();
- }
- void ST7735_SPI_RST_SetHigh(void)
- {
- RST_SetHigh();
- }
- void ST7735_SPI_CS_SetLow(void)
- {
- CS_SetLow();
- }
- void ST7735_SPI_CS_SetHigh(void)
- {
- CS_SetHigh();
- }
- void ST7735_SPI_DC_SetLow(void)
- {
- DC_SetLow();
- }
- void ST7735_SPI_DC_SetHigh(void)
- {
- DC_SetHigh();
- }
复制代码 目前运行的时候会卡在函数
- void ST7735_SPI_SendByte(uint8_t byte)
- {
- SPI1_ByteWrite(byte);
- while (SPI1_IsTxReady()==false);
- }
复制代码 的while循环里。
不知道为何?
另外在MCC配置SPI的时候确实不知道4个模式是什么意思,如下:
默认的是Mode1,我也尝试切换到其他模式,也是卡死,无法正常点亮屏幕。
我在其他ARM核心单片机测试过这个ST7735的库,是可以用的。
搞定方法:https://bbs.21ic.com/icview-3393320-1-1.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|