/*******************************************************************************
* Function Name : Write_Byte
* Description : This function is used to Write byte to the MMA7445L module.
* Input : value
* Output : None
* Return : None
*******************************************************************************/
void Write_Byte(u8 value)
{
u8 temp;
GPIO_ResetBits(GPIOA, GPIO_Pin_8);
Delay(0xff);
for(;i<8;i++)
{
temp=(value>>7) & 0x1;
GPIO_WriteBit(GPIOA, GPIO_Pin_7,(BitAction)temp);
value<<=1;
GPIO_SetBits(GPIOA, GPIO_Pin_5);
Delay(0xff);
GPIO_ResetBits(GPIOA, GPIO_Pin_5);
}
GPIO_SetBits(GPIOA, GPIO_Pin_8);
}
/*******************************************************************************
* Function Name : Read_Byte
* Description : This function is used to read bytes from the MMA7445L module.
* Input : None
* Output : None
* Return : value
*******************************************************************************/
u8 Read_Byte(void)
{
u8 value;
GPIO_ResetBits(GPIOA, GPIO_Pin_8);
Delay(0xff);
for(;ii<8;ii++)
{
value<<=1;
GPIO_SetBits(GPIOA, GPIO_Pin_5);
Delay(0xff);
GPIO_ResetBits(GPIOA, GPIO_Pin_5);
value|=GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_6);
}
GPIO_SetBits(GPIOA, GPIO_Pin_8);
return value;
}
/*******************************************************************************
* Function Name : Write_Reg
* Description : This function is used to write the MMA7445L module's register.
* Input : add, value
* Output : None
* Return : None
*******************************************************************************/
void Write_Reg(u8 add,u8 value)
{
add<<=1;
add|=0x80;
Write_Byte(add);
Write_Byte(value);
}
/*******************************************************************************
* Function Name : Read_Reg
* Description : This function is used to read the MMA7445L module's register.
* Input : add
* Output : None
* Return : value
*******************************************************************************/
u8 Read_Reg(u8 add)
{
u8 value;
add<<=1;
Write_Byte(add);
value=Read_Byte();
return value;
}