查看: 2597|回复: 2

[求助] KSDK 程序库g_uartRxTxIrqId[UART_INSTANCE_COUNT]

[复制链接]
  • TA的每日心情
    难过
    2017-2-9 09:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    143
    最后登录
    2018-6-29
    发表于 2017-2-23 17:21:07 | 显示全部楼层 |阅读模式
    本帖最后由 moli666 于 2017-2-24 09:01 编辑

    KSDk1.3中库函数 定义很多理解不透。肯请各位大神指教。原谅我C的水平太洼。。。

    #define UART_INSTANCE_COUNT (2U)

    /** UART - Register Layout Typedef */
    typedef struct {
      __IO uint8_t BDH;                                /**< UART Baud Rate Registers: High, offset: 0x0 */
      __IO uint8_t BDL;                                /**< UART Baud Rate Registers: Low, offset: 0x1 */
      __IO uint8_t C1;                                 /**< UART Control Register 1, offset: 0x2 */
      __IO uint8_t C2;                                 /**< UART Control Register 2, offset: 0x3 */
      __I  uint8_t S1;                                 /**< UART Status Register 1, offset: 0x4 */
      __IO uint8_t S2;                                 /**< UART Status Register 2, offset: 0x5 */
      __IO uint8_t C3;                                 /**< UART Control Register 3, offset: 0x6 */
      __IO uint8_t D;                                  /**< UART Data Register, offset: 0x7 */
      __IO uint8_t MA1;                                /**< UART Match Address Registers 1, offset: 0x8 */
      __IO uint8_t MA2;                                /**< UART Match Address Registers 2, offset: 0x9 */
      __IO uint8_t C4;                                 /**< UART Control Register 4, offset: 0xA */
      __IO uint8_t C5;                                 /**< UART Control Register 5, offset: 0xB */
      __I  uint8_t ED;                                 /**< UART Extended Data Register, offset: 0xC */
    } UART_Type, *UART_MemMapPtr;

    /*! @brief Table of base addresses for UART instances. */
    extern UART_Type * const g_uartBase[UART_INSTANCE_COUNT];

    UART_Type * base = g_uartBase[instance];

    请问这个基地址表(Table of base addresses )是怎么回事??在哪里能看?

    我知道答案 目前已有2人回答
    有所收获
    回复

    使用道具 举报

  • TA的每日心情
    难过
    2017-2-9 09:58
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    9

    主题

    28

    帖子

    0

    注册会员

    Rank: 2

    积分
    143
    最后登录
    2018-6-29
     楼主| 发表于 2017-2-24 13:53:07 | 显示全部楼层
    终于找到基地址的问题所在了。自己回答吧。

    在"fsl_uart_driver.h"定义了:
    /* Table of base addresses for uart instances. */
    extern UART_Type * const g_uartBase[UART_INSTANCE_COUNT];


    在fsl_uart_common.c中 进行了结构体指针赋值:
    /* Table of base addresses for uart instances. */
    UART_Type * const g_uartBase[UART_INSTANCE_COUNT] = UART_BASE_PTRS;






    有所收获
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24866
    最后登录
    2025-7-18
    发表于 2017-3-1 09:54:14 | 显示全部楼层
    这个地址表指向的就是实际芯片UART模块所在的基地址,具体地址也可以在参考手册中查看。
    另外, 楼主如果使用KSDK代码,建议你使用我们官方的KSDK2.0代码,可以在这个链接下载:
    http://kex.nxp.com/en/welcome
    点击build a sdk,然后选择对应的板子或者芯片,生成并且下载。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-19 09:40 , Processed in 0.088834 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表