最后,依旧公开测试代码,本次测试使用的代码可以在 [serialX]( https://gitee.com/thewon/serialX ) 仓库找到。近期,笔者也会将 serialX 提交到 rt-thread 主仓库。 提前预告,下次我们来聊聊 serialX 在做控制台串口时遇到的问题已经解决方案(包括使用中断 DMA 收发模式打开的串口设备)。 相关文章: rt-thread ...
rt_err_t (*configure)(struct rt_serial_device *serial, struct serial_configure *cfg); // 用于使能禁用中断,初始配置 DMA rt_err_t (*control)(struct rt_serial_device *serial, int cmd, void *arg); // 串口外设写数据寄存器*为空*,把数据放入写数据寄存器。*不为空*,死等 int (*putc)(stru...
因为serialX 自带阻塞读特性,所以它不需要执行 `rt_device_set_rx_indicate(dev, finsh_rx_ind);` 这句代码,我们接收数据自有同步妙法,请往下看。 finsh 线程 对finsh 线程入口函数稍作修改: 登录后复制void finsh_thread_entry(void *parameter){ int i, cnt; char istream[32]; ... 省略部分操作 while...
`rt_forceinline rt_size_t _serial_fifo_calc_data_len(struct rt_serial_fifo *fifo)` 计算 fifo 中写入的数据量 `rt_forceinline void _serial_fifo_push_data(struct rt_serial_fifo *fifo, rt_uint8_t ch)` 压入一个数据(不完整实现,具体见下文) `rt_forceinline rt_uint8_t _serial_fifo_pop_...
现笔者将打码开放出来 gitee 仓库serialX,求全论坛公测。期待各位大佬提出各种测试方案,它最不怕的就是考验。 有问题可以在仓库里提issue,或者到 rt-thread 官方论坛上进行讨论。 简介 基于rt-thread 平台的串口框架 暂无标签 C等 2 种语言 Apache-2.0
输入命令 scons —target=mdk5 -s 生成 keil 工程,打开工程后先修改 MCU 型号为 STM32F407ZETx,如图所示: 打开putty,选择正确的串口,软件参数配置为 115200-8-1-N、无流控。如图所示: 编译、下载程序,按下复位后就可以在串口 1 连接的终端上看到 RT-Thread 标志 log 了,输入 list_device 命令能查看到 ua...
1. 下载RT-Thread源码https://github.com/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)配置工程。
rtthread适配及使用serial_v2的问题 主控芯片:STM32F407ZG 1. 适配问题 本项目工程一开始使用的主控是STM32L496,正常移植使用serial_v2没有问题。将工程复制下来后使用rtthread studio的修改工程-芯片型号将主控型号更改为STM32F407ZG后自动联网下载STM32F4的SDK包。如下图所示(是因为我的环境中一直没下载过这个SD...
serialX 解你忧,rt-thread 驱动篇 之 serialX 全网公测 Member arminkcommentedDec 14, 2022 那会自己恢复么 并不会,线程被挂起了。线程自己无法判断处理了。 _serial_fifo_rx函数if(recv_len<size) {/* When recv_len is less than size, rx_cpt_index is updated to the size* and rt_current_thread...
不懂的同学可以看下我之前的博客:RT-Thread零基础快速入门第1讲——新建工程 先打开对应的串口(Mode选择Asynchronous即可),然后检查GPIO是否和原理图一致。 如果不一致的话可以在右边的芯片图上面找到正确的引脚,然点击引脚,修改该引脚为串口功能,最后再回到上一步,检查一下串口是否已经修改成正确的引脚了。