打印
[应用方案]

实现串口助手发送0至100,控制led灯由暗至亮

[复制链接]
691|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
foxsbig|  楼主 | 2022-10-12 20:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


int main(void)
{      
        u16 len;
         u16 t;
        u16 value;
        u16  pwm;
        u16 i;
        delay_init();                     //延时函数初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
        LED_Init();                             //LED端口初始化
        TIM3_PWM_Init(899,0);         //不分频。PWM频率=72000000/900=80Khz
         
         while(1)
        {
                delay_ms(10);         
                if(USART_RX_STA&0x8000)
                {                                          
                                len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
//                        printf("\r\n您发送的消息为:\r\n\r\n");
                                for(t=0;t<len;t++)
                                {
                                        USART_SendData(USART1, USART_RX_BUF[t]);//向串口1发送数据
                                        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
                                }
                                value=((USART_RX_BUF[0]-'0')*100+(USART_RX_BUF[1]-'0')*10+(USART_RX_BUF[2]-'0'));//
//                                value=(USART_RX_BUF[0]);
                                pwm=value;

                        TIM_SetCompare2(TIM3,pwm);//pwm函数给定时器
                }
               
               
}
}


value=(USART_RX_BUF[0]);用串口输入0至8时(十进制),单片机led灯可以由暗至亮
value=((USART_RX_BUF[0]-'0')*100+(USART_RX_BUF[1]-'0')*10+(USART_RX_BUF[2]-'0'));//这种方法是可以接收长数,但是存在问题:用串口助手输入0至100时(十进制),单片机led灯可以由暗至亮(但是8比18、28、38、48、58、68、78都亮)
求教,如何写才能实现串口助手值输入0值100时(十进制数),led灯由暗至亮一点点变化

使用特权

评论回复
沙发
Carina卡| | 2023-7-24 12:23 | 只看该作者
你用的那个单片机啊?

使用特权

评论回复
板凳
Carmen7| | 2023-7-24 13:34 | 只看该作者
这个很有参考价值啊,不错不错

使用特权

评论回复
地板
Allison8859| | 2023-7-24 14:43 | 只看该作者
你的LED用的是那款LED灯珠啊?

使用特权

评论回复
5
Emily999| | 2023-7-24 15:52 | 只看该作者
看起来程序逻辑还不错呢

使用特权

评论回复
6
alxd| | 2023-7-24 18:15 | 只看该作者
给力,原来LED你用的是PWM控制的啊

使用特权

评论回复
7
Betty996| | 2023-7-25 06:15 | 只看该作者
挺好的,其实就是串口与PWM的应用,很好

使用特权

评论回复
8
Belle1257| | 2023-7-25 08:36 | 只看该作者
对,注意就是数据的格式,是十六进制还是十进制

使用特权

评论回复
9
Charlotte夏| | 2023-7-25 09:51 | 只看该作者
这个挺好的,用上位机控制稳定的很

使用特权

评论回复
10
Betty1299| | 2023-7-25 11:37 | 只看该作者
很强啊,但是PWM想要控制LED就需要用MOS的吧

使用特权

评论回复
11
Charlene沙| | 2023-7-25 13:09 | 只看该作者
用串口控制,属实有新意,很好的

使用特权

评论回复
12
小明的同学| | 2023-9-26 20:43 | 只看该作者
PWM控制技术。

使用特权

评论回复
13
小明的同学| | 2023-9-26 20:43 | 只看该作者
如果换成串口蓝牙模块,你还可以实现手机控制呢。

使用特权

评论回复
14
huangcunxiake| | 2023-9-28 19:36 | 只看该作者
解码收到的指令,用于pwm调节

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

128

主题

768

帖子

1

粉丝