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; };
void INIT_MMA7660(void) { I2Cstart(); I2Csend(0x98); //发送从机地址,写入操作 I2Creadack(); I2Csend(0x07); //写入寄存器地址 I2Creadack(); I2Csend(0x01); //设置寄存器的值,设置量程2g,设置测量模式 I2Creadack(); I2Cstop(); }
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; }