使用 SPI 通信从外部 ADC 获取数据。另外,我正在使用 USB OTG FS 与pc进行通信,但是当添加一个乘法运算时,USB 通信失败,当我删除此行时,USB 工作正常。
此代码在 Keil 中运行完美,但在 STMCUBE_IDE 中则不然。
PID_X.Tunel_Current=((float)(USB_Communication.Send_Union.Send_Struct.Dat_P3[2]-131074)*0.0001953);
PID_X.Tunel_Current=((float)(USB_Communication.Send_Union.Send_Struct.Dat_P3[2]-131074)*0.0001953);
void Analog_Digital_Converter::Get_All_Value_Adc(){ if(Analog_Digital_Converter::adc_get_value){ USB_Communication.Send_Union.Send_Struct.Dat_P3[2] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_2,GPIO_PIN_9); USB_Communication.Send_Union.Send_Struct.Dat_P3[3] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_3,GPIO_PIN_9); USB_Communication.Send_Union.Send_Struct.Dat_P3[4] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_4,GPIO_PIN_9); USB_Communication.Send_Union.Send_Struct.Dat_P3[5] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_5,GPIO_PIN_9); USB_Communication.Send_Union.Send_Struct.Dat_P3[0] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_0,GPIO_PIN_9); USB_Communication.Send_Union.Send_Struct.Dat_P3[1] = Analog_Digital_Converter::ADC_GetValue(Select_input_Ch_1,GPIO_PIN_9); PID_X.Tunel_Current=((float)(USB_Communication.Send_Union.Send_Struct.Dat_P3[2]-131074)); PID_X.Tunel_Current*=0.000019531; }}
|