NodeMCU NO_OS SDK 开发——Uart功能

功能综述

ESP8266共有两组 UART 接⼝口,分别为:

  • UART0:
    • U0TXD: pin26(U0TXD)
    • U0RXD: pin25(U0RXD)
    • U0CTS: pin12(MTCK)
    • U0RTS: pin13(MTDO)
  • UART1:
    • U1TXD: pin14(GPIO2)

UART0 作为数据通信接⼝口, UART1 作为 debug 信息的打印。

UART0 默认情况会在上电 booting 期间输出⼀一些打印,此期间打印内容的波特率与所⽤用的外部晶振频率有关。使⽤用 40 M 晶振时,该段打印波特率为 115200。使⽤用 26 M 晶振时,该段打印波特率为 74880

参数配置

UART 属性参数都在 UART_CONF0 定义的寄存器器中,可以在 uart_register.h 中找到。修改该寄存器下的不同对应位,可以配置 UART 属性。

波特率

ESP8266 的串口波特率范围从 300 到 115200*40 都可以⽀支持。

void UART_SetBaudrate(uint8 uart_no,uint32 baud_rate);

校验位

#define UART_PARITY_EN (BIT(1)) 校验使能: 1: enable; 0: disable
#define UART_PARITY (BIT(0)) 校验类型设置 1:奇校验; 0:偶校验
void UART_SetParity(uint8 uart_no, UartParityMode Parity_mode);

数据位

#define UART_BIT_NUM 0x00000003 //数据位⻓长度占⽤用两个 bits:

设置这两个 bits 可以配置数据⻓长度 0: 5 bits; 1: 6 bits; 2: 7 bits; 3: 8 bits

#define UART_BIT_NUM_S 2 // 寄存器偏移为 2(第 2 bit 开始)

void UART_SetWordLength(uint8 uart_no, UartBitsNum4Char len)

停⽌止位

#define UART_STOP_BIT_NUM 0x00000003 //数据位⻓长度占⽤用两个 bits

设置这两个 bits 可以配置停止位⻓长度 1: 1bits; 2: 1.5 bits; 3: 2 bits

#define UART_STOP_BIT_NUM_S 4 //寄存器偏移为 4(第 4 bit 开始)

void UART_SetStopBits(uint8 uart_no, UartStopBitsNum bit_num);

反相

UART 各个信号输⼊入与输出信号,可在内部进行行反向配置。

#define UART_DTR_INV (BIT(24))
#define UART_RTS_INV (BIT(23))
#define UART_TXD_INV (BIT(22))
#define UART_DSR_INV (BIT(21))
#define UART_CTS_INV (BIT(20))
#define UART_RXD_INV (BIT(19))

将对应寄存器器置位,可以将对应信号线反向输出/输⼊。

 void UART_SetLineInverse(uint8 uart_no, UART_LineLevelInverse inverse_mask);

切换打印函数输出端口

默认情况下,系统打印函数 os_printf 从 uart0 ⼝口输出内容,通过以下接口可以设置从UART0 或者 UART1 ⼝口输出打印。

void UART_SetPrintPort(uint8 uart_no);

串口输出打印

void os_printf(const char *s)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值