keil4 编译不能通过__va_end();
时间:10-02
整理:3721RD
点击:
typedef struct __va_list { void *__ap; } va_list;
#define va_start(ap, parmN) __va_start(ap, parmN)
#define va_arg(ap, type) __va_arg(ap, type)
#define va_end(ap) __va_end(ap)
//串口2,printf 函数
//确保一次发送数据不超过USART2_MAX_SEND_LEN字节
void u2_printf(char* fmt,...)
{
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART2_TX_BUF,fmt,ap);
va_end(ap);
while(DMA1_Channel7->CNDTR!=0); //等待通道7传输完成
UART_DMA_Enable(DMA1_Channel7,strlen((const char*)USART2_TX_BUF)); //通过dma发送出去
}
用的是STM32F107 编译时候 __va_end(ap) 无法识别 Error: L6218E: Undefined symbol __va_end (referred from hc05.o). __va_start 就可以 是什么原因?
#define va_start(ap, parmN) __va_start(ap, parmN)
#define va_arg(ap, type) __va_arg(ap, type)
#define va_end(ap) __va_end(ap)
//串口2,printf 函数
//确保一次发送数据不超过USART2_MAX_SEND_LEN字节
void u2_printf(char* fmt,...)
{
va_list ap;
va_start(ap,fmt);
vsprintf((char*)USART2_TX_BUF,fmt,ap);
va_end(ap);
while(DMA1_Channel7->CNDTR!=0); //等待通道7传输完成
UART_DMA_Enable(DMA1_Channel7,strlen((const char*)USART2_TX_BUF)); //通过dma发送出去
}
用的是STM32F107 编译时候 __va_end(ap) 无法识别 Error: L6218E: Undefined symbol __va_end (referred from hc05.o). __va_start 就可以 是什么原因?