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.

[参考译文] CCS/LAUNCHXL-F28027:程序在启动 XL-F28027时未运行

Guru**** 2606725 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/680374/ccs-launchxl-f28027-program-not-running-on-launch-xl--f28027

器件型号:LAUNCHXL-F28027
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

大家好、团队、

我在 F28027上开发了一个程序、并参考了发布版本 XL-f28069。

该程序成功构建并加载到 F28027的闪存中。  

问题是电机无法控制。 分配的输入输出可以正常观察。

可能是什么问题?

请指导我。

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

    您能否提供有关问题的更多详细信息。 您是否还尝试在板上运行其他示例? 请参阅适用于您的器件的 C2000Ware 中的示例。

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

    是的、我尝试从 C2000ware 运行实验项目、我可以很好地运行它。

    我可以运行我开发的程序、所有模拟输入都正常。

    但我获取了霍尔传感器输入、无法将其放在变量上。

    我可以在寄存器数据位 GPA 中看到它反映了霍尔输入的变化。

    这是我无法获取数据的补丁。

    gHall_GpioData =(~HAL_readGpio (halHandle、(GPIO_Number_e) GPIO_Number_18)
    & 0x1)<< 2;//CAP1->J10/J4_1->绿色
    gHall_GpioData +=(~HAL_readGpio (halHandle、(GPIO_Number_e) GPIO_Number_7)
    & 0x1)<< 1;//CAP2->J10/J4_2->绿色和白色
    gHall_GpioData +=(~HAL_readGpio (halHandle、(GPIO_Number_e) GPIO_Number_6)
    和0x1); //CAP3->J10/J4_3->Gray 和 white
    
    gHall_State = gHall_GpioData; 


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此、gHall_GpioData 和 gHall_state 中的值不会反映寄存器中的实际值? 您是否能够单步执行对 HAL_readGpio()函数的调用并查看它是否返回预期值?

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

    由于 GPADAT 显示的值正确、但 gHall_State 不正确、因此您的转换可能会可疑。

    您正在对返回的布尔值执行按位运算、然后对返回的布尔值执行按位运算、并对0x1执行按位运算。 我尚未测试您的代码、但我认为这是导致您出现问题的原因。 您可以尝试我的代码:

    uint16_t binaryHall = 0;
    binaryHall |= GPIO_read (obj->gpioHandle、HAL_GPIO_HALL_A)? 0:1;
    binaryHall |= GPIO_read (obj->gpioHandle、HAL_GPIO_HALL_B)? 0:2;
    binaryHall |= GPIO_read (obj->gpioHandle、HAL_GPIO_HALL_C)? 0:4;
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试将修补程序从定义的函数移动到主函数()、现在主函数反映到全局变量 gHall_GpioData。
    但我仍然不确定为什么它在我调用的函数中不起作用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的全局变量是否定义为 volatile?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否仍在寻找此问题的答案? 您使用的优化级别是什么? 正如 Rob 所问的、您的全局变量是否易失?

    惠特尼