新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32串口 uart

        STM32串口 uart

        作者: 時間:2016-12-03 來源:網絡 收藏
        uart初始化步驟
        波特率計算公式:波特率=Fpclkx /(16*USARTDIV)
        以uart1為例說明uart1使用PA9,PA10
        1、計算波特率參數
        temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
        mantissa=temp; //得到整數部分
        fraction=(temp-mantissa)*16; //得到小數部分
        mantissa<<=4;
        mantissa+=fraction; //波特率數值
        2、PA外設時鐘使能
        RCC->APB2ENR|=1<<2; //使能PORTA口時鐘
        3、UART時鐘使能
        RCC->APB2ENR|=1<<14; //使能串口時鐘
        4、IO狀態初始設置
        GPIOA->CRH=0X444444B4;//IO狀態設置
        5、復位串口
        RCC->APB2RSTR|=1<<14; //復位串口1
        RCC->APB2RSTR&=~(1<<14);//停止復位
        6、波特率設置
        USART1->BRR=mantissa; // 波特率設置
        7、校驗位停止位設置
        USART1->CR1|=0X200C; //1位停止,無校驗位.
        8、使能接收中斷
        USART1->CR1|=1<<8; //PE中斷使能
        USART1->CR1|=1<<5; //接收緩沖區非空中斷使能
        MY_NVIC_Init(3,3,USART1_IRQChannel,2);//組2,最低優先級


        關鍵詞: STM32串口uar

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 海原县| 安达市| 漳平市| 靖州| 巫山县| 敦化市| 财经| 大余县| 宁城县| 山阳县| 诏安县| 安乡县| 高陵县| 尖扎县| 司法| 西丰县| 嘉善县| 仙居县| 邵武市| 威海市| 屯昌县| 石棉县| 扶沟县| 茶陵县| 延吉市| 星座| 喀喇| 安岳县| 常山县| 米脂县| 即墨市| 曲周县| 德江县| 义乌市| 施秉县| 昌黎县| 新沂市| 上饶县| 曲水县| 环江| 逊克县|