新聞中心

        STM32串口通訊USART

        作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        三種方式:查詢,中斷,DMA

        通用同步異步收發(fā)器(USART)提供了一種靈活的方法來與使用工業(yè)標(biāo)準(zhǔn)NR 異步串行數(shù)據(jù)格式的外部設(shè)備之間進(jìn)行全雙工數(shù)據(jù)交換。 USART利用分?jǐn)?shù)波特率發(fā)生器提供寬范圍的波特率選擇。
        它支持同步單向通信和半雙工單線通信。它也支持LIN(局部互連網(wǎng)),智能卡協(xié)議和IrDA(紅外數(shù)據(jù)組織)SIR ENDEC規(guī)范,以及調(diào)制解調(diào)器(CTS/RTS)操作。它還允許多處理器通信。用于多緩沖器配置的DMA方式,可以實(shí)現(xiàn)高速數(shù)據(jù)通信。

        本文引用地址:http://www.104case.com/article/201611/322415.htm

        主要特性:
        全雙工的,異步通信
        NR 標(biāo)準(zhǔn)格式
        分?jǐn)?shù)波特率發(fā)生器系統(tǒng)
        -發(fā)送和接收共用的可編程波特率,最高到4.5Mbits/s
        可編程數(shù)據(jù)字長(zhǎng)度(8位或9位)
        可配置的停止位-支持1或2個(gè)停止位
        LIN主發(fā)送同步斷開符的能力以及LIN從檢測(cè)斷開符的能力
        -當(dāng)USART硬件配置成LIN時(shí),生成13位斷開符;檢測(cè)10/11位斷開符
        發(fā)送方為同步傳輸提供時(shí)鐘
        IRDA SIR 編碼器解碼器
        -在正常模式下支持3/16位的持續(xù)時(shí)間
        智能卡模擬功能
        -智能卡接口支持ISO7816-3標(biāo)準(zhǔn)里定義的異步協(xié)議智能卡
        -智能卡用到的0.5和1.5個(gè)停止位
        單線半雙工通信
        使用DMA的可配置的多緩沖器通信
        -在保留的SRAM里利用集中式DMA緩沖接收/發(fā)送字節(jié)
        單獨(dú)的發(fā)送器和接收器使能位
        檢測(cè)標(biāo)志
        -接收緩沖器滿
        -發(fā)送緩沖器空
        -傳輸結(jié)束標(biāo)志
        校驗(yàn)控制
        -發(fā)送校驗(yàn)位
        -對(duì)接收數(shù)據(jù)進(jìn)行校驗(yàn)
        四個(gè)錯(cuò)誤檢測(cè)標(biāo)志
        -溢出錯(cuò)誤
        -噪音錯(cuò)誤
        -幀錯(cuò)誤
        -校驗(yàn)錯(cuò)誤
        10個(gè)帶標(biāo)志的中斷源
        -CTS改變
        -LIN斷開符檢測(cè)
        -發(fā)送數(shù)據(jù)寄存器
        -發(fā)送完成
        -接收數(shù)據(jù)寄存器
        -檢測(cè)到總線為空
        -溢出錯(cuò)誤
        -幀錯(cuò)誤
        -噪音錯(cuò)誤
        -校驗(yàn)錯(cuò)誤
        多處理器通信-- 如果地址不匹配,則進(jìn)入靜默模式
        從靜默模式中喚醒(通過空閑總線檢測(cè)或地址標(biāo)志檢測(cè))
        兩種喚醒接收器的方式
        -地址位(MSB)
        -空閑總線



        STM32的串口配置 也挺方便的

        首先是配置UART的GPIO口

        void UART1_GPIO_Configuration(void)
        {
        GPIO_InitTypeDef GPIO_InitStructure;
        // Configure USART1_Tx as alternate push-pull
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOA, &GPIO_InitStructure);

        // Configure USART1_Rx as input floating
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        }

        然后是配置串口參數(shù)


        上一頁 1 2 下一頁

        關(guān)鍵詞: STM32串口通訊USAR

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 锡林浩特市| 响水县| 南宫市| 察雅县| 武威市| 平昌县| 洱源县| 河南省| 沭阳县| 水城县| 侯马市| 资源县| 乌鲁木齐县| 会宁县| 平乡县| 华安县| 资阳市| 金川县| 老河口市| 永年县| 磐石市| 新泰市| 嘉禾县| 蒲江县| 邵阳县| 抚州市| 凌源市| 江都市| 轮台县| 米脂县| 重庆市| 井冈山市| 巨鹿县| 商河县| 宝鸡市| 定南县| 辽源市| 德兴市| 饶平县| 新巴尔虎左旗| 雷波县|