标签:style blog http color 使用 文件 数据 io
1 #define RT_USING_UART1 2 #define RT_USING_UART2 3 #define RT_USING_UART3
宏定义在 Board.h里面,呵呵,我又觉得这个名字是mcu.h对我来说会更习惯些。。
宏定义好了,然后串口怎么输出数据呢?在RTT里面调用设备驱动的接口函数rt_device_write就可以实现串口的打印了,具体我们以控RTT的控制台应用(finsh)为例进行下说明。1 #ifdef RT_USING_CONSOLE 2 rt_console_set_device(CONSOLE_DEVICE); 3 #endif
这是个控制台初始化函数,关于CONSOLE_DEVICE 有在Board.h 里面有如下定义,意思就是定义控制台通过哪个串口和外界通讯,我们板子是窗口1,所以#define STM32_CONSOLE_USART 1 ,同时RT_USING_CONSOLE 预编译宏定义一定要记得打开。
1 #define STM32_CONSOLE_USART 1 2 #if STM32_CONSOLE_USART == 0 3 #define CONSOLE_DEVICE "no" 4 #elif STM32_CONSOLE_USART == 1 5 #define CONSOLE_DEVICE "uart1" 6 #elif STM32_CONSOLE_USART == 2 7 #define CONSOLE_DEVICE "uart2" 8 #elif STM32_CONSOLE_USART == 3 9 #define CONSOLE_DEVICE "uart3" 10 #endif
这个控制台是怎么用的呢?主要是通过rt_kprintf函数调用的,类似于VC中的printf函数,printf通过电脑屏幕显示,rt_kprintf是通过串口打印出来,在电脑装个串口调试助手就可以显示出来了。在rt_kprintf函数中可以看到函数 rt_device_write(_console_device, 0, rt_log_buf, length); 其中_console_device就是在之前rt_console_set_device设定好的串口对应的设备的句柄(暂时称之为句柄),调用rt_device_write数据就通过串口发出去了。
四轴飞行器1.2.2 RT-Thread 串口,布布扣,bubuko.com
标签:style blog http color 使用 文件 数据 io
原文地址:http://www.cnblogs.com/adfjhg/p/3872164.html