打印

初次使用ucos,遇到一个问题向各位大侠请教

[复制链接]
1688|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hikerpan|  楼主 | 2010-12-14 15:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
两个任务
RS232_TASK
GSM_TASK
RS232_TASK任务优先级高于GSM_TASK

我在仅仅只有RS232_TASK运行时,程序没有问题,可以正常运行;
当我使用下面的代码,并通过RS232每秒发送一次AT指令进行测试的时候,
经过一段时间以后,大约几分钟,程序出现死机。

OS_EVENT *poeUart2ReviceSem;
OS_EVENT *poeUart0ReviceSem;
uint8 uiReviceBuf0[128];                                                /*  接收数据缓冲区              */
void RS232_TASK(void *pdata)
{
    INT8U iUart0Err;
    uint32 uiNum;
pdata = pdata;
poeUart0ReviceSem = OSSemCreate(1);                                 /*  创建信号量                  */
while(1)
{
     OSSemPend(poeUart0ReviceSem, 0, &iUart0Err);                    /*  请求信号量                  */
     uiNum = uartFifoStatus(UART0, RX_FIFO);                         /*  查看收到多少数据            */
     uartRead(UART0, uiReviceBuf0, uiNum, NULL);                     /*  读数据                      */
  /*DEBUG start:用于调试GPRS串口命令*/
  uartWrite(UART2, uiReviceBuf0, strlen((char *)uiReviceBuf0), NULL);
  /*DEBUG end:*/
}     
}
uint8 uiReviceBuf2[128];                                                /*  接收数据缓冲区              */
void GSM_TASK(void *pdata)
{
    INT8U iUart0Err;
    uint32 uiNum;
pdata = pdata;
poeUart2ReviceSem = OSSemCreate(1);                                 /*  创建信号量                  */
while(1)
{
     OSSemPend(poeUart2ReviceSem, 0, &iUart0Err);                    /*  请求信号量                  */
     uiNum = uartFifoStatus(UART0, RX_FIFO);                         /*  查看收到多少数据            */
     uartRead(UART2, uiReviceBuf0, uiNum, NULL);                     /*  读数据                      */
  uartWrite(UART0, uiReviceBuf0, strlen((char *)uiReviceBuf0), NULL);
}     
}

相关帖子

沙发
hikerpan|  楼主 | 2010-12-14 15:29 | 只看该作者
忘了说明了,信号量的产生在两个uart的中断里面

使用特权

评论回复
板凳
hikerpan|  楼主 | 2010-12-14 17:39 | 只看该作者
up

使用特权

评论回复
地板
clingos| | 2010-12-24 11:23 | 只看该作者
死机是什么意思,是HARDFAULT还是什么?LZ不知用的是UCOS哪个版本,定义的时钟频率是多少?2.86的版本有个BUG!!

使用特权

评论回复
5
mapleft| | 2010-12-28 18:48 | 只看该作者
4楼,请问那个BUG是什么问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

141

帖子

0

粉丝