msh

关于MSH的定义问题

发布于 2021-04-08 16:09:17
#define UART_NAME       "uart3"    /* 串口设备名称 */
static rt_device_t serial;                /* 串口设备句柄 */
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;  /* 初始化配置参数 */
int port(void)
{
    /* step1:查找串口设备 */
    serial = rt_device_find(UART_NAME);
    /* step2:修改串口配置参数 */
    config.baud_rate = BAUD_RATE_115200;        //修改波特率为 115200
    config.data_bits = DATA_BITS_8;           //数据位 8
    config.stop_bits = STOP_BITS_1;           //停止位 1
    config.bufsz     = 512;                   //修改缓冲区 buff size 为 1024
    config.parity    = PARITY_NONE;           //无奇偶校验位
    /* step3:控制串口设备。通过控制接口传入命令控制字,与控制参数 */
    rt_device_control(serial, RT_DEVICE_CTRL_CONFIG, &config);

    /* step4:打开串口设备。以中断接收及轮询发送模式打开串口设备*/
    rt_device_open(serial, RT_DEVICE_FLAG_INT_RX);
    return 0;
}
MSH_CMD_EXPORT(port, set gps init);

请问大佬们这样定义对吗?显示的错误是

(dev != RT_NULL) assertion failed at function:rt_device_control, line number:423,

先谢谢啦

查看更多

关注者
0
被浏览
91
mii
mii 2021-04-08

查看board.h uart3的引脚有没有被定义

3 个回答
flashman2002
flashman2002 2021-04-08

你的rt_device_find的结果需要判断一下,可能系统没有找到你需要的串口设备。

yangjie
yangjie 2021-04-08

需要添加 uart3 驱动:包含cubemx开启外设(hal层),以及打开 BSP_USING_UART3 RT_USING_BSP 宏(hal对接的rtt层)。

可以参考这个文档进行添加:https://gitee.com/rtthread/rt-thread/blob/gitee_master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E6%B7%BB%E5%8A%A0%E6%8C%87%E5%8D%97.md

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览