rtthread serial物理层驱动--基于LPC1778

RTT serial 设备的底层硬件驱动

一、需要用到的头文件

系统头文件

#include <rthw.h>
#include <rtthread.h>
#include <rtdevice.h>

硬件相关头文件

#include "board.h"
#include "LPC177x_8x.h"
#include "lpc177x_8x_uart.h"
#include "lpc177x_8x_pinsel.h"

二、引脚配置

因为现在大部分的CPU的引脚功能是复用的,所以这一项必不可少。这里没有使用PIN设备,而使用的宏定义。当然,这部分的功能可以不在这里实现,在应用代码里通过PIN设备来配置。不过个人感觉没有必要。

#define pinConnectToTxduart0()   PINSEL_ConfigPin(0, 2, 1)
#define pinConnectToRxduart0()   PINSEL_ConfigPin(0, 3, 1)
...
#define pinConnectToTxduart4()   PINSEL_ConfigPin(5, 4, 4)
#define pinConnectToRxduart4()   PINSEL_ConfigPin(5, 3, 4)

#define configTxdPin(__num)      pinConnectToTxd##__num()
#define configRxdPin(__num)      pinConnectToRxd##__num()

用法如下:

configTxdPin(uart0);
configRxdPin(uart0); 

三、串口配置

这个结构体和各个芯片供应商提供的驱动有关,也可以自己写。

typedef struct {
  uint32_t Baud_rate;   		/**< UART baud rate */
  UART_PARITY_Type Parity;    	/**< Parity selection, should be:
							   - UART_PARITY_NONE: No parity
							   - UART_PARITY_ODD: Odd parity
							   - UART_PARITY_EVEN: Even parity
							   - UART_PARITY_SP_1: Forced "1" stick parity
							   - UART_PARITY_SP_0: Forced "0" stick parity
							   */
  UART_DATABIT_Type Databits;   /**< Number of data bits, should be:
							   - UART_DATABIT_5: UART 5 bit data mode
							   - UART_DATABIT_6: UART 6 bit data mode
							   - UART_DATABIT_7: UART 7 bit data mode
							   - UART_DATABIT_8: UART 8 bit data mode
							   */
  UART_STOPBIT_Type S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值