由于国庆节假期,帖子审批以及工程师回复将会有所延迟,敬请谅解

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP432E411Y: SDK里面的例程使用的都是Driver library,但是找不到库的文档

Part Number: MSP432E411Y
Other Parts Discussed in Thread: C2000WARE

尊敬的工程师:

您好,SDK里面的例程使用的都是Driver library,但是找不到库的文档,只能找到网络相关的NDK驱动的文档,官方是不是对其它外设现在不推荐使用那个驱动了,是不是推荐使用寄存器直接配置,非常感谢!

祝您好心情!

  • 有相关的API文档,您可以看一下

    https://dev.ti.com/tirex/explore/node?node=AO0bR6IrMk-OFXsBS6u2fg__J4.hfJy__LATEST 

    是不是推荐使用寄存器直接配置

    就我所知,是否使用driverlib主要是取决于客户的实际需要

  • Yang工,

    您好,非常感谢您的解答,其实我在是否使用驱动的问题上一直很纠结,我在使用C2000系列的时候就不会使用驱动,我感觉寄存器配置起来挺简单的,驱动还得看手册,而且感觉不够灵活。

    但是我们现在开始做另外一个产品,使用MSP432E4,这时候就要用到网络功能,由于对网络是熟悉,所以感觉使用驱动倒是挺好用的。但是其他部分感觉使用驱动还是不习惯。

    但是我又担心这个芯片万一停产,使用驱动是不是比较容易移植。所以就比较纠结了。

    大部分人使用MSP432这类芯片是不是都会使用驱动,还是说复杂的外设使用驱动,简单的外设就不使用驱动了。

    非常感谢Yang工的指导,谢谢!

  • 我在使用C2000系列的时候就不会使用驱动,我感觉寄存器配置起来挺简单的,驱动还得看手册,而且感觉不够灵活

    我们有一个文档

    https://www.ti.com/lit/an/spraa85e/spraa85e.pdf 

    在该文档中比较了这2种方式:

    The C2000 Peripheral Driver Library (or Driverlib) is a set of low-level drivers for configuring memorymapped peripheral registers. The Driverlib is a more readable and portable approach than performing direct register accesses either by bit fields or the #define approach.

    The Driverlib is written in C and all source code is found within C2000Ware. It provides drivers for all peripherals and provides access to almost all functionality.

    Driverlib实际上是将以前的Bit Field的定义改为用函数去实现。比如使能某个外设,之前是往控制寄存器的某一位写1,现在是通过XXXenable(); 实现,在这个函数内部还是往使能位写1.

    因为是通过函数的方式实现,优点是不需要深入去了解寄存器的每个位是如何定义的,调用函数就可以了。缺点是函数的使用不可避免的会带来代码空间和CPU的额外的负荷。

    而且Driverlib 提供了一种更具可读性和可移植性的外设寄存器编程方法。凭借这样的可移植性可以更轻松地移植到将来的器件系列,因为即使控制位可能在寄存器内和寄存器间发生变化,功能调用也可以保持不变。

  • 非常感谢Yang工的详细解答,非常感谢解开了我们的纠结。祝您好心情

  • 很高兴能帮到您!后续有其他问题,欢迎随时发帖