大家好,小弟初来乍到,
基于STM32下做CC1100E和CC1101的驱动,根据在MSP430下的例程移植到STM32下。
小弟现在用STM32的SPI口单字节写寄存器没问题;可是一到突发模式连续读取就出现问题,连续burst写进寄存器的数,用单字节read出来都是0xF。
希望各位大侠能帮帮小弟,感激不尽!!
以下是单字节和连续写寄存器的函数:
void CC1100E_WriteReg(uint8_t addr, uint8_t value)
{
SPI_CS_ON;
while(SPI_MISO); // Wait for SO pin goes low
SPISendByte(addr);
SPISendByte(value);
SPI_CS_OFF;
}
void CC1100E_WriteBurstReg(uint8_t addr, uint8_t *buffer, uint8_t count)
{
uint8_t i=0;
SPI_CS_ON;
while(SPI_MISO); // Wait for SO pin goes low
SPISendByte(addr|WRITE_BURST);
for (i = 0; i < count; i++)
{
SPISendByte( buffer );
}
SPI_CS_OFF;
}
} |