找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3851|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32串口發(fā)送數(shù)字01234 單片機(jī)如何接收呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:163950 發(fā)表于 2018-12-11 14:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
char b[5];
int main(void)
{       
        u8 t;
        u8 len;       
//        u16 times=0;

        delay_init();                     //延時(shí)函數(shù)初始化       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級(jí)分組2
        uart_init(9600);         //串口初始化為9600
        LED_Init();                           //初始化與LED連接的硬件接口

        while(1)
        {
                if(USART_RX_STA&0x8000)                  //如果接收完成了
                {                                          
                        len=USART_RX_STA&0x3fff;               //得到此次接收到的數(shù)據(jù)長度
                        printf("\r\n您發(fā)送的消息為:\r\n");      //打印至串口提示
                        for(t=0;t<len;t++)                     //小于接收長度時(shí)
                        {
                                USART1->DR=USART_RX_BUF[t];          //依次存入接收緩沖區(qū) 將接收緩存送至該數(shù)據(jù)寄存器,同時(shí)發(fā)送到串口
                        // a=USART_RX_BUF[t];         
                   b[t]=USART_RX_BUF[t];
                               
                                 while((USART1->SR&0X40)==0);         //等待發(fā)送結(jié)束
                        }
               
                        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;
                }
//結(jié)果燈無任何反應(yīng),為什么呢?

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表