小学生
最后登录1970-1-1
在线时间 小时
注册时间2018-1-16
|
例程使用的是Hal库操作DAC芯片,现在要转移到标准库。
SPI_I2S_SendData三连发实现不了HAL_SPI_Transmit的效果,不能正常输出电压。
哪里有问题呢?
- void AD5689_SetRegisterValue(uint8_t command,DACHANNEL channel,uint16_t data)
- {
- uint8_t reg[3]={0};
- reg[0]=(command<<4)|channel;
- reg[1]=(data>>8)&0xFF;
- reg[2]=data&0xFF;
- AD5689_SYNC_LOW();
- delay();
- // while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE) == RESET);
- // SPI_I2S_SendData(AD5689_SPIx, reg[0]);
- // while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE) == RESET);
- // SPI_I2S_SendData(AD5689_SPIx, reg[1]);
- // while(SPI_I2S_GetFlagStatus(SPI2,SPI_I2S_FLAG_TXE) == RESET);
- // SPI_I2S_SendData(AD5689_SPIx, reg[2]);
- HAL_SPI_Transmit(&hspi_AD5689,reg,3,0xF);
-
- delay();
- AD5689_SYNC_HIGH();
- }
复制代码
|
|