OpenEdv-开源电子网

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

原子哥程序疑问求助

[复制链接]

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
发表于 2014-10-16 22:18:53 | 显示全部楼层 |阅读模式
5金钱
关于ucos2的心跳初始化函数,为什么放到系统初始化之前,如果系统初始化没有完成,来中断了怎么办,另外MY_NVIC_PriorityGroup_Config(NVIC_PriorityGroup_2);  //这个是不是在这个程序里能去掉,在这里起的作用是什么?

最佳答案

查看完整内容[请看2#楼]

这是设置中断分组,不能去掉,至少被调用一次,否则又是默认配置了。 如果初始化没有完成,就用默认设置。 默认一般都是0....
我就是我,是颜色不一样的烟火。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-16 22:18:54 | 显示全部楼层
这是设置中断分组,不能去掉,至少被调用一次,否则又是默认配置了。
如果初始化没有完成,就用默认设置。
默认一般都是0....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-16 22:18:54 | 显示全部楼层
回复【3楼】idqiye:
---------------------------------
谁说滴答时钟要最高优先级???
那就完蛋了。其它要求实时响应的中断就全部靠边站了...
ucosii,滴答中断一般都是最低优先级的!!默认就是最低的,低于所有外部中断。

显然不一定要你说的:先初始化OS,在初始化systick
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
 楼主| 发表于 2014-10-17 08:33:00 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------m回复【2楼】正点原子:
滴答时钟不是要配置为最高中断优先级么,而且默认的都是最高优先级,为什么要在这里设置一下中断分组,还有就是原子哥并没有回答我为什么在系统初始化之前,就把心跳时钟给配置好了,一般ucos2系统不都是在初始化之后配置心跳时钟么?
我就是我,是颜色不一样的烟火。
回复

使用道具 举报

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
 楼主| 发表于 2014-10-17 10:00:37 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
那这个程序里的初始化的中断分组意义何在?为什么弄一个中断分组先?还有就是把你的这个心跳函数直接换成这个SysTick_Config(FCLK / OSFREQ); 为什么就不正确了呐,系统就会死掉,一直找不到原因,我看你的程序只是自己写了一下这个函数。
我就是我,是颜色不一样的烟火。
回复

使用道具 举报

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
 楼主| 发表于 2014-10-17 12:23:23 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
而且你自己编写的心跳函数,并没有初始化,systick的中断优先级额
我就是我,是颜色不一样的烟火。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-17 15:39:47 | 显示全部楼层
回复【5楼】idqiye:
---------------------------------
中断优先级设置的是外部中断、定时器、DMA等的优先级,而不是内核中断的优先级!!

死机问题,仿真下看看吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
 楼主| 发表于 2014-10-18 19:14:14 | 显示全部楼层


现在把原子哥的ucos2里的流水灯实验,初始化心跳部分的,delay_init();函数,换成如图所示的库函数,其它还按照你的程序不动,程序就会死到void HardFault_Handler(void)这个函数里,试了好多次了,还是找不到原因,不知道是原子哥的移植只适合自己写的程序么,对库函数有限制?希望能指点一下....
我就是我,是颜色不一样的烟火。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-10-18 23:15:05 | 显示全部楼层
回复【8楼】idqiye:
---------------------------------
我们战舰板有库函数版本的ucosii例程,你看看那个就行了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

35

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2014-7-30
在线时间
49 小时
 楼主| 发表于 2014-10-19 17:51:20 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
看了你的库函数版本的实验,不过系统启动心跳,也是自己写的,不是调用的库函数额。
我就是我,是颜色不一样的烟火。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 06:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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