硬汉嵌入式论坛

 找回密码
 立即注册
查看: 470|回复: 2
收起左侧

V6中断卡死主程序问题求助

[复制链接]

4

主题

2

回帖

14

积分

新手上路

积分
14
发表于 2022-5-9 21:55:08 | 显示全部楼层 |阅读模式
我在主程序里启用了一个6MHz的定时器TIM6,设置以后调试时,只要一进主程序的循环就卡死,中断调试显示一直在中断里出不来。想请教一下各位这是什么原因。
1652104322(1).png

程序代码如下
int main(void)
{

        bsp_Init();                /* 硬件初始化 */
        uint8_t ucKeyCode;                /* 按键代码 */

        /* 先做个LED1的亮灭显示 */
        bsp_LedOn(1);
        bsp_DelayMS(100);
        bsp_LedOff(1);
        bsp_DelayMS(100);
       
        bsp_StartAutoTimer(0, 100); /* 启动1个100ms的自动重装的定时器 */
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET);
        HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, GPIO_PIN_SET);
        bsp_SetTIMforInt(TIM6, 6000000, 0, 5);
        /* 进入主程序循环体 */
        while (1)
        {
//                bsp_Idle();                /* 这个函数在bsp.c文件。用户可以修改这个函数实现CPU休眠和喂狗 */

                /* 判断定时器超时时间 */
                if (bsp_CheckTimer(0))       
                {
                        /* 每隔100ms 进来一次 */  
                        bsp_LedToggle(1);
                                               
                }

        }

void TIM6_DAC_IRQHandler(void)
{
        if((TIM6->SR & TIM_FLAG_UPDATE) != RESET)
        {
//                OV7670_test();
                TIM6->SR = ~ TIM_FLAG_UPDATE;
                //添加用户代码
               
        }
}

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-5-10 01:08:00 | 显示全部楼层
F429那个主频速度,6MHz中断速度太快了,还是继续用DMA方式靠谱。

像H7系列400MHz主频才12.5MHz
回复

使用道具 举报

4

主题

2

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2022-5-10 10:21:50 | 显示全部楼层
eric2013 发表于 2022-5-10 01:08
F429那个主频速度,6MHz中断速度太快了,还是继续用DMA方式靠谱。

像H7系列400MHz主频才12.5MHz

好吧,果然我把频率降下来就好了,我再仔细看看DMA吧
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 15:25 , Processed in 0.158255 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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