Forum Discussion
Altera_Forum
Honored Contributor
12 years agoalt_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
Honored 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
Honored 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
Honored Contributor
alt_printf() supports only format specifiers like %c, %s, %x, and %%.
You can see delailed information about it here http://www.altera.com/literature/hb/nios2/n2sw_nii5v2.pdf. - Altera_Forum
Honored 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
Honored 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.