打印

自己画的板子 tft刷屏速度慢

[复制链接]
4836|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wozaiyanda|  楼主 | 2013-9-28 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在stm32上烧录ucos+ucgui程序,tft为4.3寸,原来在开发板上跑demo时,速度还可以,现在在自己画了个板子实现,出乎意料的速度慢,Q1:跟硬件电路有关吗,都那些地方,Q2:ucos使用32767的时钟吗,没接时好像也能跑,它跟执行速度有关吗,supplyment;tft使用的是io,尝试了fsmc例程,速度也很慢
沙发
mmbs| | 2013-9-29 20:58 | 只看该作者
看看你的外部晶振工作么?

使用特权

评论回复
板凳
mmbs| | 2013-9-29 20:59 | 只看该作者
代码没有修改吧?

使用特权

评论回复
地板
lzbf| | 2013-9-29 21:36 | 只看该作者
晶振配置的原因吧。

使用特权

评论回复
5
gaochy1126| | 2013-9-29 21:45 | 只看该作者
接8M晶振吧?

使用特权

评论回复
6
gaochy1126| | 2013-9-29 21:46 | 只看该作者
楼主怎么配置的呢?

使用特权

评论回复
7
kkzz| | 2013-9-30 00:48 | 只看该作者
软件的问题吧。

使用特权

评论回复
8
shenpingbing| | 2013-9-30 10:25 | 只看该作者
估计是软件问题   

使用特权

评论回复
9
wozaiyanda|  楼主 | 2013-10-5 14:14 | 只看该作者
mmbs 发表于 2013-9-29 20:59
代码没有修改吧?

不好意思,放假这几天没看论坛,代码没有修改,我跑的开发板自带的demo程序,太慢了,在开发板上明显很快

使用特权

评论回复
10
wozaiyanda|  楼主 | 2013-10-5 14:15 | 只看该作者
gaochy1126 发表于 2013-9-29 21:45
接8M晶振吧?

外接了8M的

使用特权

评论回复
11
wozaiyanda|  楼主 | 2013-10-5 14:17 | 只看该作者
没有及时回复各位,一致在此表示歉意:loveliness:

使用特权

评论回复
12
wozaiyanda|  楼主 | 2013-10-5 14:19 | 只看该作者
gaochy1126 发表于 2013-9-29 21:46
楼主怎么配置的呢?

主要的时钟配置
void  BSP_Init(void)
{
  /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
  /* RCC system reset(for debug purpose) */
  RCC_DeInit();

  /* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);

  /* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if(HSEStartUpStatus == SUCCESS)
    {
     /* Enable Prefetch Buffer */
     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

     /* Flash 2 wait state */
     FLASH_SetLatency(FLASH_Latency_2);
   
     /* HCLK = SYSCLK */
     RCC_HCLKConfig(RCC_SYSCLK_Div1);
  
     /* PCLK2 = HCLK */
     RCC_PCLK2Config(RCC_HCLK_Div1);

     /* PCLK1 = HCLK/2 */
     RCC_PCLK1Config(RCC_HCLK_Div2);

     /* PLLCLK = 8MHz * 9 = 72 MHz */
     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

     /* Enable PLL */
     RCC_PLLCmd(ENABLE);

     /* Wait till PLL is ready */
     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
       {
       }

     /* Select PLL as system clock source */
     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

     /* Wait till PLL is used as system clock source */
     while(RCC_GetSYSCLKSource() != 0x08)
      {
      }
    }


   /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC
         | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG
         | RCC_APB2Periph_AFIO, ENABLE);


  GPIO_Config();
  SPI_Config();
  DAC_Config();
  ADC_Config();
  InterruptConfig();
  SysTick_Config();   
  Lcd_Init();                                          /* Initialize the uC/OS-II tick interrupt                   */
}

使用特权

评论回复
13
jiaoanhua| | 2013-10-5 18:14 | 只看该作者
软件问题

使用特权

评论回复
14
wozaiyanda|  楼主 | 2013-10-5 19:46 | 只看该作者
jiaoanhua 发表于 2013-10-5 18:14
软件问题

请指教

使用特权

评论回复
15
haibian826| | 2013-10-5 19:55 | 只看该作者
stm32也就几十M的主频,硬件应该不会有啥问题。

使用特权

评论回复
16
wozaiyanda|  楼主 | 2013-10-5 20:04 | 只看该作者
haibian826 发表于 2013-10-5 19:55
stm32也就几十M的主频,硬件应该不会有啥问题。

嗯,最高72M,谢谢,那软件问题容易出哪呢

使用特权

评论回复
17
wozaiyanda|  楼主 | 2013-10-7 09:06 | 只看该作者
仔细分析了时钟程序,原来在v3.0版本的库中,默认是先用HSI,当外部有HSE时再配置为72M,经调试,在以前画的板子中,HSE设置可以进去,这次确不行,于是确定是外部晶振出问题了。用示波器测,果然没有起振,想着是crystal 或是旁路电容坏了,排除电容后还是不行,于是确定是晶振,一次测量中意外发现crystal 一引脚与旁边的电源引脚短路。于是发现是焊接问题。由于是手工焊接,引脚相连不易发现。看来这次真的很幸运。结贴。

使用特权

评论回复
18
hkcj| | 2013-10-7 10:24 | 只看该作者
问题解决了就好   楼主  谢谢你能共享自己的解决问题的方法   谢谢    这样大家以后遇到同样的问题   就方便很多了

使用特权

评论回复
19
gaochy1126| | 2013-10-7 15:54 | 只看该作者
wozaiyanda 发表于 2013-10-5 14:19
主要的时钟配置
void  BSP_Init(void)
{

开其他中断了么?

使用特权

评论回复
20
wozaiyanda|  楼主 | 2013-10-7 15:55 | 只看该作者
hkcj 发表于 2013-10-7 10:24
问题解决了就好   楼主  谢谢你能共享自己的解决问题的方法   谢谢    这样大家以后遇到同样的问题   就方 ...

谢谢版主

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

38

帖子

0

粉丝