最近在移植基于STM32F103C8T6的程序到stm32L151芯片;F103的程序之前是调通了的,双方可以正常通信测距,但是移植到L151上就是不行。基站或者标签 一方使用F103一方使用L151,都测过就是不对。
接收程序能够进接收中断回调处理函数,但是一直卡在 if (status_reg & SYS_STATUS_RXFCG)这句,接收失败。
把status_reg打印出来一直显示的是 :0x22800f03 或 0x6800103
1.现在不知应该如何调试,大家有没有遇到过相似情况,是如何解决的?
2.这个问题跟芯片型号是否有关?
3.跟SPI通信频率是否有关?
/*Set SPI rate to less than 3 MHz to properly perform DW1000 initialisation.*/
void spi_set_rate_low (void)
{
SPI_ChangeRate(SPI_BAUDRATEPRESCALER_16); //2.0M
}
/*Set SPI rate as close to 20 MHz as possible for optimum performances.*/
void spi_set_rate_high (void)
{
SPI_ChangeRate(SPI_BAUDRATEPRESCALER_2); //16.0M 这里最高只能设置到16M 有没有影响?
}