Thread 中讨论的其他器件:Z-stack、
您好!
有两个问题需要您的帮助:
- 我们使用 SPI 接口与 CC2530进行通信、固件版本为 Z-Stack Home 1.2.2a。 我们在 I/O 引脚映射表(图1)中使用 USART 1 SPI (P0_2-P0_5)、而不是如图2所示的主引脚配置。 SRDY 引脚为 P0_6、MRDY 引脚硬接线至 SS。 但 CC2530没有任何响应。 此硬件设计是否有任何站点影响?
图1:
图2:
Z-Stack Home 1.2.2a 中的 ZNP_SPI.c 文件已修改如下:
#define NP_RDYIN_BIT BV (2)
#define NP_RDYIn P0_2
#define NP_RDYOut P0_6
#define NP_RDYOUT_BIT BV (6)
空 npSpiInit (空)
{
IF (ZNP_CFG1_UART == znpCfg1)
{
返回;
}
/*将位顺序设置为 MSB */
U1GCR |= BV (5);
/*将 UART1 I/O 设置为 P1引脚上的替代2个位置。 *
//PERCFG |= 0x02; // U1CFG */
/*模式选择 UART1 SPI 模式作为从器件。 *
U1CSR = NP_CSR_MODE;
/*在 I/O 引脚上选择外设功能。 *
P0SEL |= 0x3C; /* SELP0_[5:2]*/
/*给 P1 UART1优先级高于 Timer3。 *
//P2SEL &=~0x20; // PRI2P1 */
/*将 RDY 设置为高电平无效。 *
NP_RDYOut = 1;
/*在 I/O 引脚上选择通用。 *
P0SEL &=~(NP_RDYIn_BIT); /* P0.2 MRDY - GPIO *
P0SEL &=~(NP_RDYOUT_BIT); /* P0.6 SRDY - GPIO *
/*选择 GPIO 方向*/
P0DIR &=~NP_RDYIN_BIT; // P0.2 MRDY - IN */
P0DIR |= NP_RDYOUT_BIT; // P0.6 SRDY - OUT *
P0INP &=~NP_RDYIN_BIT; /* MRDY 输入的上拉/下拉使能。 *
P2INP &=~BV (5); /*上拉所有 P0输入。 *
P0引脚上的下降沿触发中断。 *
PICTL |= BV (0); /* P0ICON *
/*在 MRDY 输入上触发中断。 *
P0IFG &=~NP_RDYIN_BIT;
P0IEN |= NP_RDYIn_BIT;
P0IE = 1;
dmaInit();
U1CSR |= csr_re;
}
2.我们尝试修改 SPI 硬件引脚设计、以遵循 CC2530主引脚配置、默认为 Z-Stack Home 1.2.2a。 初始过程遵循图3 (在 CC2530ZNP 接口规范.pdf 中)。 但每次都无法成功初始化 CC2530。 有时 MOSI 信号是正确的(使用示波器测量),但 CC2530没有响应。 是否有解决此问题的建议?
图3:
谢谢。


