
if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度 printf("\r\n您发送的消息为:\r\n"); for(t=0;t<len;t++) { USART1->DR=USART_RX_BUF[t]; while((USART1->SR&0X40)==0);//等待发送结束 } led0pwmval=(USART_RX_BUF[t]-48)*3; if(led0pwmval>300)dir=0; if(led0pwmval==0)dir=1; TIM_SetCompare1(TIM1,led0pwmval); printf("\r\n\r\n");//插入换行 USART_RX_STA=0; }else { times++; if(times%200==0)printf("请输入数据,以回车键结束\r\n"); delay_ms(10); } 求指导 |
你uart传输过来的应该是些指令,这取决于你的约定。大致思路应该是,结合UART传输过来的数据指令来修改PWM输出的频率及占空比来调节灯的亮度。 |
就这个就可以啊,首先你要单独把PWM调接LED亮度的程序调通,再把通讯调好,通讯的接收与发送要做到你想要的想要的结果,这样就完成了 |
STM32 GPIO 开漏,NMOS 导通能承受多大电流
为什么NucleoH7上电正常但无法烧录?连接状态一直为绿光红光交替闪烁,如何让他绿灯常亮?
stm32n6570dk无法烧录/无法擦除
stm32mp135f-dk stm32cubeprogrammer无法下载
STM32H745启动与烧录问题
L9663驱动开发
STM32N6的摄像头下采样是怎么实现的
x-nucleo-nfc08a1适不适配nucleo144
P-NUCLEO-53L8A1搭配的主控是哪个板子?
板载STLinkV3无法使用