智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6976|回复: 14
打印 上一主题 下一主题

野火FX烧程序卡死在while( !(SYST_CSR & SysTick_CSR_COUNTFLAG_MASK))

[复制链接]

10

主题

346

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3064
威望
1392
贡献
1084
兑换币
707
注册时间
2014-1-1
在线时间
294 小时
跳转到指定楼层
1#
发表于 2015-3-28 19:56:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
野火FX烧程序卡死在while( !(SYST_CSR & SysTick_CSR_COUNTFLAG_MASK)),而且LED不断闪烁,请教大神是什么问题
回复

使用道具 举报

4

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
289
威望
155
贡献
80
兑换币
84
注册时间
2016-1-11
在线时间
27 小时
毕业学校
广东海洋大学
推荐
发表于 2016-6-3 21:35:31 | 只看该作者
编写浮点运算程序时,虽然编译器正确产生了V指令来进行浮点运算,但是因为systemXXX.c文件没有启用FPU,因此CPU执行时只认为是遇到非法指令而跳转到HardFault_Handler()中断中原地踏步。因此要保证这个错误不发生,必须要在system_init()函数里面添加如下代码:

    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));
添加在system_xxx.c中的:
void start(void)
{
    wdog_disable();     // 关闭看门狗

    common_startup();   // 复制中断向量表 和 必要的数据到 RAM里

    sysinit();          // 系统初始化,设置系统频率,初始化printf端口

    //为了防止 main 函数 里 复用了 下载口,导致 下载失败,此处增加 按下 KEY_A 就进入死循环
    SRART_CHECK();

    gpio_init(PTA4,GPO,1);  //初始化为输出1,即 禁用了 NMI 中断

    SCB->CPACR |=((3UL << 10*2)|(3UL << 11*2));     //开硬件浮点运算
        
    main();             // 执行用户主函数

    while(1);           // 死循环
}
回复 支持 1 反对 0

使用道具 举报

0

主题

9

帖子

0

精华

高级会员

Rank: 4

积分
609
威望
311
贡献
204
兑换币
201
注册时间
2015-11-21
在线时间
47 小时
毕业学校
史莱克学院
15#
发表于 2017-3-19 14:07:18 | 只看该作者
这个问题我也遇到过,我是将K60的PTD7与外设划断就好,PTD7具有上访功能
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
威望
104
贡献
68
兑换币
66
注册时间
2017-1-7
在线时间
21 小时
毕业学校
嘉兴学院
14#
发表于 2017-2-18 16:46:44 | 只看该作者
释放 发表于 2015-4-1 22:25
中断优先级设置有问题或者是你的程序初始化有问题

请问一下,为什么程序初始化有问题就会卡死在这呢?
回复 支持 反对

使用道具 举报

4

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
威望
128
贡献
84
兑换币
78
注册时间
2016-12-18
在线时间
25 小时
毕业学校
山东科技大学
13#
发表于 2017-1-15 12:41:21 | 只看该作者
改了还是不行啊
回复 支持 反对

使用道具 举报

0

主题

21

帖子

0

精华

高级会员

Rank: 4

积分
953
QQ
威望
483
贡献
280
兑换币
306
注册时间
2015-10-27
在线时间
95 小时
12#
发表于 2017-1-10 09:30:04 | 只看该作者
11#完美解决了我的问题!感谢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
51
威望
37
贡献
10
兑换币
12
注册时间
2016-4-14
在线时间
2 小时
毕业学校
兰州交通大学
10#
发表于 2016-4-14 19:27:53 | 只看该作者
请问你们解决了的大神怎么搞的?我的刚刚下载进去就这样了,不行了.连main都没进去
回复 支持 反对

使用道具 举报

2

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
552
威望
255
贡献
137
兑换币
158
注册时间
2015-5-1
在线时间
80 小时
毕业学校
郑州科技学院
9#
发表于 2015-6-4 22:13:30 | 只看该作者
我用硬件I2C MPU6050,我的也是死在while( !(SYST_CSR & SysTick_CSR_COUNTFLAG_MASK)),咋办啊
谢谢,两天了都没搞出来,我把SysTick_CSR_COUNTFLAG_MASK=1后,又死在滴答定时器
回复 支持 反对

使用道具 举报

10

主题

346

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3064
威望
1392
贡献
1084
兑换币
707
注册时间
2014-1-1
在线时间
294 小时
8#
 楼主| 发表于 2015-5-26 21:41:18 | 只看该作者
nndz 发表于 2015-5-13 18:22
请问你是怎么解决的?

之前有一段时间没上论坛。。。原因跑飞了,PWM超过设定值,使用了没初始化的端口都可能造成这种现象,我当时是靠单步执行,看哪里跑飞以及野火串口能输出错误信息判断
回复 支持 反对

使用道具 举报

2

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
588
威望
302
贡献
176
兑换币
196
注册时间
2013-11-20
在线时间
55 小时
毕业学校
理工大学
7#
发表于 2015-5-13 18:22:49 | 只看该作者
请问你是怎么解决的?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-1-10 12:15 , Processed in 0.061468 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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