📄 transducer.c
字号:
#define _TRANSDUCER_
#include "include.h"
/*******************************************************
函数名:send_cmd(unsigned char *send_data)
功能:发送命令
传入参数: unsigned char *send_data :要发送得数据
unsigned char Len :数据长度
传出参数:无
********************************************************/
void send_cmd(unsigned char *send_data,unsigned char Len)
{
unsigned int i;
for(i=0;i<Len;i++)
{
uart_send(send_data[i]);
}
}
/**************************************************************
函数名:send_cmd(unsigned char *send_data)
功能:发送命令
传入参数: unsigned char *send_data
传出参数:无
***************************************************************/
void check_sum(unsigned char *send_data,unsigned char *result_sum)
{
unsigned char i;
unsigned int n,sum=0;
for(i=0;i<strlen(send_data);i++)
sum +=(unsigned int)send_data[i];
n = sprintf(result_sum,"%4x",sum);
for(i=0;i<3;i++)
{
if(result_sum[i] == 32) result_sum[i]= '0';
}
}
/********************************************************************
函数名:data_encap_send(unsigned char *data_send)
功能描述:要发送的数据的封装和发送
传入参数:unsigned char *data_send :要发送的数据
传出参数:无
*********************************************************************/
void data_encap_send(unsigned char *data_send)
{
unsigned char buffer[20];
unsigned char result_sum[4];
int n;
unsigned char i;
check_sum(data_send,result_sum);
n = sprintf(buffer,"%c%s%s%c",'~',data_send,result_sum,'\r');
for(i=0;i<n;i++)
{
buffer[i]=toupper(buffer[i]);
}
send_cmd(buffer,n);
}
/****************************************************************************
函数名:data_send_process(unsigned char *send_data,float frequ)
函数功能:对要设定的频率进行设定并整合到send[]数组中
传入参数: unsigned char *send_data 要传入的数组,由前面DEFINE中定义的··中进行选择
float frequ :要设定的频率
传出参数:无
*****************************************************************************/
void data_send_process(unsigned char *send_data,float frequ)
{
int tmp,n;
char i;
tmp = (int)(frequ*100);
n = sprintf(send,"%s%4x",send_data,tmp);
for(i=4;i>1;i--)
{
if(send[n-i] == 32) send[n-i]= '0';
}
}
/**********************************************************************************
函数名:data_res_proce(void)
功能描述:接收数据并判断是否发送失败
传入参数:无
传出参数:char : 为0的话,传输正确,否则失败
************************************************************************************/
char data_res_proce(void)
{
flg = 0;
r=0;
while(res[r-1]!=13 && r<=18);
if(!flg)
{
if((res[3]==48) && (res[4]==48) ) return 0;
else return 1;
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -