serl.c

来自「FS2410 开发板上启用 MMU 实现虚拟内存管理」· C语言 代码 · 共 34 行

C
34
字号
#include "addr.h"
#include "serl.h"

void init_uart() {
  GPHCON |= 0xa0; /* GPH2, GPH3 used as RXD0, TXD0*/
  GPHUP = 0x0c;   /* GPH2, GPH3 poll-up */

  ULCON0 = 0x03;  /* normal mode, no parity, one stop bit, 8-bit*/
  UCON0 = 0x05;   /* Loopback mode*/
  UFCON0 = 0x00;  /* not use FIFO*/
  UMCON0 = 0x00;  /* disable flow control*/
  UBRDIV0 = 12;   /* baud rate 57600*/
}

void uart_putc(unsigned char ch) {
  while (!(UTRSTAT0 & TXD0_READY));
  UTXH0 = ch;
}

unsigned char uart_getc(){
  while (! (UTRSTAT0 & RXD0_READY));
  return URXH0;
}

void uart_puts(unsigned char* src) {
  unsigned char *p = src;
  while (*p != '\0') {
    if (*p == 0x0a)
      uart_putc(0x0d);
    uart_putc(*p);
    p++;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?