初级会员

- 积分
- 79
- 金钱
- 79
- 注册时间
- 2022-4-8
- 在线时间
- 82 小时
|
25金钱
下面是我串口3的代码:- //串口3,printf 函数
- //确保一次发送数据不超过USART3_MAX_SEND_LEN字节
- void u3_printf(char* fmt,...)
- {
- u16 i,j;
- va_list ap;
- va_start(ap,fmt);
- vsprintf((char*)USART3_TX_BUF,fmt,ap);
- va_end(ap);
- i=strlen((const char*)USART3_TX_BUF); //此次发送数据的长度
- //printf("需要发送的信息:%s", USART3_TX_BUF);
- for(j=0;j<i;j++) //循环发送数据
- {
- while((USART3->SR&0X40)==0); //循环发送,直到发送完毕
- USART3->DR=USART3_TX_BUF[j];
- }
- while(__HAL_UART_GET_FLAG(&UART3_Handler,USART_FLAG_TXE)==RESET); //等待发送完成
- //USART3_TX_BUF=NULL;
- }
复制代码 在main中的代码:
- u3_printf("%s\r\n", "Hello");
- delay_ms(500);
- //u3EmptyRecv(); //清空串口3缓存
- while(1){
- t++;
- printf("%d\r\n", t);
- longToStr(t ,(char*)time1, 5, 0); //long转换成字符串
- drawStr(50, 50, time1,16, WHITE, BLACK); //显示t的值到LCD屏幕
- delay_ms(1000);
- }
复制代码
|
|