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/CC1350:cc1350

Guru**** 2538955 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/720818/ccs-cc1350-cc1350

器件型号:CC1350

工具/软件:Code Composer Studio

我在使用 CC1350 Launchpad。 我在 launchpad 上使用 SPI 接口和 SPI 库进行了应用测试。

但是从 launchpad 移到实际电路板时、我的应用似乎不起作用。在实际电路板上、我使用 的是 CC1350F128RHB 芯 片、而不是在 launchpad 上使用 RGZ 封装。

如何更改配置文件以使 SPI 正常工作? 或者是否还有其他可能解决该问题? 到目前  为止、即使是简单的驱动程序函数"slaveSpi = SPI_open (Board_SPI_slave、&spiParams);"也会给出 NULL、这意味着错误。

将配置文件从 RGZ 封装更改为 RHB 封装时、请提供帮助。 LAUNCHXL.h 文件中的引脚编号我已更改。

从(RGZ 封装):

#define CC1350_LAUNCHXL_SPI0_MISO IOID_8 // RF1.20 *
#define CC1350_LAUNCHXL_SPI0_MOSI IOID_9 // RF1.18 *
#define CC1350_LAUNCHXL_SPI0_CLK IOID_10 // RF1.16 *

更改为(RHB 封装):

#define CC1350_LAUNCHXL_SPI0_MISO IOID_10 // RF1.20 *

#define CC1350_LAUNCHXL_SPI0_MOSI IOID_7 // RF1.18 *

#define CC1350_LAUNCHXL_SPI0_CLK IOID_8 // RF1.16 *

提前感谢

Boris Shkarban

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您要将 SPI0_MOSI 分配给 IOID_7、但在 CC1350_LAUNCHXL.h 中、此 IOID_7用于 CC1350_LAUNCHXL_PIN_GLED。 您需要浏览所有 IOID 以查看是否存在冲突。

    BR

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

    谢谢 Siri、帮我研究我的问题。

    我实际上检查 了 CC1350_LAUNCHXL.h 中的所有 IOID 冲突。 请参阅下面的部分

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    #ifndef __CC1350_LAUNCHXL_Board_H__
    #define __CC1350_LAUNCHXL_Board_H__

    #ifdef __cplusplus
    extern "C"{
    #endif

    /*包括*/
    #include
    #include

    /* extern */
    extern const PIN_Config BoardGpioInitTable[];

    /*定义*/
    #define CC1350_LAUNCHXL

    /*使用通用电路板别名将引脚映射到电路板信号
    *
    *

    /*模拟功能数字输入器*/
    #define CC1350_LAUNCHXL_DIO23_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO24_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO25_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO26_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO27_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO28_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO29_ANALOG PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO30_ANALOG PIN_UNLOADD

    /*数字 IO */
    #define CC1350_LAUNCHXL_DIO0 IOID_0
    #define CC1350_LAUNCHXL_DIO1_RF_SUB1GHZ IOID_1
    #define CC1350_LAUNCHXL_DIO12 IOID_12
    #define CC1350_LAUNCHXL_DIO15 PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO16_TDO PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO17_TDI PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO21 PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO22 PIN_UNLOADD
    #define CC1350_LAUNCHXL_DIO30_RF_POWER PIN_Unassigned

    /*离散输入*/
    #define CC1350_LAUNCHXL_PIN_BTN1 PIN_Unassigned
    #define CC1350_LAUNCHXL_PIN_BTN2 PIN_Unassigned


    /* GPIO */
    #define CC1350_LAUNCHXL_GPIO_LED_ON 1.
    #define CC1350_LAUNCHXL_GPIO_LED_OFF 0

    /* I2C */
    #define CC1350_LAUNCHXL_I2C0_SCL0 PIN_Unassigned
    #define CC1350_LAUNCHXL_I2C0_SDA0 PIN_Unassigned


    /* LED */
    #define CC1350_LAUNCHXL_PIN_LED_ON 1.
    #define CC1350_LAUNCHXL_PIN_LED_OFF 0
    #define CC1350_LAUNCHXL_PIN_RLED PIN_UNLOAD
    #define CC1350_LAUNCHXL_PIN_GLED PIN_UNLOAD

    /* PWM 输出*/
    #define CC1350_LAUNCHXL_PWMPIN0 CC1350_LAUNCHXL_PIN_RLED
    #define CC1350_LAUNCHXL_PWMPIN1 CC1350_LAUNCHXL_PIN_GLED
    #define CC1350_LAUNCHXL_PWMPIN2 PIN_UNLOAD
    #define CC1350_LAUNCHXL_PWMPIN3 PIN_UNLOAD
    #define CC1350_LAUNCHXL_PWMPIN4 PIN_UNLOAD
    #define CC1350_LAUNCHXL_PWMPIN5 PIN_UNLOAD
    #define CC1350_LAUNCHXL_PWMPIN6 PIN_UNLOAD
    #define CC1350_LAUNCHXL_PWMPIN7 PIN_UNLOAD

    /* SPI */
    #define CC1350_LAUNCHXL_SPI_FLASH_CS PIN_UNLOAD
    #define CC1350_LAUNCHXL_FLASH_CS_ON 0
    #define CC1350_LAUNCHXL_FLASH_OFF 1.

    /* SPI 板*/
    #define CC1350_LAUNCHXL_SPI0_MISO IOID_10 // RF1.20 *
    #define CC1350_LAUNCHXL_SPI0_MOSI IOID_7 // RF1.18 *
    #define CC1350_LAUNCHXL_SPI0_CLK IOID_8 // RF1.16 *
    #define CC1350_LAUNCHXL_SPI0_CSn PIN_UNLOAD
    #define CC1350_LAUNCHXL_SPI1_MISO PIN_UNLOADed
    #define CC1350_LAUNCHXL_SPI1_MOSI PIN_Unassigned
    #define CC1350_LAUNCHXL_SPI1_CLK PIN_UNLOADD
    #define CC1350_LAUNCHXL_SPI1_CSn PIN_UNLOAD

    /* UART 板*/
    #define CC1350_LAUNCHXL_UART_RX IOID_4 // RXD *
    #define CC1350_LAUNCHXL_UART_TX IOID_3 // TXD *
    #define CC1350_LAUNCHXL_UART_CTS IOID_19 // CTS *
    #define CC1350_LAUNCHXL_UART_RTS IOID_18 /* RTS *

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    仍尝试分配 SPI 参数:

    SPI_Params_init (&spiParams);
    spiParams.frameFormat = SPI_POL1_PHA1;
    spiParams.mode = SPI_SLAVE;
    spiParams.transferCallbackFxn = transferCompleteFxn;
    spiParams.transferMode = SPI_MODE_CALLACK;
    slaveSpi = SPI_open (Board_SPI_slave、&spiParams);

    if (slaveSpi == NULL){
    Display_printf (display、0、0、"初始化从器件 SPI\n"时出错);
    while (1);

    否则{
    display_printf (display、0、0、"已初始化从器件 SPI \n");

    给出错误("初始化从器件 SPI\n"时出错)

    在 LaunchPad 开发套件上、一切正常。

    我想知道  SPI_open (Board_SPI_SLAVE、&spiParams)中的参数 Board_SPI_SLAVE 意味着什么以及应该将其分配给哪个值???

    Boris

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

    Board_SPI_SLAVE 是 SPI 对象索引、用于选择要使用的 SPI 硬件。 在 CC1350_LAUNCHXL-[c/h]文件中、如何设置 SPI 对象和枚举?

    如果您要将 SPICC26XXDMA.c 驱动程序文件添加到项目中并在调试时进入 SPI_open 函数、您能否找到获取空句柄的原因?

    唯一真正的原因是 SPI 对象已打开(假设情况并非如此、因为它在 LP 上工作)、如果您在 PIN 分配中遇到错误、最终会导致引脚冲突。

    您是否正在使用任何其他驱动程序、例如 GPIO 驱动程序? 是否在 SPI_open()之前调用 SPI_init()?