初级会员
- 积分
- 93
- 金钱
- 93
- 注册时间
- 2020-1-20
- 在线时间
- 20 小时
|
1金钱
//LED0任务
void led0_task(void *pdata)
{
while(1)
{
LED0(0);
delay_ms(500);
LED0(1);
delay_ms(500);
};
}
//LED1任务
void led1_task(void *pdata)
{
u8 len;
u16 times=0;
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf("\r\n您发送的消息为:\r\n");
HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000); //发送接收到的数据
while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET); //等待发送结束
printf("\r\n\r\n");//插入换行
USART_RX_STA=0;
}else
{
times++;
if(times%5000==0)
{
printf("\r\nALIENTEK STM32F7开发板 串口实验\r\n");
printf("正点原子@ALIENTEK\r\n\r\n\r\n");
}
if(times%200==0)printf("请输入数据,以回车键结束\r\n");
if(times%30==0)LED0_Toggle;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
};
}
直接led1任务改动的,实验现象是led0以不规则的频率闪动,不知道是哪里出问题了(原程序测试没有一点问题,加了这一段就有问题了)
|
最佳答案
查看完整内容[请看2#楼]
if(times%30==0)LED0_Toggle;//闪烁LED,提示系统正在运行. 看到了。。。。
|