登录后复制rt_bool_t ab32_int_txing(struct rt_serial_device *serial) { struct ab32_uart *uart; RT_ASSERT(serial != RT_NULL); uart = rt_container_of(serial, struct ab32_uart, serial); return uart->intTxing; } static void ab32_start_tx(struct rt_serial_device *serial, rt_uint8...
serialX.c 添加 `flush` 回调函数实现 `static rt_err_t rt_serial_flush(struct rt_device *dev)` ,用于等待串口驱动层发送缓存发完数据。另外底层外设也增加 flush 接口,用于等待串口发送寄存器中的*最后一个字节数据*被搬到了移位发送寄存器中。 console 添加 unset flush 控制台设备接口 登录后复制void rt_...
“serialX” 我起的名字,起个名字想破头。在前一篇文章里,大致提出了我的串口驱动框架理论。里面做了一些对串口驱动特性的幻想。也在 NUC970 芯片下通过了中断模式的实践验证。但是,因为 NUC970 的 uart 自带 fifo 。用它测试效果好,并不能真正说明驱动框架通过验证了。
RT-Thread 中默认开启了自动初始化机制,因此用户不需要在应用程序中手动调用串口的初始化函数(drv_usart.c 中的 INIT_BOARD_EXPORT 实现了自动初始化)。用户实现的由宏 RT_USING_UARTx 选定的串口硬件驱动将自动关联到 RT-Thread 中来(drv_usart.c 中的 rt_hw_serial_register 实现了串口硬件注册)。 串口发送...
rtthread适配及使用serial_v2的问题 主控芯片:STM32F407ZG 1. 适配问题 本项目工程一开始使用的主控是STM32L496,正常移植使用serial_v2没有问题。将工程复制下来后使用rtthread studio的修改工程-芯片型号将主控型号更改为STM32F407ZG后自动联网下载STM32F4的SDK包。如下图所示(是因为我的环境中一直没下载过这个SD...
第三步:输入名称,选择SERIAL协议 第四步:点击左边菜单栏的SERIAL,选择串口对应的com口,波特率等,点击确定 第五步:选择左边窗口新建的会话,右键,点击打开 如果com口设备有连上,会提示已连接,否则会提示打开失败 八、结束语 好了,到这里RT-thread需要安装的基础环境就搞定了 ...
1. 下载RT-Thread源码https:///RT-Thread/rt-thread 2. 进入rt-thread\bsp\stm32f4xx-HAL目录,在env命令行中输入menuconfig,进入配置界面,使用menuconfig工具(学习如何使用:https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=5699&extra=page%3D2)配置工程。
物联网设计这么火了,这么能离得开语音控制,搭载上国产物联网操作系统RT-Thread,本期跟小飞哥一起学习RT-Thread SPI设备驱动的使用,如何在RT-Thread系统上操作LD3320。 SPI通讯协议介绍 注:此部分摘自rt-thread官网 SPI(Serial Peripheral Interface,串行外设接口)是一种高速、全双工、同步通信总线,常用于短距离通讯...
通过RT-Thread的源码可知 DMA buffer 和 serial 的 ringbuffer 公用一个 buffer. 我发送的数据长度为129,发送间隔>250ms(就是象征性表示这个速度不快),连续发几帧(没摸到规律,一般是4帧有时候也不一定),就会出现这个问题. 当然之前发送的是192+bytes的数据,现象一样的. ...
rt-thread 源码目录下 “components/dfs/filesystems/romfs” 有个 romfs.c 文件,是 rom 文件系统配置模板文件,拷贝它到你的应用目录下,修改_root_dirent定义。可以创建只读文件。 RT_WEAK const struct romfs_dirent _root_dirent[] = { {ROMFS_DIRENT_DIR, "dummy", (rt_uint8_t *)_dummy, sizeof(_...