OpenEdv-开源电子网

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

STM32的UCOSIII的钩子函数I/O口输入问题

[复制链接]

6

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-11-29
在线时间
22 小时
发表于 2017-6-7 20:53:00 | 显示全部楼层 |阅读模式
10金钱
void  App_OS_IdleTaskHook (void)
{
        u8 key;
        static int num;
        KEY_Init();                                
        num++;
        if(num%50000==0)
        {
                printf("Idle Task Running 50000 times!\r\n");
        }
                        key=KEY_Scan(0);                          
                if(key==WKUP_PRES)
                {                 
                        printf("WKUP_PRES\r\n");
                }else if(key==2)       
                {
                        printf("key==2\r\n");
                }       
}
      钩子函数不能加I/O口输入吗?比如按键输入?
      我不按键时正常工作,怎么一按键就停止工作了?整个系统不继续运行了。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-7-14
在线时间
12 小时
发表于 2017-7-15 00:21:56 | 显示全部楼层
钩子函数必须精简,执行速度要快,printf函数代码很多的,执行时间肯能会比较长,所以会出现很多稀奇问题
回复

使用道具 举报

6

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-11-29
在线时间
22 小时
 楼主| 发表于 2017-7-19 09:51:51 | 显示全部楼层
单片机求职 发表于 2017-7-15 00:21
钩子函数必须精简,执行速度要快,printf函数代码很多的,执行时间肯能会比较长,所以会出现很多稀奇问题

为什么要精简?什么样才算精简?
回复

使用道具 举报

0

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-7-14
在线时间
12 小时
发表于 2017-7-19 22:48:51 | 显示全部楼层
wst1560426011 发表于 2017-7-19 09:51
为什么要精简?什么样才算精简?

执行两三句代码,不要太冗余例如切换一下IO操作,PWM采集,代码太冗余会影响代码执行,导致错区及中断延迟
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 16:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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