栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

HAL 库使用printf函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HAL 库使用printf函数

#include "main.h"
#include "adc.h"
#include "usart.h"
#include "gpio.h"



#include "stdio.h"
#ifdef __GNUC__
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart3,(uint8_t *)&ch,1,0xFFFF);//??????
  return ch;
}






void SystemClock_Config(void);



int main(void)
{
 

    float votagle=3.125;
    char ab[5]="test";
 

 

 
  HAL_Init();

 

 

 
  SystemClock_Config();

 

 

 
  MX_GPIO_Init();
  MX_ADC_Init();
  MX_USART3_UART_Init();
 


 
 


 

 
 
  while (1)
  {
   

   
        int i;
        
        printf("hello worldrn");
        for(i=0;i<4;i++)
        {
        printf("%c",ab[i]);
        }
        printf("n");
        printf("%srn",ab);
        printf("%frn",votagle);
        HAL_Delay(500);
  }
 
}

想使用printf,首先要以下代码。其实&huart3是我刚好要使用的串口,可根据自己需求修改

#include "stdio.h"
#ifdef __GNUC__
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart3,(uint8_t *)&ch,1,0xFFFF);//??????
  return ch;
}

然后我主函数中分别通过USART3输出字符串和浮点型

        int i;
        
        printf("hello worldrn");
        for(i=0;i<4;i++)
        {
        printf("%c",ab[i]);
        }
        printf("n");
        printf("%srn",ab);
        printf("%frn",votagle);
        HAL_Delay(500);
 

输出结果如下

 

 printf各种类型输出控制符如下

%d 输出整数

%ld 长整型

%u 输出无符号类型,输出无符号类型时也可以用%d

%c 输出一个字符

%s 输出字符串

%f 输出实数(小数点后6位,超过的四舍五入)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873426.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号