不懂的同学可以看下我之前的博客:RT-Thread零基础快速入门第1讲——新建工程 先打开对应的串口(Mode选择Asynchronous即可),然后检查GPIO是否和原理图一致。 如果不一致的话可以在右边的芯片图上面找到正确的引脚,然点击引脚,修改该引脚为串口功能,最后再回到上一步,检查一下串口是否已经修改成正确的引脚了。 提示:使...
1/**2* The object type can be one of the follows with specific3* macros enabled:4* - Thread5* - Semaphore6* - Mutex7* - Event8* - MailBox9* - MessageQueue10* - MemHeap11* - MemPool12* - Device13* - Timer14* - Module15* - Unknown16* - Static17*/18enumrt_object_class_type...
if (thread != RT_NULL) { rt_thread_startup(thread); } else { ret = RT_ERROR; } return ret; } /导出到 msh 命令列表中 */ MSH_CMD_EXPORT(uart_sample, uart device sample); 测试,可以看到串口0发送了信息”hello RT-Thread!”,用串口调试助手进行数据发送,可以看到串口0接收到数据并且返回数据。
1.在STM32CubeMX生成的usart.c中添加以下两句代码,将USART初始化函数使用自动初始化的宏添加到RTT中进行初始化,当然你也可以直接在main.c调用初始化,看个人习惯。 2.新建一个usart_test文件,在里面编写串口接收的相关的代码,创建串口接收线程、消息队列,并使用MSH_CMD_EXPORT()将函数注册到FinSH中。 3.USART线程 ...
(1) 配置 shell 使用串口 1:RT-Thread Kernel —-> Kernel Device Object —-> 修改 the device name for console 为 uart1。 (2) 勾选 Using UART1、Using UART2,选择芯片型号为 STM32F407ZG,时钟源为外部 8MHz,如图所示: 输入命令 scons —target=mdk5 -s 生成 keil 工程,打开工程后先修改 MCU ...
1.创建虚拟串口设备: 为每个源设备创建一个虚拟串口设备,并将其注册到 RT-Thread 系统中。 2.打开目标设备: 打开目标串口设备,并设置其波特率和接收/发送完成回调函数。 3.数据转发: 从目标设备读取数据,并将其写入到所有源设备的发送缓冲区中;从源设备的发送缓冲区读取数据,并将其写入到目标设备的发送缓冲区中...
一、硬件环境 阿波罗USB虚拟串口(USB_SLAVE),硬件连接上为VCC、GND、USB_D+(PA11)、USB_D-(PA12);其中USB的电源需要经过PCF8574进行控制,但经过实际测试,该芯片USB_PWR默认即为高电平输出; 二、软件配置 ①、创建RT-Thread工程; ②、打开
三、串口2应用实例 总结 新的官方bsp已经提供串口2的驱动,直接通过rt thread studio图形化配置界面打开uart2的开关,就可以直接使用。此文仅供学习。 AB32VG1开发板使用的芯片是AB5301A,这个芯片的公开的资料相对比较少。官方公开的资料主要是以下3个:
上一节讲到了在 RT-Thread 串口驱动框架中,中断方式以及轮询方式的配置。这一节继续讨论 DMA 的配置。 同样的,代码可以在github找到。 初始化 DMA 在stm32_uart_get_config 中如果加入了使用 DMA 的宏,会获得 DMA 的配置信息。 #ifdef BSP_UART1_RX_USING_DMAuart_obj[UART1_INDEX].uart_dma_flag|=RT_...
找到大概70行 可以看到 rt_kprintf 打印数据的串口已经在此处定义 然后我需要使用的串口设备 例如 uart4 则仿照上述 根据原理图引脚加如上宏定义 其中串口号和引脚要根据原理图来定 此处实例为UART4 主函数中代码如下,以下做详细解读 1.查找设备 随后回到我们需要使用串口的.c文件 ...