打印

《LP-MSPM0L1306开发板试用体验---printf重定向到串口》

[复制链接]
1298|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
看了一下,官方提供的例子好像没有重定向printf到串口的。
我来尝试实现
(1)在main.c包含必要的stdio.h头文件进来
(2)在工程的设置中启用MicroLIB库
查看stdio.h以确定要实现哪个函数即可完成重定向
int fputc(int ch, FILE *stream)
{
        //当串口0忙的时候等待,不忙的时候再发送传进来的字符
        while(DL_UART_isBusy(UART_0_INST)==true){}
    DL_UART_transmitData(UART_0_INST,ch);
    return ch;
}
编写如上代码,经过测试,如果不判断串口是否忙,将无法收到printf发送来的内容。
所以,先判断串口0是否忙,如果忙就等待,如果不忙,就发送当前传递进来的字符。
#include "ti_msp_dl_config.h"
#include "stdio.h"

int fputc(int ch, FILE *stream)
{
        //当串口0忙的时候等待,不忙的时候再发送传进来的字符
        while(DL_UART_isBusy(UART_0_INST)==true){}
    DL_UART_transmitData(UART_0_INST,ch);
    return ch;
}

int main(void)
{       
        SYSCFG_DL_init();
        DL_GPIO_clearPins(Blinky_PORT,Blinky_RED_LED_PIN);
        for(int i=0;i<10;i++)
        {
                DL_GPIO_togglePins(Blinky_PORT,Blinky_RED_LED_PIN);
                delay_cycles(10000000);
                printf("Hello\n");
        }
        while(1)
        {               
                if( DL_GPIO_readPins(Blinky_PORT,Blinky_Button_PIN) )
                {
                        DL_GPIO_setPins(Blinky_PORT,Blinky_RED_LED_PIN);
                }
                else
                {
                        DL_GPIO_clearPins(Blinky_PORT,Blinky_RED_LED_PIN);
                        //按下按钮就发送一个字母A,然后等待松手。
                        DL_UART_transmitData(UART_0_INST,'A');
                        printf("Hello\n");
                        while(DL_GPIO_readPins(Blinky_PORT,Blinky_Button_PIN)==0);
                }               
        }       
}

经过测试可以正常哈喽了。


使用特权

评论回复

相关帖子

沙发
xyz549040622| | 2023-10-31 21:29 | 只看该作者
重定向这么简单?我看网上的教程,修改的东西不少,原来是我想多了。

使用特权

评论回复
板凳
gaoyang9992006|  楼主 | 2023-11-1 08:52 | 只看该作者
xyz549040622 发表于 2023-10-31 21:29
重定向这么简单?我看网上的教程,修改的东西不少,原来是我想多了。

不同核心的单片机通常调用的stdio.h中定义的函数不同,比如51的跟ARM的就不太一样。只要打开stdio.h看看就知道用哪个函数实现重定向了。只要能实现一个字符的收发,就可以完成重定向的整个工作。

使用特权

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

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1961

主题

15933

帖子

208

粉丝