OpenEdv-开源电子网

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

移植UCOSIII后,程序运行卡死在while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);

[复制链接]

15

主题

25

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2018-12-24
在线时间
33 小时
发表于 2019-6-18 08:54:25 | 显示全部楼层 |阅读模式
10金钱
移植工程直接用原子的移植完以后的例程,我先实现了3个任务,运行起来都没有问题,然后我把第四个任务加上,这时不仅其他任务都不运行了,而且程序还卡死在了[mw_shl_code=c,true]void u3_printf(char* fmt,...)  
{  
        u16 i,j;
        va_list ap;
        va_start(ap,fmt);
        printf("3.   ucosiii  \r\n");
        vsprintf((char*)USART3_TX_BUF,fmt,ap);
        printf("4.   ucosiii  \r\n");
        va_end(ap);
        printf("5.   ucosiii  \r\n");
        i=strlen((const char*)USART3_TX_BUF);
        printf("6.   ucosiii  \r\n");
        for(j=0;j<i;j++)
        {
                printf("7.   ucosiii  \r\n");
          while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET); //程序就卡在了这个地方,只打印了7. ucosiii,不打印8. ucosiii
                printf("8.   ucosiii  \r\n");               
                USART_SendData(USART3,USART3_TX_BUF[j]);
        }
}[/mw_shl_code]

问题是这四个任务在没有加入系统之前都是完美运行的,没有卡死。
跑了系统以后再上第四个任务就会整个程序卡死,按道理来讲,我跑了系统不是各个任务之间互不干扰,就算第四个任务卡死,但是其他三个为什么跑都不跑呢?






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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-6-19 01:05:41 | 显示全部楼层
仿真找问题,看看你的代码死哪里了
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2020-3-16
在线时间
15 小时
发表于 2020-7-9 20:17:58 来自手机 | 显示全部楼层
串口没有初始化
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 10:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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