doppler shift / Mbed 2 deprecated calsat32_5

Dependencies:   mbed

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?

UserRevisionLine numberNew 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