冒泡排序递减ARM_串⼝——printf重映射
来源:blog.163/qiu_zhi2008/blog/static/6014097720111110710738/
STM32 printf函数重映射
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
cors#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
基于stm32Cube库:STM32Cube_FW_L1_V1.2.0
/
**
* @brief  Retargets the C library printf function to the USART.
* @param  None
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the 串⼝2 and Loop until the end of transmission */
HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
某⼈的解释:
这段代码的意思是将C语⾔的库函数printf重定向,或重映射,这词有点太专业,简单的讲:
就是C语⾔的库中printf函数会调⽤PUTCHAR_PROTOTYPE这个硬件接⼝函数,向显⽰器上输出char型变量,⽤来显⽰,
STM32当然是没有显⽰器的,所以就⽤UART输出Char型变量到PC机,由PC机的超级终端来显⽰,说⽩了,
就是原来送到显⽰器上的显⽰数据,现在送到STM32的串⼝上;
如果调不过去,你要注意两点:
1.你的板⼦上⽤的是不是USART1,如果是,那连到PC的串⼝,就可以在超级终端上,看到打印出来的东西了,如果不是,请参考第2点.
2.先将你的板⼦上的USART初始化,然后把PUTCHAR_PROTOTYPE函数体中的USART1换成你现在⽤的那个USART.
putchar函数>csgo字体颜代码于免费送⼀个注意点,当然以上也都免费,呵呵
1.STM32的外设输出引脚可以重映射,如USART2,要注意板⼦上,是按原来的引脚连的,还是重映射后的,如果是重映射后的,请参考第2点.excel简单表格怎么做啊
2.如果连接是重映射后的引脚,请在原初始化之前,加⼀个重映射函数,当然ST例程中也有这部分代码,可以参考.onmessage

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。