野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24392|回复: 10

求助火哥。触摸屏和显示的问题。坑爹的定时器

[复制链接]
发表于 2015-4-7 21:01:09 | 显示全部楼层 |阅读模式
为什么我在触摸屏点LED的试验中。把定时器开了。屏幕就白屏了呢。,把定时器关了就没问题,请问火哥这是什么原因呢?
回复

使用道具 举报

 楼主| 发表于 2015-4-7 21:11:48 | 显示全部楼层
感觉是中断里面出现了冲突问题,但是找不到原因
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-8 10:11:14 | 显示全部楼层
...........
回复

使用道具 举报

发表于 2015-4-8 14:25:52 | 显示全部楼层
把主要程序截图发上来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-9 10:22:40 | 显示全部楼层
亽亼 发表于 2015-4-8 14:25
把主要程序截图发上来看看


#include "stm32f10x_tim.h"
#include "TIM.h"

/// TIM2中断优先级配置
void TIM2_NVIC_Configuration(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;
   
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);                                                                                                         
    NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;          
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;       
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}

/*
* TIM_Period / Auto Reload Register(ARR) = 1000   TIM_Prescaler--71
* 中断周期为 = 1/(72MHZ /72) * 1000 = 1ms
*
* TIMxCLK/CK_PSC --> TIMxCNT --> TIM_Period(ARR) --> 中断 且TIMxCNT重置为0重新计数
*/
void TIM2_Configuration(void)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
               
                /* 设置TIM2CLK 为 72MHZ */
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
    //TIM_DeInit(TIM2);
       
        /* 自动重装载寄存器周期的值(计数值) */
    TIM_TimeBaseStructure.TIM_Period=1000;
       
    /* 累计 TIM_Period个频率后产生一个更新或者中断 */
          /* 时钟预分频数为72 */
    TIM_TimeBaseStructure.TIM_Prescaler= 71;
       
                /* 对外部时钟进行采样的时钟分频,这里没有用到 */
    TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
       
    TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
       
    TIM_ClearFlag(TIM2, TIM_FLAG_Update);
       
    TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
               
    TIM_Cmd(TIM2, ENABLE);                                                                                                                                               
   
   //RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 , DISABLE);                /*先关闭等待使用*/   
   
}


void TIM_Init (void)
{
         TIM2_Configuration();
         TIM2_NVIC_Configuration();
}
/*********************************************END OF FILE**********************/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-9 10:24:03 | 显示全部楼层
亽亼 发表于 2015-4-8 14:25
把主要程序截图发上来看看

就是配置了一下定时器而已。开了个中断就不行了
回复 支持 反对

使用道具 举报

发表于 2015-4-9 17:48:47 | 显示全部楼层
有没有用jtag跟踪到哪里出错了??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 13:10:19 | 显示全部楼层
亽亼 发表于 2015-4-9 17:48
有没有用jtag跟踪到哪里出错了??

///重定向c库函数printf到USART1
int fputc(int ch, FILE *f)
{
                /* 发送一个字节数据到USART1 */
                USART_SendData(USART1, (uint8_t) ch);
               
                /* 等待发送完毕 */
                while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);               
       
                return (ch);
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 13:11:06 | 显示全部楼层
亽亼 发表于 2015-4-9 17:48
有没有用jtag跟踪到哪里出错了??

好像卡在while();里面了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-13 13:28:48 | 显示全部楼层
亽亼 发表于 2015-4-9 17:48
有没有用jtag跟踪到哪里出错了??

想不明白为什么会死在串口里面啊啊啊
回复 支持 反对

使用道具 举报

发表于 2015-4-13 14:56:29 | 显示全部楼层
卡在while()里边说明数据没发出去,应该是没初始化问题吧
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 10:32 , Processed in 0.044253 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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