Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:d024d4d62f2e, 2020-06-03 (annotated)
- Committer:
- sasakisho
- Date:
- Wed Jun 03 15:46:55 2020 +0000
- Revision:
- 0:d024d4d62f2e
version0
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| sasakisho | 0:d024d4d62f2e | 1 | /* ADコンバータであるMCP3204を使い,圧力センサP-7100からデータを取得するためのコード */ | 
| sasakisho | 0:d024d4d62f2e | 2 | |
| sasakisho | 0:d024d4d62f2e | 3 | #include "mbed.h" | 
| sasakisho | 0:d024d4d62f2e | 4 | |
| sasakisho | 0:d024d4d62f2e | 5 | SPI spi(p5, p6, p7); | 
| sasakisho | 0:d024d4d62f2e | 6 | DigitalOut cs(p8); | 
| sasakisho | 0:d024d4d62f2e | 7 | Timer t; | 
| sasakisho | 0:d024d4d62f2e | 8 | |
| sasakisho | 0:d024d4d62f2e | 9 | Serial pc(USBTX, USBRX); | 
| sasakisho | 0:d024d4d62f2e | 10 | |
| sasakisho | 0:d024d4d62f2e | 11 | int main() | 
| sasakisho | 0:d024d4d62f2e | 12 | { | 
| sasakisho | 0:d024d4d62f2e | 13 | // ADC val | 
| sasakisho | 0:d024d4d62f2e | 14 | uint8_t high, low; | 
| sasakisho | 0:d024d4d62f2e | 15 | double value, v, tp; | 
| sasakisho | 0:d024d4d62f2e | 16 | |
| sasakisho | 0:d024d4d62f2e | 17 | //file val | 
| sasakisho | 0:d024d4d62f2e | 18 | int i = 0, j = 0, k = 1000; | 
| sasakisho | 0:d024d4d62f2e | 19 | double V[k], TP[k],T[k]; | 
| sasakisho | 0:d024d4d62f2e | 20 | |
| sasakisho | 0:d024d4d62f2e | 21 | spi.format(7, 0); | 
| sasakisho | 0:d024d4d62f2e | 22 | spi.frequency(1000000); | 
| sasakisho | 0:d024d4d62f2e | 23 | |
| sasakisho | 0:d024d4d62f2e | 24 | pc.baud(460800); | 
| sasakisho | 0:d024d4d62f2e | 25 | |
| sasakisho | 0:d024d4d62f2e | 26 | pc.printf("start!\n"); | 
| sasakisho | 0:d024d4d62f2e | 27 | |
| sasakisho | 0:d024d4d62f2e | 28 | t.start(); | 
| sasakisho | 0:d024d4d62f2e | 29 | |
| sasakisho | 0:d024d4d62f2e | 30 | while(j < 20) | 
| sasakisho | 0:d024d4d62f2e | 31 | { | 
| sasakisho | 0:d024d4d62f2e | 32 | |
| sasakisho | 0:d024d4d62f2e | 33 | while(i < k) | 
| sasakisho | 0:d024d4d62f2e | 34 | { | 
| sasakisho | 0:d024d4d62f2e | 35 | cs = 0; | 
| sasakisho | 0:d024d4d62f2e | 36 | |
| sasakisho | 0:d024d4d62f2e | 37 | spi.write(0x60); //シングル | 
| sasakisho | 0:d024d4d62f2e | 38 | //spi.write(0x40); //差動 | 
| sasakisho | 0:d024d4d62f2e | 39 | |
| sasakisho | 0:d024d4d62f2e | 40 | high = spi.write(0x00); | 
| sasakisho | 0:d024d4d62f2e | 41 | low = spi.write(0x00); | 
| sasakisho | 0:d024d4d62f2e | 42 | |
| sasakisho | 0:d024d4d62f2e | 43 | low = (high << 5) | (low >> 2); | 
| sasakisho | 0:d024d4d62f2e | 44 | high = high >> 3; | 
| sasakisho | 0:d024d4d62f2e | 45 | |
| sasakisho | 0:d024d4d62f2e | 46 | value = (high << 8) | low; | 
| sasakisho | 0:d024d4d62f2e | 47 | |
| sasakisho | 0:d024d4d62f2e | 48 | v = value / 4096 * 5.0; | 
| sasakisho | 0:d024d4d62f2e | 49 | |
| sasakisho | 0:d024d4d62f2e | 50 | tp = 0.25 * v - 0.125; | 
| sasakisho | 0:d024d4d62f2e | 51 | |
| sasakisho | 0:d024d4d62f2e | 52 | V[i] = v; | 
| sasakisho | 0:d024d4d62f2e | 53 | TP[i] = tp; | 
| sasakisho | 0:d024d4d62f2e | 54 | T[i] = t.read(); | 
| sasakisho | 0:d024d4d62f2e | 55 | |
| sasakisho | 0:d024d4d62f2e | 56 | //pc.printf("sensor 0 value = %lf\n", value); | 
| sasakisho | 0:d024d4d62f2e | 57 | |
| sasakisho | 0:d024d4d62f2e | 58 | cs = 1; | 
| sasakisho | 0:d024d4d62f2e | 59 | |
| sasakisho | 0:d024d4d62f2e | 60 | i++; | 
| sasakisho | 0:d024d4d62f2e | 61 | |
| sasakisho | 0:d024d4d62f2e | 62 | wait(0.009); | 
| sasakisho | 0:d024d4d62f2e | 63 | } | 
| sasakisho | 0:d024d4d62f2e | 64 | |
| sasakisho | 0:d024d4d62f2e | 65 | i = 0; | 
| sasakisho | 0:d024d4d62f2e | 66 | |
| sasakisho | 0:d024d4d62f2e | 67 | while(i < k) | 
| sasakisho | 0:d024d4d62f2e | 68 | { | 
| sasakisho | 0:d024d4d62f2e | 69 | pc.printf("%f, %f, %f\n", T[i], V[i], TP[i]); | 
| sasakisho | 0:d024d4d62f2e | 70 | |
| sasakisho | 0:d024d4d62f2e | 71 | i++; | 
| sasakisho | 0:d024d4d62f2e | 72 | } | 
| sasakisho | 0:d024d4d62f2e | 73 | |
| sasakisho | 0:d024d4d62f2e | 74 | i = 0; | 
| sasakisho | 0:d024d4d62f2e | 75 | |
| sasakisho | 0:d024d4d62f2e | 76 | j++; | 
| sasakisho | 0:d024d4d62f2e | 77 | |
| sasakisho | 0:d024d4d62f2e | 78 | } | 
| sasakisho | 0:d024d4d62f2e | 79 | |
| sasakisho | 0:d024d4d62f2e | 80 | t.stop(); | 
| sasakisho | 0:d024d4d62f2e | 81 | |
| sasakisho | 0:d024d4d62f2e | 82 | pc.printf("finish!"); | 
| sasakisho | 0:d024d4d62f2e | 83 | } |