找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3365|回复: 0
打印 上一主题 下一主题
收起左侧

STM32串口发送数字01234 单片机如何接收呢?

[复制链接]
跳转到指定楼层
楼主
ID:163950 发表于 2018-12-11 14:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
char b[5];
int main(void)
{       
        u8 t;
        u8 len;       
//        u16 times=0;

        delay_init();                     //延时函数初始化       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
        uart_init(9600);         //串口初始化为9600
        LED_Init();                           //初始化与LED连接的硬件接口

        while(1)
        {
                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];          //依次存入接收缓冲区 将接收缓存送至该数据寄存器,同时发送到串口
                        // a=USART_RX_BUF[t];         
                   b[t]=USART_RX_BUF[t];
                               
                                 while((USART1->SR&0X40)==0);         //等待发送结束
                        }
               
                        printf("\r\n\r\n");//插入换行               

if(b[0]==0x00&&b[1]==0x01&&b[2]==0x02&&b[3]==0x03&&b[4]==0x04) {LED1=!LED1;delay_ms(100); }//接收到123  灯取反               
USART_RX_STA=0;
                }
//结果灯无任何反应,为什么呢?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表