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.

LPC1227+CC2420问题,请教高手。。。

Other Parts Discussed in Thread: CC2420

下面一段程序是通过LPC1227控制CC2420发射数据的函数:

uint8_t GPIO_GetValue( uint32_t portNum, uint32_t bitPosi )

{

    switch (portNum)
    {
    case PORT0:
        if( LPC_GPIO0->PIN & (1 << bitPosi) )
        {
            value = 1;
        }
        else
        {
            value = 0;
        }
        break;

………………………………………………

}

#define CC2420_SFD            GPIO_GetValue( SFD_PORT, SFD_PIN )

void CC2420_WriteTxFifo(void)
{
    uint8_t i;
    uint8_t len;
    len = CC2420_TX_PSDU[0]>>1;

    CC2420_Command(CC2420_SFLUSHTX);
    CC2420_Command(CC2420_SFLUSHTX);

    SSP_SSEL_LOW;

    SSP_SendByte(CC2420_TXFIFO | CC2420_REG_WRITE);
    SSP_SendByte(CC2420_TX_PSDU[0]);
    for(i=0 ; i<len ; i++)
    {
        SSP_SendByte(CC2420_TX_PSDU[i+1]);
    }

    SSP_SSEL_HIGH;
}

void CC2420_TxPacket(void)

{

CC2420_Command(CC2420_SRFOFF);

CC2420_Command(CC2420_STXON);

while(!CC2420_SFD);//程序最后死在这里,如果去掉这个循环,数据发送过程用示波器测量SFD引脚有拉高再拉低的过程,但是加了这句就卡死。

while(CC2420_SFD);

}

请高手指点。。。。

我不清楚是不是LPC1227引脚值读取有误,(SFD用的是PIO2_4引脚),配置为定时器捕获功能。。。