你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

大佬们如何用串口发送的消息来调节LED灯的亮度呢?

[复制链接]
Barry Allen 提问时间:2021-3-26 22:06 / 未解决
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);   
                }
求指导

收藏 评论2 发布时间:2021-3-26 22:06

举报

2个回答
xmshao 回答时间:2021-3-29 10:21:49
你uart传输过来的应该是些指令,这取决于你的约定。大致思路应该是,结合UART传输过来的数据指令来修改PWM输出的频率及占空比来调节灯的亮度。
子曰好人2号 回答时间:2021-3-29 08:55:59
就这个就可以啊,首先你要单独把PWM调接LED亮度的程序调通,再把通讯调好,通讯的接收与发送要做到你想要的想要的结果,这样就完成了

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版