#include "SGP2100.h"
#include "usart.h"
//函数名:SGP2100_Control_Frequency(UART_HandleTypeDef* huart, unsigned long SGP2100_Frequency_Data)
//函数功能:控制信号源的频率
//函数入口:选择控制串口,和控制数据
//函数出口:无
//作者:唐欲乾
void SGP2100_Control_Frequency(UART_HandleTypeDef* huart, unsigned long SGP2100_Frequency_Data)
{
unsigned char SGP2100_Control_Frequency_Array_Data[12]={0x62, 0x66, 0X31, 0X32, 0X33, 0X34, 0X35, 0X36, 0X37, 0X38, 0X39, 0X0A};
SGP2100_Control_Frequency_Array_Data[2]=SGP2100_Frequency_Data%1000000000/100000000+48;
SGP2100_Control_Frequency_Array_Data[3]=SGP2100_Frequency_Data%100000000/10000000+48;
SGP2100_Control_Frequency_Array_Data[4]=SGP2100_Frequency_Data%10000000/1000000+48;
SGP2100_Control_Frequency_Array_Data[5]=SGP2100_Frequency_Data%1000000/100000+48;
SGP2100_Control_Frequency_Array_Data[6]=SGP2100_Frequency_Data%100000/10000+48;
SGP2100_Control_Frequency_Array_Data[7]=SGP2100_Frequency_Data%10000/1000+48;
SGP2100_Control_Frequency_Array_Data[8]=SGP2100_Frequency_Data%1000/100+48;
SGP2100_Control_Frequency_Array_Data[9]=SGP2100_Frequency_Data%100/10+48;
SGP2100_Control_Frequency_Array_Data[10]=SGP2100_Frequency_Data%10+48;
#if Usart1_Enabled
if(huart->Instance==USART1)
{
HAL_UART_Transmit(&huart1, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
// HAL_UART_Transmit(&huart1, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
}
#endif
#if Usart2_Enabled
if(huart->Instance==USART2)
{
HAL_UART_Transmit(&huart2, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
// HAL_UART_Transmit(&huart2, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
}
#endif
#if Usart3_Enabled
if(huart->Instance==USART3)
{
HAL_UART_Transmit(&huart3, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
// HAL_UART_Transmit(&huart3, SGP2100_Control_Frequency_Array_Data, 12,1000); //发送数据
}
#endif
}
//函数名:SGP2100_Control_Vpp(UART_HandleTypeDef* huart, unsigned int SGP2100_Vpp_Data)
//函数功能:控制信号源的电压(幅值)
//函数入口:选择控制串口,和控制数据
//函数出口:无
//作者:唐欲乾
void SGP2100_Control_Vpp(UART_HandleTypeDef* huart, unsigned int SGP2100_Vpp_Data)
{
unsigned char SGP2100_Control_Vpp_Array_Data[8]={0x62, 0x61, 0X31, 0X32, 0X2e, 0X34, 0X35, 0X0A};
SGP2100_Control_Vpp_Array_Data[2]=SGP2100_Vpp_Data%10000/1000+48;
SGP2100_Control_Vpp_Array_Data[3]=SGP2100_Vpp_Data%1000/100+48;
SGP2100_Control_Vpp_Array_Data[5]=SGP2100_Vpp_Data%100/10+48;
SGP2100_Control_Vpp_Array_Data[6]=SGP2100_Vpp_Data%10+48;
#if Usart1_Enabled
if(huart->Instance==USART1)
{
HAL_UART_Transmit(&huart1, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
// HAL_UART_Transmit(&huart1, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
}
#endif
#if Usart2_Enabled
if(huart->Instance==USART2)
{
HAL_UART_Transmit(&huart2, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
// HAL_UART_Transmit(&huart2, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
}
#endif
#if Usart3_Enabled
if(huart->Instance==USART3)
{
HAL_UART_Transmit(&huart3, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
// HAL_UART_Transmit(&huart3, SGP2100_Control_Vpp_Array_Data, 8,1000); //发送数据
}
#endif
}
//函数名:SGP2100_Control_ON_OFF(UART_HandleTypeDef* huart, unsigned char SGP2100_ON_OFF_Data)
//函数功能:控制信号源的的输出开关
//函数入口:选择控制串口,和控制数据,,1开,,0关
//函数出口:无
//作者:唐欲乾
void SGP2100_Control_ON_OFF(UART_HandleTypeDef* huart, unsigned char SGP2100_ON_OFF_Data)
{
unsigned char SGP2100_Control_ON_OFF_Array_Data[4]={0x62, 0x67, 0X31, 0X0A};
if(1==SGP2100_ON_OFF_Data)
SGP2100_Control_ON_OFF_Array_Data[2]=49;
else if(0==SGP2100_ON_OFF_Data)
SGP2100_Control_ON_OFF_Array_Data[2]=48;
#if Usart1_Enabled
if(huart->Instance==USART1)
{
HAL_UART_Transmit(&huart1, SGP2100_Control_ON_OFF_Array_Data, 4,1000); //发送数据
// HAL_UART_Transmit(&huart1, SGP2100_Control_ON_OFF_Array_Data, 4,1000); //发送数据
}
#endif
#if Usart2_Enabled
if(huart->Instance==USART2)
{
HAL_UART_Transmit(&huart2, SGP2100_Control_ON_OFF_Array_Data, 4,1000); //发送数据
// HAL_UART_Transmit(&huart2, SGP2100_Control_ON_OFF_Array_Data, 4,1000); //发送数据
}
#endif
#if Usart3_Enabled
if(huart->Instance==USART3)
{
HAL_UART_Transmit(&huart3, SGP2100_Control_ON_OFF_Array_Data, 4, 1000); //发送数据
// HAL_UART_Transmit(&huart3, SGP2100_Control_ON_OFF_Array_Data, 4, 1000); //发送数据
}
#endif
}
//函数名:SGP2100_Control_Waveform(UART_HandleTypeDef* huart, unsigned char SGP2100_Waveform_Data)
//函数功能:控制信号源的波形
//函数入口:选择控制串口,和选择波形,0,正弦波;1,方波;2,三角波
//函数出口:无
//作者:唐欲乾
void SGP2100_Control_Waveform(UART_HandleTypeDef* huart, unsigned char SGP2100_Waveform_Data)
{
unsigned char SGP2100_Control_Waveform_Array_Data[4]={0x62, 0x77, 0X31, 0X0A};
if(0==SGP2100_Waveform_Data)
SGP2100_Control_Waveform_Array_Data[2]=48;
else if(1==SGP2100_Waveform_Data)
SGP2100_Control_Waveform_Array_Data[2]=49;
else if(2==SGP2100_Waveform_Data)
SGP2100_Control_Waveform_Array_Data[2]=50;
#if Usart1_Enabled
if(huart->Instance==USART1)
{
HAL_UART_Transmit(&huart1, SGP2100_Control_Waveform_Array_Data, 4,1000); //发送数据
// HAL_UART_Transmit(&huart1, SGP2100_Control_Waveform_Array_Data, 4,1000); //发送数据
}
#endif
#if Usart2_Enabled
if(huart->Instance==USART2)
{
HAL_UART_Transmit(&huart2, SGP2100_Control_Waveform_Array_Data, 4,1000); //发送数据
// HAL_UART_Transmit(&huart2, SGP2100_Control_Waveform_Array_Data, 4,1000); //发送数据
}
#endif
#if Usart3_Enabled
if(huart->Instance==USART3)
{
HAL_UART_Transmit(&huart3, SGP2100_Control_Waveform_Array_Data, 4, 1000); //发送数据
// HAL_UART_Transmit(&huart3, SGP2100_Control_Waveform_Array_Data, 4, 1000); //发送数据
}
#endif
}