Пример #1
0
void initFDPM(void){
    DDRJ_DDRJ0 = 1;		 //set to output
    DDRJ_DDRJ1 = 1;		 //set to output
    DDRH = DDRH|0x7F;  //Port H(0-6) output
    PTG_PTG1 = 1;
    PTG_PTG3 = 1;
    PTG_PTG5 = 1;
    PTG_PTG6 = 1;
    
    //set initial IO value
    PTJ_PTJ0 = 0;
    PTJ_PTJ1 = 0;
    PTH_PTH0 = 0;
    PTH_PTH1 = 0;
    PTH_PTH2 = 0;
    PTH_PTH3 = 0;
    
    //initialize frequency synthesizer
    SPIconfig1();
    
    //initialize all laser power(off)
    I2Csend(255, 1);
    I2Csend(255, 2);
    I2Csend(255, 3);
    I2Csend(255, 4);
    
    return;
};
Пример #2
0
void INIT_MMA7660(void) 
{
    I2Cstart();
    I2Csend(0x98);    //发送从机地址,写入操作
    I2Creadack();
    I2Csend(0x07);          //写入寄存器地址
    I2Creadack();
    I2Csend(0x01);          //设置寄存器的值,设置量程2g,设置测量模式
    I2Creadack();
    I2Cstop();
}
Пример #3
0
void read3axle(void) 
{
      I2Cstart();
      I2Csend(0x98);               //发送从机地址,写入操作
      I2Creadack();
      I2Csend(0x00);               //写入待读取的第一个寄存器地址
      I2Creadack();
      I2Cstart();
      I2Csend(0x99);               //发送从机地址,读取操作
      I2Creadack();
      X_value = I2Creceive();      //读取X轴加速度
      I2Csendack();
      Y_value = I2Creceive();      //读取Y轴加速度
      I2Csendack();
      Z_value = I2Creceive();      //读取Z轴加速度
      I2Cstop();
      //将采集到的数据转换到-32~31之间
      X_value= X_value<<2;
      X_value_final = X_value /4;
      Y_value= Y_value<<2;
      Y_value_final = Y_value /4;
      Z_value= Z_value<<2;
      Z_value_final = Z_value /4;
}