OpenEdv-开源电子网

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

STM32F103C8T6+FreeRTOS,在give二值信号量之后,再进行任务挂起和恢复操作,系统进入HardFault中断

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-4-27
在线时间
7 小时
发表于 2020-8-28 17:55:05 | 显示全部楼层 |阅读模式
1金钱
我把任务挂起操作和释放一个二值信号量放在了一个按键操作任务里面,发现经过一次释放二值信号量操作之后,再次进行任务挂起和恢复操作时会进入HardFault中断,最后死在这里。所有的程序是按照原子哥的教程挨个添加的,在添加这个二值信号量操作之前,程序能正常运行。添加之后就发现这种情形了。

两个按键一个释放信号量,一个任务挂起或恢复操作

两个按键一个释放信号量,一个任务挂起或恢复操作
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2020-8-29 01:57:47 | 显示全部楼层
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-4-27
在线时间
7 小时
 楼主| 发表于 2020-8-29 08:36:56 | 显示全部楼层
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-4-27
在线时间
7 小时
 楼主| 发表于 2020-8-29 08:38:47 | 显示全部楼层
这里的任务1任务2 只是两个LED小灯闪烁,printf打印了一条语句别的就没有了。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-4-27
在线时间
7 小时
 楼主| 发表于 2020-8-31 09:01:54 | 显示全部楼层
本帖最后由 cofmilk 于 2020-8-31 09:03 编辑

新的补充:这里使用二值信号量是为了做二值信号量任务同步试验,这里二值信号量释放之后,在一个任务中获取信号量并运行原子哥的《任务壮态或信息查询实验》与《任务运行时间统计实验》这两个试验。我把这两个试验的内容写到了一个任务里面。如图片所示。这里我把这个试验中的函数注释掉之后,程序可以正常运行了。加上这两个试验程序就进入HardFault中断了。但是如果把这个二值信号量相关的东西注释掉之后 ,程序也可以运行。
1598835417(1).jpg

原子哥的两个试验2

原子哥的两个试验2

原子哥的两个试验1

原子哥的两个试验1
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 19:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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