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-CC1352R1:PIN_OPEN 函数始终返回 NULL

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/755707/ccs-launchxl-cc1352r1-pin_open-function-always-return-null

器件型号:LAUNCHXL-CC1352R1

工具/软件:Code Composer Studio

PIN_Handle PincsHandle;
PIN_STATE spiPinsState;
PIN_Config * spiPins;



/*PIN_Config spiPin[]=
{ PIN_ID()
CC1352R1_LAUNCHXL_SPI0_MOSI | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull、
CC1352R1_LAUNCHXL_SPI0_CLK | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull、
CC1352R1_LAUNCHXL_SPI0_MISO | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull、
//CC1352R1_LAUNCHXL_SPI0_CSn | PIN_GPIO_OUTP_EN | PIN_GPIO_HIGH | PIN_PushPull、
PIN_TERMINATE
};*/

csPinHandle = PIN_OPEN (&spiPinsState、spiPins); 
if (csPinHandle == NULL){
while (1);// PIN_open()失败
}

PIN_ID csnPin1 = PIN_ID (CC1352R1_LAUNCHXL_SPI0_CSn);
SPI_CONTROL (SPI、SPICC26X2DMA_CMD_SET_CSn_PIN、&csnPin1);


//PIN_setOutputValue (csPinHandle、IOID_11、1);
//transmitBuffer[0]= 0x60;
spiTransaction.count = MSGSIZE;
spiTransaction.txBuf = transmitBuffer;
receivTransaction.rxBuf = spieBuffer;

transferOK = SPI_transfer (SPI、&spiTransaction);

如果(!transferOK){
// SPI 中出现错误或传输已在进行中。
while (1);
}

//PIN_setOutputValue (csPinHandle、IOID_11、0);
transmitBuffer[0]= 0x50;
transmitBuffer[1]=0x00;
spiTransaction.txBuf = transmitBuffer;
usleep (100000);
receivTransaction.rxBuf = spieBuffer;

transferOK = SPI_transfer (SPI、&spiTransaction);

//PIN_setOutputValue (csPinHandle、IOID_11、1);
SPI_transferCancel (SPI);
返回(空); 

也许引脚不可分配 ..ti 示例代码注释说。

问题是什么?

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

    您的代码中不清楚"spiPins"是否是您使用的引脚表、但我们假设是这样。 PIN_OPEN 调用不允许您分配已被另一个句柄使用的引脚。

    在这种情况下、SPI 驱动器还会尝试分配要与驱动器一起使用的 SPI 引脚。 这意味着、如果在同一引脚上调用 PIN_OPEN 之前成功调用 SPI_OPEN、则稍后的将失败。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好~
    我~您的解决方法:D