完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在UCOSIII 中 的中断函数较裸板上有什么区别哈,怎么改写,希望多多指点, 本人有Linux 基础想直接上手UCOSIII 希望大家推荐个学习资料
!!! |
|
相关推荐
12个回答
|
|
II和III在中断响应函数时一样的,只是新增了延迟发布的功能。
|
|
|
|
void SDIO_IRQHandler(void)
{ OSIntEnter(); printf("rn interrupt......!rn" ); SD_ProcessIRQSrc(); OSIntExit(); } 这是本人写的SD卡写完就得中断服务函数, 可是为什么还是不对哈? 关总中断 和开总中断是哪个哈? |
|
|
|
不加操作系统就正确,加上就会莫名其妙的出问题
|
|
|
|
在STM32F103上移植的,需要在开始时关闭所有中断么?
|
|
|
|
|
|
|
|
[C] 纯文本查看 复制代码
void TIM6_IRQHandler(void){CPU_SR_ALLOC(); CPU_CRITICAL_ENTER(); OSIntEnter(); CPU_CRITICAL_EXIT();if ( TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET ) { //********中断程序*************} OSIntExit(); } |
|
|
|
我查了下 ,这是在 宏 OS_CFG_ISR_POST_DEFERRED_EN 设置为0 时 UCOSIII采用关中断来保护临界代码,
这两句是来 把中断状态保存起来 关闭中断 然后恢复中断前的状态! |
|
|
|
有什么意义么?
|
|
|
|
OSIntEnter(); 前不是先关中断么
|
|
|
|
哪里说的要关中断?不用关
|
|
|
|
看了一下,OSIntEnter本质是对OSIntNestingCtr加1来记录中断嵌套的,为了保险可以关中断,不过这个关闭的可是全局中断。而且UCOS官方的例程使用的是CPU_CRITICAL_ENTER()来 关中断的,而CPU_CRITICAL_ENTER()根据配置不同有两种实现方法,一种就是关中断,一种就是禁止任务调度,如果配置为第二种的话官方的例程在进入OSIntEnter()的时候也不关中断了。反正一句话,对OSIntNesting加一,你要是为了保险防止被其他中断打断,那就加上。
|
|
|
|
看了他的注释,以为是要强制关闭的。。
|
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1155 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1086浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 06:45 , Processed in 1.399550 second(s), Total 101, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号