HI, Dialog 我的设计方案要用到 通过 DA14586的spi 访问外部的AD7091芯片。但是一直没有成功。在之前的DA14583上我们使用你们的 SPI访问ADXL362都是正常的。现在在你们的DA14586上也不可以了。但是访问DA14586内部的FLASH都是正常的,示波器也能看到信号。 我的设计代码如下:
78 uint16_t Test_Read_AD7091R(void) { 79 80 static uint8_t pReadData[32] = {0}; 81 uint16_t bytesNumber = 2; 82 unsigned char cmd[2] = {0x0b, 0x02}; 83 84 spi_set_bitmode(SPI_MODE_8BIT); 85 spi_cs_low(&cs_pad_param); 86 for (int i=0; i < 2; i++) { 87 spi_access(cmd[i]); 88 } 89 90 for (int i=0; i < 1; i++) { 91 pReadData[i] = (uint8_t)spi_access(0x0000); 92 } 93 94 spi_cs_high(&cs_pad_param); 95 96 pr_bug("test: 0x%x 0x%x 0x%x 0x%x\n", pReadData[0], pReadData[1], pReadData[2], pReadData[3]);
打印的结果如下: [200935] test: 0xff 0x0 0x0 0x0
示波器抓取 CS(P01)的信号正常。其他的 DO DI SLK 都不正常。
想请教你们,DA14586的SPI是不是做的什么变动,还是我们的设计有什么问题。以上SPI代码 在 DA14583上都能正常工作。 谢谢。
请问你们在引脚初始化的部分是怎么配置的?
尝试一下使用其他的引脚是否会有同样的问题?