[牛人杂谈] 串口 UART

[复制链接]
 楼主| xuanhuanzi 发表于 2018-12-25 15:33 | 显示全部楼层 |阅读模式

1.初始化(官网)

    SYS_ResetModule(UART0_RST);

   
    UART_Open(UART0, 115200);

注意:默认的UART_Open函数默认把端口配置成8位数据,一位停止位,无奇偶校验,无硬件流操作。

如果需要其他的串口配置。可以把UART_Open里面的函数进行修改。

引脚配置


    SYS->P3_MFP &= ~(SYS_MFP_P30_Msk | SYS_MFP_P31_Msk);
    SYS->P3_MFP |= (SYS_MFP_P30_RXD0 | SYS_MFP_P31_TXD0);

配置IO为复用功能并给以相应的功能

中断使能

注意:串口中断标志没有清除一说,在接受到UART数据时候,只要读一次数据寄存器就能清除接受中断,否则永远在中断中。

UART0->IER |= UART_IER_RDA_IEN_Msk | UART_IER_RTO_IEN_Msk | UART_IER_TIME_OUT_EN_Msk ;

NVIC_EnableIRQ(UART0_IRQn);

中断向量以启动文件为准


 楼主| xuanhuanzi 发表于 2018-12-25 15:34 | 显示全部楼层
启动文件里定义了中断函数的名字。所以这个不能乱用。一定要对。
gejigeji521 发表于 2018-12-25 21:01 | 显示全部楼层
SYS_ResetModule(UART0_RST);
这个如果不用呢,会有什么情况
yiyigirl2014 发表于 2018-12-25 22:30 | 显示全部楼层
串口和IO共用端口,需要功能选择。
xinpian101 发表于 2018-12-26 16:37 | 显示全部楼层
串口中断。
xinpian101 发表于 2018-12-26 16:37 | 显示全部楼层
串口中断。
磨砂 发表于 2019-1-8 09:34 | 显示全部楼层
这个 用不用没有啥关系啊
晓伍 发表于 2019-1-8 09:42 | 显示全部楼层
讲解的非常详细
keaibukelian 发表于 2019-1-8 11:32 | 显示全部楼层
看到这种直接操作寄存器的代码 好贴心
huangcunxiake 发表于 2019-1-8 17:22 | 显示全部楼层
参考各个例子,就很容易上手了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

2307

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部