OpenCores
URL https://opencores.org/ocsvn/minsoc/minsoc/trunk

Subversion Repositories minsoc

[/] [minsoc/] [trunk/] [sw/] [uart/] [uart.c] - Diff between revs 2 and 36

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 36
Line 1... Line 1...
#include "../support/support.h"
#include "../support/support.h"
#include "../support/board.h"
#include "../support/board.h"
#include "../support/uart.h"
 
 
 
#include "../support/spr_defs.h"
#include "../support/spr_defs.h"
 
 
void uart_print_str(char *);
#include "../drivers/uart.h"
void uart_print_long(unsigned long);
 
 
 
// Dummy or32 except vectors
 
void buserr_except(){}
 
void dpf_except(){}
 
void ipf_except(){}
 
void lpint_except(){}
 
void align_except(){}
 
void illegal_except(){}
 
/*void hpint_except(){
 
 
 
}*/
 
void dtlbmiss_except(){}
 
void itlbmiss_except(){}
 
void range_except(){}
 
void syscall_except(){}
 
void res1_except(){}
 
void trap_except(){}
 
void res2_except(){}
 
 
 
 
 
void uart_interrupt()
 
{
 
    char lala;
 
    unsigned char interrupt_id;
 
    interrupt_id = REG8(UART_BASE + UART_IIR);
 
    if ( interrupt_id & UART_IIR_RDI )
 
    {
 
        lala = uart_getc();
 
        uart_putc(lala+1);
 
    }
 
}
 
 
 
 
 
void uart_print_str(char *p)
 
{
 
        while(*p != 0) {
 
                uart_putc(*p);
 
                p++;
 
        }
 
}
 
 
 
void uart_print_long(unsigned long ul)
 
{
 
  int i;
 
  char c;
 
 
 
 
 
  uart_print_str("0x");
 
  for(i=0; i<8; i++) {
 
 
 
  c = (char) (ul>>((7-i)*4)) & 0xf;
 
  if(c >= 0x0 && c<=0x9)
 
    c += '0';
 
  else
 
    c += 'a' - 10;
 
  uart_putc(c);
 
  }
 
 
 
}
 
 
 
void uart_print_short(unsigned long ul)
 
{
 
  int i;
 
  char c;
 
  char flag=0;
 
 
 
 
 
  uart_print_str("0x");
 
  for(i=0; i<8; i++) {
 
 
 
  c = (char) (ul>>((7-i)*4)) & 0xf;
 
  if(c >= 0x0 && c<=0x9)
 
    c += '0';
 
  else
 
    c += 'a' - 10;
 
  if ((c != '0') || (i==7))
 
    flag=1;
 
  if(flag)
 
    uart_putc(c);
 
  }
 
 
 
}
 
 
 
 
 
 
 
int main()
int main()
{
{
        uart_init();
        uart_init();
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2019 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.