//输出汉字和字符混合字符串 void OLED_Print(uint8 x, uint8 y, uint8 ch[]) { uint8 ch2[3]; uint8 ii=0; while(ch[ii] != '\0') { if(ch[ii] > 127) { ch2[0] = ch[ii]; ch2[1] = ch[ii + 1]; ch2[2] = '\0'; //汉字为两个字节 OLED_P14x16Str(x , y, ch2); //显示汉字 x += 14; ii += 2; } else { ch2[0] = ch[ii]; ch2[1] = '\0'; //字母占一个字节 OLED_P8x16Str(x , y , ch2); //显示字母 x += 8; ii+= 1; } } }
void State_Display(void) { OLED_Fill(0x00); //清屏 OLED_P8x16Str(30,3,"WelCome!"); // OLED_P6x8Str(0,6,"THR:"); // OLED_P6x8Str(63,5,"ROLL:"); // OLED_P6x8Str(63,6,"PITCH:"); // OLED_P6x8Str(0,7,"r"); // OLED_P6x8Str(42,7,"p"); // OLED_P6x8Str(84,7,"y"); }
void main1(void) { OLED_Init(); OLED_Fill(0x00);//黑屏 car_init(); OLED_P8x16Str(5,0,"test"); //setup(); //sd_read(); while(1){ sensor_accelerator_read(); sensor_accelerator_calculate(); char buffer [100] ; float OutData[1]; // OutData[0]=angle; // vcan_sendware((char *)OutData,sizeof(OutData)); sprintf(buffer,"%d",(int)angle); //OLED_P8x16Str(5,0," "); //OLED_P8x16Str(6,0,buffer); //motor_left_pid(1); //motor_right_pid(0); angle_control(20); //sensor_electromagnet_read(); //printf("%lld\n",electromagnet_L6); } }
/******************************************************* 目前暂时都是开环控制,没有闭环 ******************************************************/ int main() { float AngleRight = 0, AngleLift = 0; uint8_t flag = 0; delay_init(72); Board_Init(); MPU6050_Init(); PWM_Init(); OLED_Init(); // //=================================================// // 初始化.... 风扇全都工作,免去启动长延时等待 Motor_Run(Motor_1, 0.2); Motor_Run(Motor_2, 0.2); Motor_Run(Motor_3, 0.2); Motor_Run(Motor_4, 0.2); delay_ms(1000); delay_ms(1000); Timer3_Init(); //=================================================// OLED_P8x16Str(0, 0, "Stone"); OLED_P8x16Str(0, 2, "Y"); OLED_P8x16Str(0, 4, "X"); OLED_P8x16Str(0, 6, "pit:"); OLED_P8x16Str(0, 6, "pit: "); while(1) { AnglePendulum_CC(330); // StopPendulum_Y(); // Motor_Run(Motor_1, 0); // Motor_Run(Motor_2, 0); // Motor_Run(Motor_3, 0.5); // Motor_Run(Motor_4, 0.1); } while(1) { /***************************测试代码***********************************/ // if(Angle_flag) // { // // Angle_flag = 0; // OLED_Shownumf(10, 2, 1, AngleMax_X); // OLED_Shownumf(10, 4, 1, AngleMin_X); // AngleMax_X = 0; // AngleMin_X = 0; // // // } // OLED_Shownumf(34, 6, 1, Angle_Last.rol); // max_p_ang_X(&AngleRight, &AngleLift); // Circle_CC(12.8); // SimplePendulum_X_CC(18.8); // SimplePendulum_Y_CC(18.8); // SimplePendulum_X(); // X轴摆动 // SimplePendulum_Y(); // Y轴摆动 // AnglePendulum(); // 斜角摆动 ...效果不好 风机风力没有校正 // Circle(); // 圆周.. 有可行性 /***************************测试代码***********************************/ } }