Thank you zenon, I have already used PNI code for BS2, but slighty modifed for PBP. Here is my code
INCLUDE "modedefs.bas" ' Include serial modes
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 24h
DEFINE HSER_BAUD 9600
DEFINE SHIFT_PAUSEUS 100
datain VAR PORTB.0 'SPI Data in
dataout VAR PORTB.1 'SPI Data out
clock VAR PORTB.2 'SPI Clock
devsel VAR PORTB.3 'Device Select
ready VAR PORTB.4 'Data Ready
reset VAR PORTB.5 'Reset
cmd VAR BYTE
result VAR WORD
TRISB.0 = 1
TRISB.1 = 0
TRISB.2 = 0
TRISB.3 = 0
TRISB.4 = 1
TRISB.5 = 0
reset = 0
HSerout ["Magnetometer Test",10,13]
TRISB.7 = 0
PORTB.7 = 1
Pause 200
PORTB.7 = 0
Pause 200
PORTB.7 = 1
devsel = 1
devsel = 0 ' select device
basla:
Low reset
PulsOut reset,5 ' device reset
ShiftOut dataout,clock,MSBFIRST,[%01000001] ' command for X axsis
beklex: IF ready = 0 Then beklex
ShiftIn datain,clock,MSBPRE,[result\16]
Pause 1
HSerout ["x= ",SDEC result," "] '
Low reset
PulsOut reset,5 ' device reset
ShiftOut dataout,clock,MSBFIRST,[%01000010] ' command for Y axsis
bekley: IF ready = 0 Then bekley
ShiftIn datain,clock,MSBPRE,[result\16]
Pause 1
HSerout ["y= ",SDEC result," "]
Low reset
PulsOut reset,5 ' device reset
ShiftOut dataout,clock,MSBFIRST,[%01000011] ' command for Z axsis
beklez: IF ready = 0 Then beklez
ShiftIn datain,clock,MSBPRE,[result\16]
Pause 1
HSerout ["z= ",SDEC result,10,13]
GoTo basla
Here is the data sheet for device
https://www.pnicorp.com/downloadReso...Data+Sheet.PDF
Bookmarks