2.有关于延时的改进:
本人在调试时发现keil环境中:delay_ms(1000)和delay_ms(3000)差别不大 竟然有一下发现:
void _delay_s(u16 s){
int i;
for(i=0;i<=s;i++)
delay_ms(1000);
}//明显好于s*delay_ms(1000)
3.stm32主函数:
int main(void)
{
// u16 adcx;
// float temp;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init();
Adc_Init(); //ADC初始化
POINT_COLOR=RED;//设置字体为红色
LCD_ShowString(60,50,200,16,16,"Elite STM32");
LCD_ShowString(60,70,200,16,16,"ADC TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2015/1/14");
//显示提示信息
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");
LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");
motor_Init();
while(1)
{
if(adjust()){
delay_ms(200);
delay_ms(200);
switch(adjust()){
case hazardous_waste:{//有害垃圾分类
hazardous_waste_work();
_delay_s(5);
break;}
case other_waste :{//其他垃圾分类
other_waste_waste_work();
_delay_s(5);
break;}
case Recyclable_waste :{//可回收垃圾分类
Recyclable_waste_work();
_delay_s(5);
break;}
case Kitchen_waste :{//厨余垃圾分类
Kitchen_waste_waste_work();
_delay_s(5);
break;}
default :{ //没垃圾
stop();
break;}
}
}
}
}
五、炸电机:
在调试过程中,我们炸了六个电机驱动,弄坏了一个步进电机原因:一夜炸了六个电机驱动,我们依次排查电路接线、程序,最后竟然是电池的原因!!!
2.有关于延时的改进:
本人在调试时发现keil环境中:delay_ms(1000)和delay_ms(3000)差别不大 竟然有一下发现:
void _delay_s(u16 s){
int i;
for(i=0;i<=s;i++)
delay_ms(1000);
}//明显好于s*delay_ms(1000)
3.stm32主函数:
int main(void)
{
// u16 adcx;
// float temp;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
LCD_Init();
Adc_Init(); //ADC初始化
POINT_COLOR=RED;//设置字体为红色
LCD_ShowString(60,50,200,16,16,"Elite STM32");
LCD_ShowString(60,70,200,16,16,"ADC TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,110,200,16,16,"2015/1/14");
//显示提示信息
POINT_COLOR=BLUE;//设置字体为蓝色
LCD_ShowString(60,130,200,16,16,"ADC_CH0_VAL:");
LCD_ShowString(60,150,200,16,16,"ADC_CH0_VOL:0.000V");
motor_Init();
while(1)
{
if(adjust()){
delay_ms(200);
delay_ms(200);
switch(adjust()){
case hazardous_waste:{//有害垃圾分类
hazardous_waste_work();
_delay_s(5);
break;}
case other_waste :{//其他垃圾分类
other_waste_waste_work();
_delay_s(5);
break;}
case Recyclable_waste :{//可回收垃圾分类
Recyclable_waste_work();
_delay_s(5);
break;}
case Kitchen_waste :{//厨余垃圾分类
Kitchen_waste_waste_work();
_delay_s(5);
break;}
default :{ //没垃圾
stop();
break;}
}
}
}
}
五、炸电机:
在调试过程中,我们炸了六个电机驱动,弄坏了一个步进电机原因:一夜炸了六个电机驱动,我们依次排查电路接线、程序,最后竟然是电池的原因!!!
举报