STM32F4使用UCOSIII,信号量无法唤起任务 str计数已经为非0

GYC2492 2020-09-15 10:41:49
STM32F4使用UCOSIII,信号量无法唤起任务 str计数已经为非0

//RS485通讯任务函数 无法进入这个任务
void RS485_task(void *pdata)
{
OS_ERR err;
// CPU_SR_ALLOC();
pdata = pdata;

while(1)
{
OSSemPend(&sem_RS485,0,OS_OPT_PEND_BLOCKING,0,&err); //请求信号量
Slave_Service(); //485接收数据处理
OSTimeDlyHMSM(0,0,0,5,OS_OPT_TIME_HMSM_STRICT,&err); //延时2ms
}
}

//发送信号量
//定时器1中断服务程序
//TIM1_Init(200-1,84-1) //20ms中断
void TIM3_IRQHandler(void)
{
if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断
{
TIM_ClearITPendingBit(TIM3,TIM_IT_Update); //清除中断标志位

// TIM3_COUNT++;
// if(TIM3_COUNT >= 10) //如果超过100ms,完成接收
{
RS485_RX_STA = 1; //接收完成
OSSemPost(&sem_RS485,OS_OPT_POST_1,&err);//发送信号量
// TIM3_COUNT = 0; //数据计数清零
TIM_Cmd(TIM3, DISABLE); //关闭定时器中断
}
}
}



...全文
123 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,511

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧