大家普遍使用的是keil(mdk)来开发stm32,但由于keil的软件无mac版本,所以在Mac开发的就只能用其他软件.在官网上推荐使用的是system workbench for stm32的软件,该软件window和Mac版本都有,而且不论在哪种系统下编译后拷贝到另一种系统都是可以直接使用.
今天,我们说下在该软件下的printf的打印设置.开始之前先看下keil的printf的设置,有2个步骤:
1、如下图所示,勾选“ Use Micro LIB”.
2、重定向fputc的函数.
int fputc(int ch,FILE *f)
{
uint8_t temp[1]={ch};
HAL_UART_Transmit(&huart1,temp,1,2);// 指定串口号
return(ch);
}
sw4stm32的printf设置如下,有3个步骤:
1、添加stdio.h到指定c文件中.
2、重定向 __io_putchar(int ch)函数.
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);// 指定串口号
return ch;
}
3、点击工程属性,如下图所示,在Linker flag中填写“-specs=nosys.specs -specs=nano.specs -u _printf_float”,表示可以使用printf/打印float. 然后应用即可.