Cjy_JDxy 发表于 2020-3-17 16:17

周航慈书第10章第2个例子的问题

我正在学习ucosii,看周航慈的《基于嵌入式实时操作系统的程序设计技术(第二版)》。
看到第10章,第2个例子:
使用定时器中断控制采样周期----中高速采样示例
部分代码如下:







不成功。我调试了一下,如下图:

根据串口打印的结果,
printf("222\r\n");       
        for(i=0;i<CONSTCNT;i++)
        {
                printf("333\r\n");
                temp=(INT32U)(INT32U *)OSMboxPend(Mbox,0,&err);                                        //等待数据
               
                printf("444\r\n");
                Samp=(INT8U)(temp/10000);
        }
                       
貌似循环执行了一次,第二次执**住了。
temp=(INT32U)(INT32U *)OSMboxPend(Mbox,0,&err);       
可是我测试了,定时器中断是没问题的,也就是说数据发送过来了,不知道
为什么没有等到数据。
请高手指教,谢谢!

Cjy_JDxy 发表于 2020-3-17 19:26

改了一下中断程序:

效果如下:

好像是ds18b20采样时间太长,先清中断标志位,再采样,没采样完,又进中断。
可是这样还有一个问题,第一次按键可以,第二次就不行了。
页: [1]
查看完整版本: 周航慈书第10章第2个例子的问题