- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
alt_printf %x is looking for an unsigned int instead of a char. I'm wondering if that is the issue?
Pete- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page