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@3:61e7dda0c14d, 2020-12-16 (annotated)
- Committer:
- ryouheitakamoto
- Date:
- Wed Dec 16 06:30:01 2020 +0000
- Revision:
- 3:61e7dda0c14d
- Parent:
- 2:43801dc371d0
- Child:
- 4:6e9a233c748d
ok?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryouheitakamoto | 0:c5c02975ae0c | 1 | #include "mbed.h" |
KINU | 2:43801dc371d0 | 2 | /*ドップラーシフト対策 calsatが計算した周波数のデータを受け取る*/ |
ryouheitakamoto | 0:c5c02975ae0c | 3 | Serial pc(SERIAL_TX, SERIAL_RX); |
ryouheitakamoto | 0:c5c02975ae0c | 4 | Serial device(PA_9,PA_10); |
ryouheitakamoto | 0:c5c02975ae0c | 5 | |
ryouheitakamoto | 3:61e7dda0c14d | 6 | void doppler() //データを取得し、出力する関数 |
ryouheitakamoto | 3:61e7dda0c14d | 7 | { |
ryouheitakamoto | 3:61e7dda0c14d | 8 | int data[10] = {0}; |
ryouheitakamoto | 3:61e7dda0c14d | 9 | int flag = 0; |
ryouheitakamoto | 3:61e7dda0c14d | 10 | while(1) { |
ryouheitakamoto | 0:c5c02975ae0c | 11 | char c = device.getc(); |
ryouheitakamoto | 3:61e7dda0c14d | 12 | if(c == 0x00) |
ryouheitakamoto | 3:61e7dda0c14d | 13 | ; |
ryouheitakamoto | 3:61e7dda0c14d | 14 | if(c == 0xfd) { //FD(終了コマンドがきたら終了 |
ryouheitakamoto | 3:61e7dda0c14d | 15 | for(int i = 0; i < flag; i++) |
ryouheitakamoto | 3:61e7dda0c14d | 16 | printf("%d ", data[i]); |
ryouheitakamoto | 3:61e7dda0c14d | 17 | break; |
ryouheitakamoto | 3:61e7dda0c14d | 18 | } |
ryouheitakamoto | 3:61e7dda0c14d | 19 | else{ |
ryouheitakamoto | 3:61e7dda0c14d | 20 | printf("%02hhx ",c); |
ryouheitakamoto | 3:61e7dda0c14d | 21 | data[flag] = (c >> 4)&0xf; |
ryouheitakamoto | 3:61e7dda0c14d | 22 | data[flag + 1] = c&0xf; |
ryouheitakamoto | 3:61e7dda0c14d | 23 | flag += 2; |
ryouheitakamoto | 0:c5c02975ae0c | 24 | } |
ryouheitakamoto | 0:c5c02975ae0c | 25 | } |
ryouheitakamoto | 0:c5c02975ae0c | 26 | } |
ryouheitakamoto | 3:61e7dda0c14d | 27 | |
ryouheitakamoto | 3:61e7dda0c14d | 28 | int main() { |
ryouheitakamoto | 3:61e7dda0c14d | 29 | device.baud(9600); |
ryouheitakamoto | 3:61e7dda0c14d | 30 | pc.baud(921600); |
ryouheitakamoto | 3:61e7dda0c14d | 31 | while(1) { |
ryouheitakamoto | 3:61e7dda0c14d | 32 | char c = device.getc(); |
ryouheitakamoto | 3:61e7dda0c14d | 33 | |
ryouheitakamoto | 3:61e7dda0c14d | 34 | if(c == 0xfe) { //FEコマンドがきたらdataが始まる |
ryouheitakamoto | 0:c5c02975ae0c | 35 | |
ryouheitakamoto | 3:61e7dda0c14d | 36 | while(1) { |
ryouheitakamoto | 3:61e7dda0c14d | 37 | c = device.getc(); |
ryouheitakamoto | 3:61e7dda0c14d | 38 | if(c == 0x00) { //サブコマンドがきたらデータ部分を読み取り始める |
ryouheitakamoto | 3:61e7dda0c14d | 39 | |
ryouheitakamoto | 3:61e7dda0c14d | 40 | doppler(); |
ryouheitakamoto | 3:61e7dda0c14d | 41 | printf("\r\n"); |
ryouheitakamoto | 3:61e7dda0c14d | 42 | break; |
ryouheitakamoto | 0:c5c02975ae0c | 43 | } |
ryouheitakamoto | 3:61e7dda0c14d | 44 | |
ryouheitakamoto | 3:61e7dda0c14d | 45 | } |
ryouheitakamoto | 0:c5c02975ae0c | 46 | } |
ryouheitakamoto | 0:c5c02975ae0c | 47 | } |
ryouheitakamoto | 0:c5c02975ae0c | 48 | } |
ryouheitakamoto | 0:c5c02975ae0c | 49 | |
ryouheitakamoto | 0:c5c02975ae0c | 50 | |
ryouheitakamoto | 0:c5c02975ae0c | 51 |