OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2561|回复: 1

关于TFT不显示的问题,求助

[复制链接]

19

主题

78

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
422
金钱
422
注册时间
2015-1-19
在线时间
99 小时
发表于 2017-1-4 10:10:23 | 显示全部楼层 |阅读模式
       最近买了几块spi的tft液晶屏,结果程序下载进去之后不显示,找了很久发现了问题,我用的是12m晶振,用8M晶振的板子跑,一切ok,但还换成12M的板子还是不显示,8M改12M方法如下:
第一步,打开stm32f10x.h,将
#define HSE_VALUE    ((uint32_t)8000000)  修改为:
#define HSE_VALUE    ((uint32_t)12000000)  
     第二步,打开system_stm32f10x.c,修改PLL参数,将
      
     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |                                         RCC_CFGR_PLLMULL));
     RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);  修改为:   
      
     RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |                                         RCC_CFGR_PLLMULL));
     RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);      至此,原文件已经修改完成,如果你想将主频修改至其他频率,请自行修改。但是,到现在,如果您直接编译调试的话,就会出现上文所说的USART的波特率不正确,Systick走时不准等问题,原因就是我们需要进行第三部的修改,这个修改不是在原文件中,而是在编译环境中。我们已Keil MDK为例说明。
     第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,找到Target标签,你会发现,外接的晶振默认还是8MHz,我们将外接的晶振参数修改为12MHz,确定保存,再编译,调试,你就会发现,所有的参数都回归的正常轨道,设置波特率为9600,它也不会跑到14400,设置Systick为1ms中断,它不会1.5ms中断。

     本人用示波器查看我的12M晶振跑的很稳定,延迟很精确,串口收发数据正常就是不知道还有什么地方影响TFT,spi软件模拟还是硬件都试了用12M晶振的板子就是不显示
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-12-10
在线时间
11 小时
发表于 2017-1-6 09:14:54 | 显示全部楼层
先看下spi的数据吧,tft对时钟的范围应该可以接受8-12M的变化的,估计是spi数据传输有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 04:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表