⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 angle.c

📁 倾角测量程序
💻 C
字号:
void SCA100T_RD(uchar SCA100T_Cmd,uint *SCA100T_Dat)
{
	uchar Data_Len,i=0;
	switch(SCA100T_Cmd)
	{
		case RWTR:
			Data_Len = TEMP_LEN;
			break;
		case RDAX:
		case RDAY:
			Data_Len = ANGLE_LEN;
			break;
		default:
			break;
	}
	SCA100T_CS = 1;
	SCA100T_CLK = 0;
	SCA100T_CS = 0;
	//delay(1);
	for(i=0;i<8;i++)
	{ 
		SCA100T_CLK = 0;
		SCA100T_MOSI = SCA100T_Cmd&0x80;
		//delay(1);
		SCA100T_CLK = 1;
		SCA100T_Cmd = SCA100T_Cmd<<1;
		//delay(1);
	}
	//delay(1);
	*SCA100T_Dat = 0;
	for(i=0;i<Data_Len;i++)
	{ 
		SCA100T_CLK = 1;
		SCA100T_CLK = 0;
		SCA100T_MISO = 1;
		(*SCA100T_Dat) = (*SCA100T_Dat)<<1;
		if(SCA100T_MISO)
		{
			(*SCA100T_Dat)++;
		}	
	}
	SCA100T_CS = 1;
}
//*********************************************************************
// 角度转换函数 Count2Angle()
// 入口参数: Angle_Count(16位)			角度传感器SCA100T的数字量
// 返回值:	 角度值(float)
//*********************************************************************
float Count2Angle(float *Angle_X, float *Angle_Y)
{	
	uchar i;
	uint temp_X=0,temp_Y=0;
	uint Angle_Value_X=0,Angle_Value_Y=0;
	for(i=0;i<5;i++)
	{
		SCA100T_RD(RDAX,&temp_X);
		delay(2);
		SCA100T_RD(RDAY,&temp_Y);
		Angle_Value_X += temp_X;
		Angle_Value_Y += temp_Y;
	}
	Angle_Value_X/=5;
	Angle_Value_Y/=5;		
	delay(10);
	(*Angle_X) = asin((Angle_Value_X-1024)/819);
	(*Angle_X) = asin((Angle_Value_Y-1024)/819);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -