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.

[参考译文] 如何在 F28054x 和 F28054M 之间设置串行通信

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/566771/how-to-set-up-serial-communication-between-f28054x-and-f28054m

主题中讨论的其他器件:MOTORWARE

如何修改 lab13c 以使两个 F28054x 彼此通信?

我是否需要编写单独的 sci.c 文件或将代码直接添加到 hal.c 以启用 SCIRXDC 和 SCITDC?

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

    [引用用户="Qiang Guo"]如何修改 lab13c 以使两个 F2854x 相互通信?

    F2854x? 这是一个正在开发的新器件、还是提到的器件型号错误?

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

    如果您希望将 SCI 模块集成到与其他外设的包含方式类似的 Motorware 实验中、可通过以下步骤来完成:

    • 将 sci.c 源文件添加到 Motorware 项目中
    • 将 SCI_init()函数添加到 hal.c 中的 HAL_init()函数
    • 将 sciXHandle 定义添加到 hal_obj.h 中的 HAL_Obj (其中 X 是 SCI-A 或 SCI-B 模块的 A 或 B)
    • 在 hal.h 中添加 HAL_enableSciInts 函数定义
    • 在 hal.h 中添加 sciXRxISR 或 sciXTxISR 函数定义
    • 将 sciX ISR 矢量添加到 hal.h 中的 HAL_initIntVectorTable()
    • 在 hal.h 中添加 HAL_setupSciX 函数定义
    • 在 hal.c 中添加 HAL_setupSciX 源
    • 将 hal.c 中 HAL_setupPeripheralClks ()中的 CLK_disableSciaClock()更改为 CLK_enableSciaClock()
    • 在 hal.c 中添加 HAL_enableSciInts 函数
    • 在 proj_lab13.c 中添加 sciXRxISR 或 sciXTxISR 函数
    • 调用 proj_lab13.c 中的 HAL_enableSciInts()函数

    这应该是一个相当详尽的指南、说明如何以与其他外设调用相同的方式将 SCI 导入 Motorware 框架

    肖恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Sean、
    非常感谢您的回复!
    但是我可以从何处获取 sci.c 源文件? 是在 contlSUITE 中被称为 F2805x_Sci.c 的函数、如果 ti 的 F2805x_Sci.c、那么上面提到的所有函数都不存在。
    再次感谢!

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

    C:\ti\motorware\motorware_1_01_00_17\sw\drivers\sci\src\32b\F28x\f2805x

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Sean! 这是快速回复。 我要看一下。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我完成了您的步骤。

    在 I 设置 SCI 后、

    void HAL_setupSCI (HAL_Handle handle)
    {
    HAL_Obj * obj =(HAL_Obj *) handle;
    
    SCI_enableRx (obj->sciHandle);
    
    SCI_enableTx (obj->sciHandle);
    
    SCI_setBaudRate (obj->sciHandle、SCI_budRate_38_4_kBaud);
    
    SCI_setCharLength (obj->sciHandle、SCI_CharLength _8_Bits);
    
    SCI_setNumStopBits (obj->sciHandle、SCI_NumStopBits _1);
    
    SCI_ENABLE (obj->sciHandle);
    
    return;
    }// HAL_setupSCI()函数结束
    

    我还将 GPIO 的 Mode 设置为以下值

     // RX-S
     GPIO_setMode (obj->gpioHandle、GPIO_Number_28、GPIO_28_Mode_SCIRXDA);
     // TX-S
     GPIO_setMode (obj->gpioHandle、GPIO_Number_29、GPIO_29_Mode_SCITXDA); 

    我添加了函数定义并初始化了 SCI、并且在我运行调试模式后未生成错误、但我的电机未旋转、未显示错误

    设置 SCI 不会影响我的 lab13c 函数、不确定是什么导致了这个问题

    我是否错过了重要的内容?

    感谢你的帮助!

x 出现错误。请重试或与管理员联系。