- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I connected the Nios to an 8 bit custom component. When I read from a register which contains a 1 as the most significant bit, i.e. all values from 0x80 to 0xFF, the remaining 24 bits get filled up with 1's. For example reading the value 0x70 residing in one of the component's registers gives the value 0x00000070 to the variable I'm saving it to. But reading 0x80 gives the value 0xFFFFFF80. So I guess the values are treated as signed values, which would explain why it fills the remaining bits with 1's. But how can I prevent that? Thanks in advanceLink Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi stic,
> For example reading the value 0x70 residing in one of the component's registers gives the > value 0x00000070 to the variable I'm saving it to. But reading 0x80 gives the value 0xFFFFFF80. If you're reading an 8-bit unsigned value, it's a good idea to store it as an 8-bit unsigned variable ;-) unsigned char foo = <<whatever>> Regards, --Scott- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- originally posted by smcnutt@Jan 19 2007, 09:51 AM if you're reading an 8-bit unsigned value, it's a good idea to store it as an 8-bit unsigned
variable ;-)
<div align='right'><{post_snapback}> (index.php?act=findpost&pid=20715)
--- quote end ---
--- Quote End --- Yes, indeed it is a very good idea to use unsigned char... I didn't think of this before. Thanks a lot, Scott
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