打印
[MM32软件]

printf的使用

[复制链接]
784|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xixi2017|  楼主 | 2022-5-31 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "delay.h"

#include "sys.h"

#include "led.h"





/********************************************************************************************************

**函数信息 :main(void)                       

**功能描述 :

**输入参数 :无

**输出参数 :无

********************************************************************************************************/

int fputc(int ch, FILE *f)

{      

    while((UART1->CSR&UART_IT_TXIEN)==0);//循环发送,直到发送完毕   

    UART1->TDR = (ch & (uint16_t)0x00FF);      

    return ch;

}





int main(void)

{

        unsigned int x=0;

        

        UART_InitTypeDef UART_Uart1;

        GPIO_InitTypeDef GPIO_InitStructure;

        

        UART_Uart1.UART_BaudRate                                                =115200;

        UART_Uart1.UART_HardwareFlowControl        =UART_HardwareFlowControl_None;

        UART_Uart1.UART_Mode                                                                =UART_Mode_Rx | UART_Mode_Tx;

        UART_Uart1.UART_Parity                                                        =UART_Parity_No;

        UART_Uart1.UART_StopBits                                                =UART_StopBits_1;

        UART_Uart1.UART_WordLength                                        =UART_WordLength_8b;

        

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1, ENABLE);        //使能UART1,GPIOA时钟

        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);  //开启GPIOA,GPIOB时钟

        //UART 初始化设置

        GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);

        GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);

        

        UART_DeInit(UART1);

        UART_Init(UART1,&UART_Uart1);

        UART_Cmd(UART1, ENABLE);

        

                //UART1_TX   GPIOA.9

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出

        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9

        

        //UART1_RX          GPIOA.10初始化

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入

        GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10  

        

        

  delay_init();        

        LED_Init();



    while(1)

    {

                        delay_ms(2000);

                        printf("Hello Blink.....%d\n",x++);        

                        LED1_TOGGLE();                        

                }



}






printf移植还是非常容易的,我看很多大佬分享了经验。

使用特权

评论回复
沙发
星辰大海不退缩| | 2022-10-15 14:48 | 只看该作者
其实讲解的还是不太细,咱们只是会用了而已,仅此而已

使用特权

评论回复
板凳
sadicy| | 2022-10-17 20:26 | 只看该作者
只是调试的时候,有些用,实际开发几乎不会用这printf

使用特权

评论回复
地板
Stahan| | 2022-11-2 20:58 | 只看该作者
只要是会用了就行

使用特权

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

本版积分规则

115

主题

1700

帖子

1

粉丝