工具/软件:
您好!
我正在使用 EVAL DAC 80502板创建一个小软件来测试 DAC80501。
我由外部 STM32电路板控制、因为 TI 提供的软件不起作用。
我已经连接了设置、其中棕色电缆是 CLK、绿色 MOSI、蓝色 CS 和白色 GND。
我还通过香蕉电缆为电路板提供5V 电压(或我已测试过这两者)。
注意:
- J5用于实现 SPI 通信(引脚4至 GND)
- J11的引脚2连接到 clk
- J8的引脚2连接到 Mosi
- J13的右侧用于驱动 CS
这是我的代码、非常简单:
uint8_t disableRef[3] = {0x03, 0x01, 0x00}; uint8_t data1[3] = {0x08, 0xFF, 0xFF}; //DAC DATA FULL uint8_t data2[3] = {0x08, 0x00, 0x00}; //NO DATA // SEE IF I CAN DEACTIVATE THE INTERNAL REFERENCE HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, disableRef, sizeof(disableRef), 1000); HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_SET); while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ //MAKE A SQUARE WAVE HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, data1, sizeof(data1), 1000); HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_SET); HAL_Delay(1); HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, data2, sizeof(data2), 1000); HAL_GPIO_WritePin(SPI_1_CS_GPIO_Port,SPI_1_CS_Pin, GPIO_PIN_SET); HAL_Delay(1); }
我已在未停用内部基准的情况下测试此代码(我的意思是、使用芯片的2.5V 电压、不提供外部基准)。 然而,它没有显示任何东西。
然后、我想测试器件是否正在响应、因此我通过将1设置为 REF_DIV 比特来测试是否可以停用内部基准:
uint8_t disableRef[3] = {0x03, 0x01, 0x00};
但是、电压基准会停止...
我 还用示波器和示例附加了 SPI 传输的一些数字捕获:

如您所见,一切似乎都正常工作,然而,我不知道为什么芯片没有响应... 它可能会损坏吗?