[AIROC™ 蓝牙]【英飞凌CYW20829测评】2、串口控制板载LED

在上篇:【英飞凌CYW20829测评】1、开发环境建立 - 英飞凌MCU技术论坛 - 21ic电子技术开**坛
在其工程基础之上,添加串口接收与LED交互。
1、新建一个接收字符串数组,用于存放接到的数据

复制

//添加接收buff长度

#define RECVE_MAX_LEN    64

//添加接收缓冲区

    char recv_buff[RECVE_MAX_LEN] = {0};

    uint8_t recv_cnt = 0;

2、声明两个字符串,用于命令的判断

复制

 const char blinkoff[] = "LEDBLINKSTOP";

    const char blinkon[] = "LEDBLINKSTART";

3、每接收一个字符,判断是否为结束符,如果不是,将接收的字符串放于缓冲区:

复制

if(recv_cnt >= RECVE_MAX_LEN)

                    {

                            recv_cnt = 0;

                    }

                    recv_buff[recv_cnt] = uart_read_value;

                    recv_cnt++;

4、如果接收到的回车符,则进行命令判断,判断后清空缓冲区,并把计数器归零。

复制

            if (uart_read_value == '\n' || uart_read_value == '\r' )

            {

                    printf("recv cmd:%s\r\n",recv_buff);



                    if (0 == strcmp(recv_buff,blinkoff))

                    {



                            cyhal_timer_stop(&led_blink_timer);

                            printf("LED blinking paused \r\n");

                    }

                    else if(0 == strcmp(recv_buff,blinkon))

                    {

                            cyhal_timer_start(&led_blink_timer);

                            printf("LED blinking start\r\n");



                    }

                    printf("recv cmd:%s\r\n",recv_buff);

                    memset(recv_buff,0,RECVE_MAX_LEN);

                    recv_cnt = 0;

【实验现象】
发送停止与开始命令,从串口返回相应的指令,并同时更新LED的显示。


---------------------
作者:lulugl
链接:https://bbs.21ic.com/icview-3384970-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值