m16c IAR printf

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi, I use IAR compiler and M16C/62P kit. I can't use printf() function.
If I use it, compiler doesn't generate error or warning but I can't
download the program to mcu. I define putchar and __low_level_put. I
have a sample code from kickstart CD but I can't understand. Anybody
have sample code or documents?

void ConfigUart (void){
  // Configure UART1
  U1MR = 0x05;                                // 0000 0101: 8N1 format
  U1C0 = 0x10;                                // 0001 xx00: f1
  UCON = 0x00;                      // x00x 00xx: Simple mode
  U1BRG = (CLOCK / 16 / BAUD) - 1;  //Set the baud rate
  U1C1_bit.TE = 1;                  // Enable transmission
  U1C1_bit.RE = 1;                  // Enable reception
  PD6_bit.PD6_6 = 0;
  PD6_bit.PD6_7 = 1;                // Set TXD1 as an output
  S1RIC = 5;                                //enable Uart1 receive interrupt
}

unsigned char getc(void){
  if (RECEIVE==0) return 0x00;
  else return U1RBL;
}

void __low_level_put(unsigned char c) {    // Called by putchar
    while (U1C1_bit.TI == 0);                    // Wait if the buffer is full
        U1TBL = c;                                    // Send the next character
}

int putchar(int val) {                            // Called by printf
    if (val == '\n') __low_level_put('\r');// Convert EOL to CR/LF
    __low_level_put(val);
    return val;
}


Re: m16c IAR printf
whats your email address?


Site Timeline