微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 困扰好久了,拿出来听听大神的建议:cc2640打开spi后,无法控制其他IO

困扰好久了,拿出来听听大神的建议:cc2640打开spi后,无法控制其他IO

时间:10-02 整理:3721RD 点击:

自己用cc2640画的板子,在调试的时候遇到下面这个问题

PIN_close(IdlPinHdl);
//spi用到了gpio 5(clk),6(mosi),7(csn),8(miso)四个IO  参数设置如下
SPI_Params ltSpiParams = {0};
SPI_init();
SPI_Params_init(&ltSpiParams);
ltSpiParams.frameFormat = SPI_POL1_PHA1;
ltSpiParams.mode = SPI_MASTER;
ltSpiParams.bitRate = 8000000;

ghSpiHdl = SPI_open(0, &ltSpiParams); //打开spi_0。我后面执行SPI_transfer(ghSpiHdl, &gtTranData),用示波器也确实抓到了时序
PinHdl = PIN_open(&PinState, PinCfg); //PIN_open之后我执行:PIN_setOutputValue,尝试拉高其他gpio,我发现它们都无法拉高。

后来,经过多次的尝试发现:只有将spi_miso分配给了其中的一个IO(0,3,8,9都可以),spi就是正确的。但与此同时,其他的gpio就无法操作;若果将spi_miso给unassigned,其他IO就正常了,但随之而来的就是spi不正确(用示波器无法抓取到了时序)

另外,PinCfg=

PINCC26XX_DIO0 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MAX, //VCC1
PINCC26XX_DIO1 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MAX, //VCC2
PINCC26XX_DIO2 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MAX, //VCC3
//PINCC26XX_DIO3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MAX,
PINCC26XX_DIO4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_PULLUP | PIN_DRVSTR_MAX, //VCC
PINCC26XX_DIO7 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_PULLUP | PIN_DRVSTR_MAX, //CS
PINCC26XX_DIO8 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MED,
PINCC26XX_DIO9 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_DRVSTR_MIN,

咩有人啊~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top