关于用iar for avr实现printf功能,如何配置?
IAR版本5.11Bkeil for arm的方法是钩选Use MicroLIB,重新定向fputc函数。在fputc里调用串口发送即可。但iar里好像不行。 单独写个 printf 就可以了
u8 buf_str;// 大小根据实际使用来定,或者根据你的单片机总的 ram 来定即可
voidApp_Printf(char *format, ...)
{
uint32_t _i, _strCnt;
va_list v_args;
va_start(v_args, format);
(void)vsnprintf((char *)&buf_str,
(size_t ) sizeof(buf_str),
(char const *) format,
v_args);
va_end(v_args);
_strCnt = strlen(buf_str);
#if0
for(_i=0; _i<_strCnt; _i++)
{
USART1->TDR = (int)buf_str;
/* 等待发送结束 */
while((USART1->ISR & USART_ISR_TC) == 0)
{}
}
}
// ----------------
App_Printf("我们一起还,%d\r\n", 253);
页:
[1]