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()

  • 相关阅读:
    js炫酷效果
    程序员的执着
    [心得]docker学习笔记
    [心得笔记]多线程之间的内存可见性问题
    Docker入门
    [心得体会]jvm
    redis学习总结
    [心得]redis集群环境搭建的错误
    Linux安装mysql5.7版本
    Cent OS下安装JDK11
  • 原文地址:https://www.cnblogs.com/skullboyer/p/10338312.html
Copyright © 2011-2022 走看看