美文网首页
stm32f103 5个串口寄存器版配置大全

stm32f103 5个串口寄存器版配置大全

作者: YuQiao0303 | 来源:发表于2019-07-15 18:03 被阅读0次

    github 地址:https://github.com/YuQiao0303/stm32f103-uart1-5

    串口 TX RX
    1 PA9 PA10
    2 PA2 PA3
    3 PB10 PB11
    4 PC10 PC11
    5 PC12 PD2

    测试结果截图:


    测试结果截图

    以串口2的初始化为例(其余代码详见github):

    //----------------------------------------------------------串口2-------------------------------------------------------------//
    void uart2_init(u32 pclk2,u32 bound)
    {    
        float temp;
        u16 mantissa;
        u16 fraction;      
        temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
        mantissa=temp;               //得到整数部分
        fraction=(temp-mantissa)*16; //得到小数部分    
      mantissa<<=4;
        mantissa+=fraction; 
        
        RCC->APB2ENR|=1<<2;   //使能PORTA口时钟  //RCC->APB2ENR 见中文参考手册 p70  port A - G的时钟使能 分别在第2-8位,USART1在14位
        RCC->APB1ENR|=1<<17;  //使能串口时钟 //RCC->APB1ENR 见中文参考手册 p72  USART2-5的时钟使能 分别在第17-20位
        
        /*CRL & CRH
        中文参考手册p113
         每个io口4位,
        低两位是mode:
        00输入,01输出10MHz,10输出2MHz,11输出50MHz,
        高两位是CNF:00模拟输入,01浮空输入 。10上拉下拉输入,11保留  ,
        00:通用推挽输出模式
    01:通用开漏输出模式
    10:复用功能推挽输出模式
    11:复用功能开漏输出模式
    
    串口配置时,RX为1000,TX为1011
        */
        GPIOA->CRL&=0XFFFF00FF;  
        GPIOA->CRL|=0X00008B00;//IO状态设置
        
        /*ODR p115
        似乎可以不用配置
        端口输出数据(可用来配置上拉下拉)
        串口配置时,RX为上拉输入,对应位配置为1
        */
        GPIOA->ODR|=1<<3;     
        /*
        p67
        APB1RSTR 的 第17-20分别是串口2-5的复位
        */
        RCC->APB1RSTR|=1<<17;   //复位串口2
        RCC->APB1RSTR&=~(1<<17);//停止复位         
        //波特率设置
        USART2->BRR=mantissa; // 波特率设置   
        USART2->CR1|=0X200C;  //1位停止,无校验位.
        //使能接收中断
        USART2->CR1|=1<<8;    //PE中断使能
        USART2->CR1|=1<<5;    //接收缓冲区非空中断使能         
        MY_NVIC_Init(0,1,USART2_IRQn,2);//组2,最低优先级 
    }
    

    各寄存器的用法可以在中文/英文参考手册中,搜索寄存器的名称,从而了解它如何配置

    相关文章

      网友评论

          本文标题:stm32f103 5个串口寄存器版配置大全

          本文链接:https://www.haomeiwen.com/subject/htnnkctx.html