zoukankan      html  css  js  c++  java
  • rt-thread之串口设备的配置流程

    @2019-01-30

    【小记】

    > rt-thread 工程启动之后先是进入函数 rtthread_startup 做一些系统运行前的基础工作,主要有:

      * 板级硬件初始化

      * 系统定时器初始化

      * 系统调度器初始化

      * 创建初始化线程  (组件初始化)

      * 定时器线程初始化

      * 空闲线程初始化

      * 系统调度器工作

    > 串口设备的配置发生在板级硬件初始化中

      串口设备配置函数中遍历要使用的串口设备,做一些工作参数配置和设备接口实现并注册设备 (但在此不初始化设备或不使能设备)

      具体配置过程:

      1. 注册串口设备,以便 find

        rt_hw_board_init() ---> rt_hw_usart_init() ---> rt_hw_serial_register() ---> rt_device_register() 

      2. 开启串口时钟及外设管脚,配置串口工作参数

        > 作为输出终端

        rt_components_board_init() ---> rt_console_set_device() ---> rt_device_open() ---> device_init() ---> serial->ops->configure() ---> stm32_configure() ---> HAL_UART_Init() ---> HAL_UART_MspInit() , UART_setConfig()

        > 作为驱动 ESP8266

        rt_components_init() ---> at_socket_device_init() ---> at_client_init() ---> rt_device_open() ---> device_init() ---> serial->ops->configure() ---> stm32_configure() ---> HAL_UART_Init() ---> HAL_UART_MspInit() , UART_setConfig()

  • 相关阅读:
    清除浮动float
    overflow属性
    轮播图的小圆圈鼠标移上去变样式
    大banner居中
    网站logo
    VS里面设置类似于#1或者#2之类的程序快捷输入
    优先级运算简单顺口溜
    对2的次幂求模
    VS2019离线安装
    unity ContentSizeFitter设置verticalFit立即生效
  • 原文地址:https://www.cnblogs.com/skullboyer/p/10338312.html
Copyright © 2011-2022 走看看