o: ActiveSupport::Cache::Entry :@compressedF: @value"¦+" +
main.c
18 18
#define SPI_MODE_2  (SPI_H_TO_L)
19 19
#define SPI_MODE_3  (SPI_H_TO_L | SPI_XMIT_L_TO_H)
20 20

  
21
unsigned int16 a0;
22
unsigned int16 b1;
23
unsigned int16 b2;
24
unsigned int16 c12;
21
signed int16 a0;
22
signed int16 b1;
23
signed int16 b2;
24
signed int16 c12;
25 25

  
26 26

  
27 27
int MPL_init()
......
64 64

  
65 65
float MPL_get_pressure()
66 66
{   
67
int8 LSB_data, MSB_data;
68
int16 ADC_pressure, ADC_temperature;
67
unsigned int8 LSB_data, MSB_data;
68
unsigned int16 ADC_pressure, ADC_temperature;
69 69

  
70 70
   output_low(CSN_SPI);        //Start temperature and pressure conversion
71 71
   spi_write(0x24);
72 72
   spi_write(0x00);
73 73
   output_high(CSN_SPI);
74 74

  
75
   delay_ms(3);
75
   delay_ms(10);
76 76
         
77 77
   output_low(CSN_SPI);     // get MSB for Pressure
78 78
   spi_write(0x80);
79 79
   LSB_data = spi_read(0x00);
80 80
   spi_write(0x82);              // get LSB for Pressure
81 81
   MSB_data = spi_read(0x00);
82
   output_high(CSN_SPI);
82 83

  
84
   printf("%lX  %lX\r\n", MSB_data, LSB_data);       
83 85
   ADC_pressure = ((int16) MSB_data << 8) + LSB_data;  // conversion of 8bit registers to 16bit variable 
84 86

  
87
   output_low(CSN_SPI);
85 88
   spi_write(0x84);
86 89
   LSB_data = spi_read(0x00);
87 90
   spi_write(0x86);              // get LSB for Temperature
......
89 92
   spi_read(0x00);
90 93
   output_high(CSN_SPI);
91 94

  
95
   printf("%lX  %lX\r\n", MSB_data, LSB_data);       
92 96
   ADC_temperature = ((int16) MSB_data << 8) + LSB_data;  // conversion of 8bit registers to 16bit variable 
93 97

  
94
//   printf("%lX  %lX\r\n", ADC_pressure, ADC_temperature);       
98
   printf("%lX  %lX\r\n", ADC_pressure, ADC_temperature);       
95 99

  
96 100
   return (a0 + (b1 + c12 * ADC_temperature) * ADC_pressure + b2 * ADC_temperature );
97 101
}
......
107 111

  
108 112
   while(true)
109 113
   {
110
      printf("%f \r\n", MPL_get_pressure());
111
      delay_ms(100);
114
//   MPL_init();
115
//      printf("%f \r\n", MPL_get_pressure());
116
//      printf("%ld %ld %ld %ld \r\n",a0, b1, b2, c12);
117
MPL_get_pressure();
118

  
119
      delay_ms(500);
112 120
   }
113 121
}
:@created_atf1434144252.5728059¨Ú:@expires_in0