初级会员

- 积分
- 86
- 金钱
- 86
- 注册时间
- 2016-10-26
- 在线时间
- 27 小时
|
3金钱
用STM32CubeMX生成了一个串口通讯的工程,使用的是USART1,并使用了两个LED。生成工程后,向工程中添加了System文件夹,并严格按照开发板说明书上的步骤进行操作,添加了相关的文件和头文件,然后在主函数中调用了延时函数delay_ma(1000),但是实际运行的时候,这个函数不会被执行,不知道为什么???

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 阿波罗STM32F429开发板 串口实验\r\n");
printf("正点原子@ALIENTEK\r\n\r\n\r\n");
}
if(times%200==0)printf("请输入数据,以回车键结束\r\n");
if(times%30==0)
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
delay_ms(1000); //这句话执行不了
}
}
|
|