raspberry pi to stm32f303k8 for serial communication

Dependencies:   mbed Servo

serial/serial.cpp

Committer:
mukuyo
Date:
2021-05-02
Revision:
0:7bc24e8d1591

File content as of revision 0:7bc24e8d1591:

#include "serial.h"
Rasp::Rasp(PinName TX,PinName RX): device(USBTX,USBRX) {
    device.baud(115200);//通信速度最速
    device.attach(callback(this,&Rasp::dev_rx), RawSerial::RxIrq);//角度割り込み入力
    u=0;
    ID=0;
    rx_val=0;
    BUFFER_SIZE=6;
}

void Rasp::dev_rx(){
  u++;
  buffer[u-1]=device.getc();
  rx_val=buffer[0];
  if(buffer[0]!=0xFF)u--;
  if(u==BUFFER_SIZE){
     if(buffer[0]==0xFF){
         u=0;
         motor_limit = buffer[1]/100;
         for(int i = 0; i < 4; i++){
           Motor_pow[i] = buffer[i+2] - 100;
           Motor_pow[i] *= 0.4;
         }
     }
  }
}
void Rasp::put(int val){
    device.putc(val);
}
void Rasp::get(float &a, int num){
   
       a= Motor_pow[num];
   
}