目录
问题汇总:
1.初始化下面的命令不能少,否则很难正常读取到数据
// Step 1: Reset
SPI1_CS_L;
ADS1256_SPI_Transfer(CMD_RESET);
SPI1_CS_H;
DELAY_US(10000); // 至少 0.1ms
// Step 2: Wakeup
SPI1_CS_L;
ADS1256_SPI_Transfer(CMD_WAKEUP);
SPI1_CS_H;
DELAY_US(1000);
2.SPI延时要足够,否则会出现数据串扰
由10改成100后数据波动和串扰问题解决,稳定读取8通道数据
// 延时宏
#define SPI_DELAY() asm(" RPT #100 || NOP")
3.软件SPI配置需要注意极性,否则出现SPI读写数据异常;