1637|0

13

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

串口通行的时候丛机接收错误的数据就回到初始状态 [复制链接]

5芯积分

int main(void)

  u8 add0;
    u8 add1;
    u8 add2;
    u8 add3;
    u8 t;
    u8 len;         //¶¨ÒåÒ»¸öÊý¾Ý½ÓÊÕ³¤¶È±äÁ¿

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//ÉèÖÃϵͳÖжÏÓÅÏȼ¶·Ö×é2
    delay_init(168);        //ÑÓʱ³õʼ»¯ 
    uart_init(115200);    //´®¿Ú³õʼ»¯²¨ÌØÂÊΪ115200
    LED_Init();                  //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿Ú 


    
    while(1)
    {
        add0 = PBin(12);
        add1 = PBin(13);
        add2 = PBin(14);   //µØÖ·ÓëÏàÓ¦µÄIO¿ÚÒ»Ò»¶ÔÓ¦
        add3 = PBin(15);
        
        
                
            
        if(USART_RX_STA&0x8000)
        {    
         
            len=USART_RX_STA&0x3fff;//µÃµ½´Ë´Î½ÓÊÕµ½µÄÊý¾Ý³¤¶È
    
            if((add0 != (USART_RX_BUF[0]-'0'))||(add1 != (USART_RX_BUF[1]-'0'))||(add2 != (USART_RX_BUF[2]-'0'))||(add3 != (USART_RX_BUF[3]-'0')))   //´Ô»úµØÖ·ÅжÏ
            
        {
            USART_RX_STA=0;
            return 0;             //½áÊø
            
        }
        
        
    {

        LED1 =    (USART_RX_BUF[4]-'0');
        LED2 =    (USART_RX_BUF[5]-'0');     //´®¿Ú·¢À´µÄÊý¾ÝλÓëIO¿ÚµÄÒ»Ò»¶ÔÓ¦
        LED3 =    (USART_RX_BUF[6]-'0');
        LED4 =    (USART_RX_BUF[7]-'0');
        LED5 =    (USART_RX_BUF[8]-'0');
        LED6 =    (USART_RX_BUF[9]-'0');
        LED7 =    (USART_RX_BUF[10]-'0');
        LED8 =    (USART_RX_BUF[11]-'0');
        LED9 =    (USART_RX_BUF[12]-'0');
        LED10 =    (USART_RX_BUF[13]-'0');
        LED11 =    (USART_RX_BUF[14]-'0');
        LED12 =    (USART_RX_BUF[15]-'0');
        LED13 =    (USART_RX_BUF[16]-'0');
        LED14 =    (USART_RX_BUF[17]-'0');
        LED15 =    (USART_RX_BUF[18]-'0');
        LED16 =    (USART_RX_BUF[19]-'0');
        LED17 =    (USART_RX_BUF[20]-'0');
        LED18 =    (USART_RX_BUF[21]-'0');
        LED19 =    (USART_RX_BUF[22]-'0');
        LED20 =    (USART_RX_BUF[23]-'0');
        LED21 =    (USART_RX_BUF[24]-'0');
        LED22 =    (USART_RX_BUF[25]-'0');
        LED23 =    (USART_RX_BUF[26]-'0');
        LED24 =    (USART_RX_BUF[27]-'0');
        
                    
 

            
printf("\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);//µÈ´ý·¢ËͽáÊø
            }
            
                printf("\r\n\r\n");//²åÈë»»ÐÐ
            USART_RX_STA=0;

            
           }        
       }
    
   }
}    
 

此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表