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.

[参考译文] TMS320F28069M:有关 C 中 motorware 架构的说明

Guru**** 2471920 points
Other Parts Discussed in Thread: MOTORWARE, DRV8301

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1477149/tms320f28069m-description-for-architecture-of-motorware-in-c

器件型号:TMS320F28069M
主题中讨论的其他器件:MOTORWAREDRV8301

工具与软件:

您好、  中为 Motoroware 提供的有关 C 代码架构的任何文档或说明吗?  

我正在寻找清晰描述代码每一个子功能的文档。 F.例如 然后是 HAL_Handle 如何配置 MCU 引脚...  

提前感谢。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您可以查看  《InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南》(https://www.ti.com/lit/spruhj1)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的答复。 我已经看到过该描述。 但 MotorWare 代码中非常复杂的主体是问题。 大量的指针正在使用、这会令人困惑。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于实例、我想知道以下代码的目的是什么:

    typedef 结构_HAL_Obj_* HAL_handle;
    "HAL_Handle"是否定义为指向 _HAL_Obj_的指针?  
    如果是,那么 开头的"typedef struct "的反弹是什么呢? 如果查看代码、会看到另一个"typedef 结构"已在前面几行中定义。
      一个代码中有两个"typedef 结构_HAL_Obj_"。  
    typedef 结构_HAL_Obj_
     adc_handle adcHandle  ;    //!< ADC 句柄

     clk_handle clkHandle  ;    //!<时钟句柄
     
     cpu_handle cpuHandle  ;    //!< CPU 句柄

     flash_handle flashHandle ;   //!<闪存句柄

     GPIO_Handle gpioHandle ;   //!< GPIO 句柄

     offset_handle offsetHandle_i[3] //!<当前偏移估算器的句柄
     offset_Obj   offset_i[3]    //!<当前偏移对象

     offsetHandle_V[3] //!<电压偏移估算器的句柄
     OFFSET_Obj OFFSET_V[3]      //!<电压偏移对象

     osc_handle oscHandle  ;    //!<振荡器句柄

     PIE_Handle  压句柄;    //

     pll_handle pllHandle  ;    //!< PLL handle

     PWM_Handle pwmHandle[3]    //

     PWMDAC_Handle pwmDacHandle[3] //

     PWR_Handle pwrHandle  ;    //

     Timer_Handle timerHandle[3]  //

     WDOG_Handle wdogHandle ;   //!<看门狗手柄

     HAL_AdcData_t adcBias;      //!< ADC 偏置

     _iq      current_sf;   //!<电流换算系数 amps_pu/cnt

     _iq      voltage_sf;   //!<电压比例因子 voltage_pu/cnt

     uint_least8_t numCurrentSensors;//!<电流传感器的数量
     uint_least8_t numVoltageSensors;//!<电压传感器的数量

     spi_handle spiAhandle  ;   //!< SPI 句柄
     spi_handle spiBHandle  ;   //!< SPI 句柄

     DRV8301_Handle drv8301Handle; //!< drv8301接口句柄
     DRV8301_Obj  drv8301;     //!< drv8301接口对象

    #ifdef Qep
     QEP_Handle   qepHandle[2]    //!< QEP 句柄
    #endif

    } HAL_Obj;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否将"HAL_Handle"定义为指向 _HAL_Obj_的指针?  [报价]

    是、因为可以清除链接对象的源代码。

    [报价 userid="643195" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1477149/tms320f28069m-description-for-architecture-of-motorware-in-c/5674120 #5674120"]
    如果是,那么 开头的"typedef struct "的反弹是什么呢? 如果查看代码、会看到另一个"typedef 结构"已在前面几行中定义。
      一个代码中有两个"typedef 结构_HAL_Obj_"。  
    [报价]

    它与结构对象的典型定义相同。 您可以在 C 语言教科书中找到有关这方面的详细说明。