OpenEdv-开源电子网

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

关于uCOS-II中断的问题

[复制链接]

5

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
296
金钱
296
注册时间
2016-5-10
在线时间
87 小时
发表于 2016-7-6 22:18:40 | 显示全部楼层 |阅读模式
    原子哥的uCOS-II移植视频
其中浮点任务如下:
void float_task(void *pdata)
{
        OS_CPU_SR cpu_sr=0;
        static float float_num=0.01;
        while(1)
        {
                float_num+=0.01f;
                OS_ENTER_CRITICAL();       
                printf("float_num???: %.4f\r\n",float_num);
                OS_EXIT_CRITICAL();               
                delay_ms(500);
        }
}

    是不是因为串口也有中断,所以在执行printf函数之前,调用OS_ENTER_CRITICAL();来进入临界区?
另外这两个函数OSIntEnter();  和OS_ENTER_CRITICAL();操作中断有什么区别?
   
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-7-7 10:01:41 | 显示全部楼层
printf加保护是防止其他东西打断printf的运行,你可以去掉。
回复 支持 反对

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-7-7 10:08:46 | 显示全部楼层
避免打印到一半跳到别的task里面,如果别的task没打印还好,如果有,那么打印出来就乱了。
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
296
金钱
296
注册时间
2016-5-10
在线时间
87 小时
 楼主| 发表于 2016-7-7 15:13:30 | 显示全部楼层
zuozhongkai 发表于 2016-7-7 10:01
printf加保护是防止其他东西打断printf的运行,你可以去掉。

原来是这样啊,谢了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-1 20:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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