Kazuhiro Hirasawa
/
STM32_180SENSOR_ADC4_RS_Ver2_CommCLD
WathchDog
main.cpp@1:c896654c679b, 2019-02-21 (annotated)
- Committer:
- orain3
- Date:
- Thu Feb 21 13:30:36 2019 +0000
- Revision:
- 1:c896654c679b
- Parent:
- 0:63c74ee8bffc
- Child:
- 2:d69d10b670c5
ver1
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
orain3 | 0:63c74ee8bffc | 1 | #include "mbed.h" |
orain3 | 0:63c74ee8bffc | 2 | |
orain3 | 0:63c74ee8bffc | 3 | Serial pc(SERIAL_TX,SERIAL_RX); |
orain3 | 1:c896654c679b | 4 | Serial modem(D1,D0); |
orain3 | 1:c896654c679b | 5 | AnalogIn adc_1(A0); |
orain3 | 1:c896654c679b | 6 | AnalogIn adc_2(A1); |
orain3 | 1:c896654c679b | 7 | AnalogIn adc_3(A2); |
orain3 | 1:c896654c679b | 8 | AnalogIn adc_4(A3); |
orain3 | 0:63c74ee8bffc | 9 | |
orain3 | 0:63c74ee8bffc | 10 | DigitalOut led(LED1); |
orain3 | 1:c896654c679b | 11 | DigitalOut sokutei(D3); |
orain3 | 1:c896654c679b | 12 | DigitalOut commndout(D4); |
orain3 | 1:c896654c679b | 13 | DigitalIn in1(D9,PullNone); |
orain3 | 1:c896654c679b | 14 | DigitalIn in2(D10,PullNone); |
orain3 | 1:c896654c679b | 15 | DigitalIn kansyutu(D6,PullNone); |
orain3 | 1:c896654c679b | 16 | DigitalIn commandin(D7,PullNone); |
orain3 | 1:c896654c679b | 17 | DigitalIn jmp(D2,PullUp); |
orain3 | 0:63c74ee8bffc | 18 | |
orain3 | 0:63c74ee8bffc | 19 | |
orain3 | 0:63c74ee8bffc | 20 | int main() |
orain3 | 0:63c74ee8bffc | 21 | { |
orain3 | 1:c896654c679b | 22 | float sum1,sum2,sum3,sum4; |
orain3 | 1:c896654c679b | 23 | float ad1,ad2,ad3,ad4; |
orain3 | 0:63c74ee8bffc | 24 | float temp,turb,s; |
orain3 | 0:63c74ee8bffc | 25 | int i,cnt; |
orain3 | 0:63c74ee8bffc | 26 | |
orain3 | 1:c896654c679b | 27 | modem.baud(38400); |
orain3 | 1:c896654c679b | 28 | modem.format(8,Serial::None,1); |
orain3 | 0:63c74ee8bffc | 29 | |
orain3 | 0:63c74ee8bffc | 30 | pc.printf("\nSTM32 ADC internal channels reading example\r\n"); |
orain3 | 0:63c74ee8bffc | 31 | temp = 0; |
orain3 | 0:63c74ee8bffc | 32 | turb = 0; |
orain3 | 0:63c74ee8bffc | 33 | s = 0; |
orain3 | 1:c896654c679b | 34 | |
orain3 | 1:c896654c679b | 35 | sokutei = 1; |
orain3 | 1:c896654c679b | 36 | |
orain3 | 0:63c74ee8bffc | 37 | while(1) { |
orain3 | 1:c896654c679b | 38 | |
orain3 | 1:c896654c679b | 39 | if (jmp) sokutei = 1; |
orain3 | 1:c896654c679b | 40 | else sokutei = 0; |
orain3 | 1:c896654c679b | 41 | |
orain3 | 0:63c74ee8bffc | 42 | sum1 = 0; |
orain3 | 0:63c74ee8bffc | 43 | sum2 = 0; |
orain3 | 1:c896654c679b | 44 | sum3 = 0; |
orain3 | 1:c896654c679b | 45 | sum4 = 0; |
orain3 | 0:63c74ee8bffc | 46 | cnt = 0; |
orain3 | 1:c896654c679b | 47 | for (i=0;i<10;i++) { |
orain3 | 0:63c74ee8bffc | 48 | sum1 += adc_1.read(); |
orain3 | 0:63c74ee8bffc | 49 | sum2 += adc_2.read(); |
orain3 | 1:c896654c679b | 50 | sum3 += adc_3.read(); |
orain3 | 1:c896654c679b | 51 | sum4 += adc_4.read(); |
orain3 | 0:63c74ee8bffc | 52 | cnt += 1; |
orain3 | 0:63c74ee8bffc | 53 | wait(0.001); |
orain3 | 0:63c74ee8bffc | 54 | |
orain3 | 1:c896654c679b | 55 | if (modem.readable()) { |
orain3 | 1:c896654c679b | 56 | pc.printf("%c\r",modem.getc()); |
orain3 | 0:63c74ee8bffc | 57 | wait(0.01); |
orain3 | 1:c896654c679b | 58 | modem.printf("=01,PVAL,%01.04f,%01.03f,%01.03f\r", turb/1000,temp,s); |
orain3 | 0:63c74ee8bffc | 59 | } |
orain3 | 0:63c74ee8bffc | 60 | } |
orain3 | 0:63c74ee8bffc | 61 | if(cnt != 0) { |
orain3 | 0:63c74ee8bffc | 62 | ad1 = sum1/cnt; |
orain3 | 0:63c74ee8bffc | 63 | ad2 = sum2/cnt; |
orain3 | 1:c896654c679b | 64 | ad3 = sum3/cnt; |
orain3 | 1:c896654c679b | 65 | ad4 = sum4/cnt; |
orain3 | 0:63c74ee8bffc | 66 | } else { |
orain3 | 0:63c74ee8bffc | 67 | ad1 = adc_1.read(); |
orain3 | 0:63c74ee8bffc | 68 | ad2 = adc_2.read(); |
orain3 | 1:c896654c679b | 69 | ad3 = adc_3.read(); |
orain3 | 1:c896654c679b | 70 | ad4 = adc_4.read(); |
orain3 | 0:63c74ee8bffc | 71 | } |
orain3 | 0:63c74ee8bffc | 72 | |
orain3 | 1:c896654c679b | 73 | pc.printf("ADC = %f %f %f %f \r\n", ad1,ad2,ad3,ad4); |
orain3 | 0:63c74ee8bffc | 74 | temp = ad1*66-30+0.3; |
orain3 | 0:63c74ee8bffc | 75 | turb = 2.1*((ad2-0.166)/0.6642*1000+25.5); |
orain3 | 0:63c74ee8bffc | 76 | s = 0; |
orain3 | 0:63c74ee8bffc | 77 | |
orain3 | 0:63c74ee8bffc | 78 | } |
orain3 | 0:63c74ee8bffc | 79 | } |