[应用相关] 求助,请问riscv64-unknown-elf-gcc编译怎么将printf重定义到串口...

[复制链接]
613|1
 楼主| 两只袜子 发表于 2022-5-16 09:00 | 显示全部楼层 |阅读模式
void _sys_exit(int x)
{
    x = x;
}

struct __FILE
{
    int handle;
};

FILE __stdout;

int fputc(int ch, FILE *stream)
{
        while( (UART0->SR.Word) == 0x260);
        UART0->TBR.Word = (uint8_t) ch;
        return ch;      
}

int _write(int fd, char *ptr, int len)
{
         for(int i=0; i<len; i++)
         {
             //while( (UART0->SR.Word) == 0x260);
             UART0->TBR.Word = (uint8_t) ptr ;
    }
        return len;         
}
重定义了以上函数,都不行,求教
sonicll 发表于 2022-5-16 09:52 | 显示全部楼层
本帖最后由 sonicll 于 2022-5-16 09:54 编辑

这样改试试:

  1. int _write(int fd, char *ptr, int len)
  2. {
  3.          for(int i=0; i<len; i++)
  4.          {
  5.              while( (UART0->SR.Word) == 0x260);
  6.              UART0->TBR.Word = ptr[i] ;
  7.     }
  8.         return len;         
  9. }

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部