问答

汇集网友智慧,解决技术难题

TKinter

TA的家园币:29  

  • STM32串口通信控制电机

    我想用串口通信来控制无刷电机,串口代码借用正点原子,目前串口可以接收到发送的指令,但是不能控制电机,希望有前辈帮我解答一下,附上主函数代码intmain(void){u8t;//typedefunsignedcharuint8_t;u8len;u16times=0;//typedefunsignedshortuint16_t;volatileunsignedcharHALL_flag;LED_Init();delay_init();uart2_init(9600);//串口初始化为9600PWM_GPIO_Init();HALL_GPIO_Init();LED1=1;while(1){if(USART_RX_STA&0x8000){len=USART_RX_STA&0x3fff;printf("\r\n您发送的消息为:\r\n");for(t=0;tDR=USART_RX_BUF[t];while((USART2->SR&0X40)==0);}printf("\r\n\r\n");//插入换行USART_RX_STA=0;if(strcmp((char*)USART_RX_BUF,"电机1正转")==0){HALL_flag=1;BLDC_CW();printf("\r\n行走电机正转\r\n");}if(strcmp((char*)USART_RX_BUF,"电机1停止")==0){HALL_flag=0;BLDC_STOP();printf("\r\n行走电机停止\r\n");}}else{times++;if(times%5000==0){printf("\r\nALIENTEKMiniSTM32开发板串口实验\r\n");printf("正点原子@ALIENTEK\r\n\r\n\r\n");}if(times%200==0)printf("请输入数据,以回车键结束\r\n");if(times%30==0)LED1=!LED1;//闪烁LED,提示系统正在运行.delay_ms(10);}}}