Jose R Padron
/
Hello_World_HMC5843
HMC5843 Hello World example
main.cpp@0:5fa326f3d8b1, 2010-10-17 (annotated)
- Committer:
- elrafapadron
- Date:
- Sun Oct 17 22:23:54 2010 +0000
- Revision:
- 0:5fa326f3d8b1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
elrafapadron | 0:5fa326f3d8b1 | 1 | #include "HMC5843.h" |
elrafapadron | 0:5fa326f3d8b1 | 2 | |
elrafapadron | 0:5fa326f3d8b1 | 3 | HMC5843 compass(p28, p27); |
elrafapadron | 0:5fa326f3d8b1 | 4 | Serial pc(USBTX, USBRX); |
elrafapadron | 0:5fa326f3d8b1 | 5 | |
elrafapadron | 0:5fa326f3d8b1 | 6 | //Magnetics values x,y,z |
elrafapadron | 0:5fa326f3d8b1 | 7 | int readings[3]; |
elrafapadron | 0:5fa326f3d8b1 | 8 | |
elrafapadron | 0:5fa326f3d8b1 | 9 | //ID Buffer |
elrafapadron | 0:5fa326f3d8b1 | 10 | char buffer[3]; |
elrafapadron | 0:5fa326f3d8b1 | 11 | |
elrafapadron | 0:5fa326f3d8b1 | 12 | |
elrafapadron | 0:5fa326f3d8b1 | 13 | int main() { |
elrafapadron | 0:5fa326f3d8b1 | 14 | |
elrafapadron | 0:5fa326f3d8b1 | 15 | pc.printf("Starting HMC5843 test...%c%c",13,10); |
elrafapadron | 0:5fa326f3d8b1 | 16 | |
elrafapadron | 0:5fa326f3d8b1 | 17 | //ID should be H43 |
elrafapadron | 0:5fa326f3d8b1 | 18 | compass.getAddress(buffer); |
elrafapadron | 0:5fa326f3d8b1 | 19 | pc.printf("Magnetic Compass Id=%c%c%c \n\r",buffer[0],buffer[1],buffer[2]); |
elrafapadron | 0:5fa326f3d8b1 | 20 | |
elrafapadron | 0:5fa326f3d8b1 | 21 | //Continuous mode, , 10Hz measurement rate. |
elrafapadron | 0:5fa326f3d8b1 | 22 | // HMC5843_CONTINUOUS, HMC5843_10HZ_NORMAL HMC5843_1_0GA |
elrafapadron | 0:5fa326f3d8b1 | 23 | compass.setDefault(); |
elrafapadron | 0:5fa326f3d8b1 | 24 | |
elrafapadron | 0:5fa326f3d8b1 | 25 | //Wait some time(Need at least 5ms) |
elrafapadron | 0:5fa326f3d8b1 | 26 | wait(.1); |
elrafapadron | 0:5fa326f3d8b1 | 27 | |
elrafapadron | 0:5fa326f3d8b1 | 28 | |
elrafapadron | 0:5fa326f3d8b1 | 29 | while(1){ |
elrafapadron | 0:5fa326f3d8b1 | 30 | |
elrafapadron | 0:5fa326f3d8b1 | 31 | |
elrafapadron | 0:5fa326f3d8b1 | 32 | compass.readData(readings); |
elrafapadron | 0:5fa326f3d8b1 | 33 | |
elrafapadron | 0:5fa326f3d8b1 | 34 | pc.printf("Magnetic Values Mx=%i, My=%i and Mz=%i %c%c",(int16_t)readings[0],(int16_t)readings[1],(int16_t)readings[2] ,13,10); |
elrafapadron | 0:5fa326f3d8b1 | 35 | |
elrafapadron | 0:5fa326f3d8b1 | 36 | wait(0.1); |
elrafapadron | 0:5fa326f3d8b1 | 37 | |
elrafapadron | 0:5fa326f3d8b1 | 38 | |
elrafapadron | 0:5fa326f3d8b1 | 39 | |
elrafapadron | 0:5fa326f3d8b1 | 40 | } |
elrafapadron | 0:5fa326f3d8b1 | 41 | |
elrafapadron | 0:5fa326f3d8b1 | 42 | } |