打印
[其他ST产品]

STM32重写fputc汇总

[复制链接]
225|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sj8zw8|  楼主 | 2023-7-25 20:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在工程项目中加上函数fputc
例如:

库函数版

int fputc( int ch, FILE *f )
{
      USART_SendData(USART2,(u8) ch );
      while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET);
      return ch;
}


使用特权

评论回复
沙发
sj8zw8|  楼主 | 2023-7-25 20:35 | 只看该作者
寄存器版
 int fputc(int ch, FILE *f)
{
    while((USART2->SR&0X40)==0);//循环发送,直到发送完毕   
    USART2->DR = (u8)ch;      
    return ch;
}

使用特权

评论回复
板凳
sj8zw8|  楼主 | 2023-7-25 20:39 | 只看该作者
Hal库版本
int fputc(int ch, FILE *f)
{
    uint8_t temp[1]={ch};
    HAL_UART_Transmit(&huart2, temp, 1, 2);
}

使用特权

评论回复
地板
sj8zw8|  楼主 | 2023-7-25 20:41 | 只看该作者
LL库版本
 int fputc(int ch, FILE *f)          
{
    LL_USART_TransmitData8(USART2, ch);
    /* Wait for TXE flag to be raised */
    while (!LL_USART_IsActiveFlag_TXE(USART2))
    {
    }
    return (ch);
}

使用特权

评论回复
5
sj8zw8|  楼主 | 2023-7-25 20:41 | 只看该作者
在使用printf函数的.C文件张工包含头文件stdio.h
  #include<stdio.h>

使用特权

评论回复
6
sj8zw8|  楼主 | 2023-7-25 20:42 | 只看该作者
勾选Target中的use MicroLIB

使用特权

评论回复
7
公羊子丹| | 2023-12-29 07:09 | 只看该作者

PCB也会使电源工作不稳定

使用特权

评论回复
8
万图| | 2023-12-29 08:12 | 只看该作者

这些交流电流的峰值有可能是连续输入或输出直流电流的2~5倍

使用特权

评论回复
9
Uriah| | 2023-12-29 09:15 | 只看该作者

让PCB顶层和底层一样,将它们通过一些过孔(或通孔)连接

使用特权

评论回复
10
Bblythe| | 2023-12-29 12:14 | 只看该作者

电源中都有一个交流电压最大的节点

使用特权

评论回复
11
周半梅| | 2023-12-29 14:10 | 只看该作者

功率开关管交流电流环路

使用特权

评论回复
12
Pulitzer| | 2023-12-29 15:13 | 只看该作者

一个地是连接控制集成电路和与之相关的无源器件的地

使用特权

评论回复
13
童雨竹| | 2023-12-29 17:09 | 只看该作者

传送交流信号的引线要尽可能短且宽

使用特权

评论回复
14
童雨竹| | 2023-12-29 17:09 | 只看该作者

传送交流信号的引线要尽可能短且宽

使用特权

评论回复
15
Wordsworth| | 2023-12-29 18:12 | 只看该作者

引线上的电压降比较大

使用特权

评论回复
16
Clyde011| | 2023-12-29 19:15 | 只看该作者

电容工作在额定的纹波电流下

使用特权

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

本版积分规则

39

主题

310

帖子

1

粉丝