找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6699|回復: 1
打印 上一主題 下一主題
收起左側(cè)

STM32F407初學之串口:查詢方式收發(fā)字符串教程與源碼

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:237239 發(fā)表于 2018-9-21 13:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

1.引腳配置:
            GPIOA時鐘使能 RCC->AHB1ENR |=0x01<<0;
            TX發(fā)送引腳(PA9)  復用 輸出 推挽 浮空 高速
            RX接收引腳(PA10) 復用輸入(設(shè)置復用即可)
復用寄存器:
        AFR[0]表示復用功能寄存器的低位  四位配置一個引腳
        AFR[1]表示復用功能寄存器的高位
        GPIOA->AFR[1] &=~(0xFF<<4);//清零//復用功能AFR[0]表示復用功能寄存器的低位                              
                                                     //復用功能AFR[1]表示復用功能寄存器的高位
        GPIOA->AFR[1] |= (0x77<<4);//PA9---USART1_TX  PA10-----USART1_RX 配置看407zgt database

//        2.串口1配置:
        RCC->APB2ENR |=0x01<<4;//串口1時鐘使能
        USART1->CR1=0;//寄存器清零         
        USART1->CR2 &=~(0x03<<12);  //CR2僅設(shè)置停止位
        /*
                16倍過采樣
                1 起始位, 8 數(shù)據(jù)位, 1停止位
                禁止奇偶校驗控制
        */
        
        //波特率配置
        USARTDIV=fck*1000000.0/(16*bond);
        DIV_Man=USARTDIV;
        DIV_Fra=(USARTDIV-DIV_Man)*16+0.5;
        USART1->BRR = DIV_Man<<4 | DIV_Fra;
        
        //CR1寄存器需要置1的位
        USART1->CR1 |=0x01<<3;//開啟發(fā)送器
        USART1->CR1 |=0x01<<2;//開啟接收器
        USART1->CR1 |=0x01<<13;//開啟串口1
//

串口1配置控制寄存器主要是   采樣模式  USART使能  字長 奇偶校驗  發(fā)送器使能  接收器使能(先全部復位,個別置位為1)

位 15 OVER8:過采樣模式 (Oversampling mode)
0: 16 倍過采樣
1: 8 倍過采樣
注意: 8 倍過采樣在智能卡、 IrDA 和 LIN 模式下不可用:當 SCEN=1、 IREN=1 或 LINEN=1 時,
OVER8 由硬件強制清零。

位 13 UE: USART 使能 (USART enable)
該位清零后, USART 預分頻器和輸出將停止,并會結(jié)束當前字節(jié)傳輸以降低功耗。此位由軟
件置 1 和清零。
0:禁止 USART 預分頻器和輸出
1:使能 USART

位 12 M:字長 (Word length)
該位決定了字長。該位由軟件置 1 或清零。
0: 1 起始位, 8 數(shù)據(jù)位, n 停止位
1: 1 起始位, 9 數(shù)據(jù)位, n 停止位
注意: 在數(shù)據(jù)傳輸(發(fā)送和接收)期間不得更改 M 位

位 10 PCE:奇偶校驗控制使能 (Parity control enable)
該位選擇硬件奇偶校驗控制(生成和檢測)。使能奇偶校驗控制時,計算出的奇偶校驗位被
插入到 MSB 位置(如果 M=1,則為第 9 位;如果 M=0,則為第 8 位),并對接收到的數(shù)據(jù)
檢查奇偶校驗位。此位由軟件置 1 和清零。一旦該位置 1, PCE 在當前字節(jié)的后面處于活動
狀態(tài)(在接收和發(fā)送時)。
0:禁止奇偶校驗控制
1:使能奇偶校驗控制

位 3 TE:發(fā)送器使能 (Transmitter enable)
該位使能發(fā)送器。該位由軟件置 1 和清零。
0:禁止發(fā)送器
1:使能發(fā)送器
注意: 1:除了在智能卡模式下以外,傳送期間 TE 位上的“0”脈沖(“0”后緊跟的是“1”)
會在當前字的后面發(fā)送一個報頭(空閑線路)。
2:當 TE 置 1 時,在發(fā)送開始前存在 1 位的時間延遲。

位 2 RE:接收器使能 (Receiver enable)
該位使能接收器。該位由軟件置 1 和清零。
0:禁止接收器
1:使能接收器并開始搜索起始位

全部資料51hei下載地址:
STM32初學-串口接受字符串(查詢方式).rar (1.23 MB, 下載次數(shù): 119)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:406021 發(fā)表于 2018-10-7 09:23 | 只看該作者
內(nèi)容很好 資源很好
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表