博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RTT设备与驱动之串口
阅读量:4988 次
发布时间:2019-06-12

本文共 1589 字,大约阅读时间需要 5 分钟。

有一般收发、中断方式、DMA方式:

rt_device_t rt_device_find(const char* name);
rt_err_t rt_device_open(rt_device_t dev, rt_uint16_t oflags); oflags =RT_DEVICE_FLAG_RDWR|RT_DEVICE_FLAG_INT_RX
#define RT_DEVICE_FLAG_RDWR         0x003     /* 可读写模式 */#define RT_DEVICE_FLAG_STREAM 0x040 /* 流模式 */ #define RT_DEVICE_FLAG_INT_RX 0x100 /* 中断接收模式 */ #define RT_DEVICE_FLAG_DMA_RX 0x200 /* DMA 接收模式 */ #define RT_DEVICE_FLAG_INT_TX 0x400 /* 中断发送模式 */ #define RT_DEVICE_FLAG_DMA_TX 0x800 /* DMA 发送模式 */
rt_err_t rt_device_control(rt_device_t dev, rt_uint8_t cmd, void* arg);
应用举例:
#define SAMPLE_UART_NAME       "uart2"  /* 串口设备名称 */static rt_device_t serial; /* 串口设备句柄 */ struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; /* 配置参数 */ /* 查找串口设备 */ serial = rt_device_find(SAMPLE_UART_NAME); /* 以读写及中断接收方式打开串口设备 */ rt_device_open(serial, RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX); config.baud_rate = BAUD_RATE_115200; config.data_bits = DATA_BITS_8; config.stop_bits = STOP_BITS_2; config.parity = PARITY_NONE; /* 打开设备后才可修改串口配置参数 */ rt_device_control(serial, RT_DEVICE_CTRL_CONFIG, &config);
相关读写:
rt_err_t rt_device_close(rt_device_t dev);
rt_size_t rt_device_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size);
rt_size_t rt_device_write(rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size);
rt_err_t rt_device_set_rx_indicate(rt_device_t dev, rt_err_t (*rx_ind)(rt_device_t dev,rt_size_t size));//接收完成回调
rt_err_t rt_device_set_tx_complete(rt_device_t dev, rt_err_t (*tx_done)(rt_device_t dev,void *buffer));//发送完成回调
 
 

转载于:https://www.cnblogs.com/jieruishu/p/10270836.html

你可能感兴趣的文章
Asp.Net Core在CentOS部署与注意
查看>>
自反+递归 实现评论的无限引用
查看>>
新闻发布系统
查看>>
NOIP提高组2016 D1T2 【天天爱跑步】
查看>>
数据结构基础(19) --堆与堆排序
查看>>
HTML基础
查看>>
Window通过cmd查看端口占用、相应进程、杀死进程
查看>>
Exp4 恶意代码分析 _20151220
查看>>
Webbrowser 取消下载提示框
查看>>
javascript 在线压缩工具
查看>>
BootStrap的栅格系统的基本写法(布局)
查看>>
移动端开发
查看>>
Excel如何取消显示分页虚线
查看>>
博弈论习题
查看>>
B题 hdu 1407 测试你是否和LTC水平一样高
查看>>
cglib 介绍 原理 使用 demo examples 【转】
查看>>
Ubuntu下安装LAMP及phpmyadmin
查看>>
理解OAuth 2.0
查看>>
HBase中Region, store, storefile和列簇的关系
查看>>
啥打法上
查看>>