Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

alt_printf() not working properly

Hi, I have a problem with the alt_printf() function on my Altera Cyclone IV EP4CE22E22 and Nios II. I got jtaguart as stdout, I've done a simple code like this:

# include "sys/alt_stdio.h"

int main()

{

char a=0x44;

alt_printf("A=%x;",a);

while(1);

return 0;

}

and as a result I obtain:

A=;

without any number,

what can I do?

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    alt_printf %x is looking for an unsigned int instead of a char. I'm wondering if that is the issue?

    Pete
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    No, the 'char' value is promoted to 'int' before being passed as an argument.

    I think alt_printf() is a cut down version, check which conversions it supports.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I recompiled the project without changing anything and now it works properly, very very strange...

    However, if I'd like to print decimal numbers how could I do with this lightweight libraries?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Write your own function to convert the values to decimal, it isn't hard.

    You should even be able to do it without using any divides.