|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Displaying a 16 bit integer on PIC 16F877?
So, I've been playing around with a 16F877, and I got my hands on one of the kit gyros, and am trying to write my own code for it. I've got it mostly working, but I need to display a 16 bit integer to figure out what constitutes a 90 degree turn. But, the PIC doesn't want to do it. I can't for the life of me get it to output a 16 bit integer (that I can understand) to the debugger using a printf. I've tried %ld, but it didn't give me the right number. Is there some other trick (or formatting) I can use?
|
|
#2
|
|||||
|
|||||
|
Re: Displaying a 16 bit integer on PIC 16F877?
%ld is for 32-bit numbers. For a normal int value, just use %d.
|
|
#3
|
||||||
|
||||||
|
Re: Displaying a 16 bit integer on PIC 16F877?
More important then knowing the type of PIC is what compiler you are using.
In C18 %ld prints in hex and expects a long (32 bits) while an int is 16 bits In a compiler for your computer, both an int and a long are 32 bits, and both %d and %ld would print the same thing with both. Other compilers (especially embedded compilers) will all have small variations like that, that you can only learn about by reading the manual. |
|
#4
|
||||
|
||||
|
Re: Displaying a 16 bit integer on PIC 16F877?
Quote:
The piece of code in question was: angle=angle+instant Originally, angle was 16 bit integer, and instant was an 8 bit integer. But I couldn't get a useful number, so I changed angle to a 32 bit integer, which I knew I had the syntax right, but it was still a funny number. After I changed instant to a 32 bit number it worked fine. I think I probably have to cast it somehow, but I don't really have a grasp on what casting exactly does, and why it works. |
|
#5
|
||||
|
||||
|
Re: Displaying a 16 bit integer on PIC 16F877?
on a side not, you could also have done:
angle+=instant ![]() |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| pic: Feeling a bit Blue | Steve W | Extra Discussion | 3 | 28-10-2007 23:54 |
| pic: A "Bit" of a problem. | Herodotus | Extra Discussion | 26 | 11-10-2007 01:53 |
| 16 bit math on PIC | sciguy125 | Programming | 17 | 07-10-2005 02:57 |
| integer division | ImmortalAres | Programming | 5 | 11-07-2005 21:19 |
| Integer Number | powercat | Programming | 2 | 18-02-2003 11:26 |