[CW32F030系列]

将C库的printf函数重定向到UART

[复制链接]
327|12
手机看帖
扫描二维码
随时随地手机跟帖
51xlf|  楼主 | 2022-11-23 22:52 | 显示全部楼层 |阅读模式


这里不用keil自带的microLib这个代码,就是自己重新映射端口。
包含头文件 stdio.h

#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)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
映射串口
PUTCHAR_PROTOTYPE
{
  USART_SendData_8bit(DEBUG_USARTx, (uint8_t)ch);

  while (USART_GetFlagStatus(DEBUG_USARTx, USART_FLAG_TXE) == RESET);

  return ch;
}


使用特权

评论回复
pentruman| | 2022-12-1 17:42 | 显示全部楼层
是否有虚拟串口的代码实现的?              

使用特权

评论回复
xiaoyaodz| | 2022-12-1 17:52 | 显示全部楼层

c语言中使用printf要利用到系统内核吗?  

使用特权

评论回复
hilahope| | 2022-12-1 18:19 | 显示全部楼层
printf太大了,有没有代替的好方**   

使用特权

评论回复
评论
wangshujun 2022-12-5 15:55 回复TA
相比于自己做字符串,数字,格式化等信息printf真心不算大 我更喜欢直接把lcd的显示用printf来实现,非常便利 
burgessmaggie| | 2022-12-1 18:48 | 显示全部楼层
使用printf函数后,编译后的文件变得很大,容易出现内存溢出

使用特权

评论回复
uytyu| | 2022-12-1 19:17 | 显示全部楼层
请问sprintf、fprintf和printf这三个函数有什么区别?

使用特权

评论回复
ingramward| | 2022-12-1 21:48 | 显示全部楼层
如何将printf函数映射到两个uart  

使用特权

评论回复
uytyu| | 2022-12-1 22:39 | 显示全部楼层
怎么在cw32里使用printf重定义

使用特权

评论回复
sheflynn| | 2022-12-3 14:11 | 显示全部楼层

如何不用printf()函数实现串口数据的发送 ?

使用特权

评论回复
loutin| | 2022-12-3 14:58 | 显示全部楼层
C语言中使用printf函数需要设置什么?  

使用特权

评论回复
sdCAD| | 2022-12-5 22:08 | 显示全部楼层
printf()和scanf()函数怎么用的?  

使用特权

评论回复
AloneKaven| | 2022-12-26 12:27 | 显示全部楼层
选择keil里面自带的微库

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

521

主题

9288

帖子

17

粉丝