在线时间21 小时
UID3684645
ST金币56
蝴蝶豆0
注册时间2020-11-18
该用户从未签到
中级会员
- 最后登录
- 2021-3-29
|
18ST金币
现在SPI通信中,接收到的数据与发出去的数据一样,详细如下,请帮忙看看该如何配置与编程?目前使用的程序如下,ID=cmd
void DACx1416_Read_ID1(void)
{
//Power-on Device
uint8_t SPICONFIG[3]={DACX1416_SPICONFIG,0x0A,0x86};
SPI1_1_NSS_Enable();
HAL_SPI_Transmit(&hspi1, SPICONFIG, 3, DACx1416_Timeout_3);
SPI1_1_NSS_Disable();
uint8_t cmd[3] = {0x81,0x00,0x00};
uint8_t ID1[3] = {0x00,0x00,0x00};
uint16_t DACX61416_ID = 0;
//0x81=23-16位,R/W读写位(1x)+DEVICEID Register 01h
SPI1_1_NSS_Enable();
/* Send the read ID command */
HAL_SPI_Transmit(&hspi1, cmd, 3, DACx1416_Timeout_3);
/* Reception of the data */
HAL_SPI_Receive(&hspi1, ID1, 3, DACx1416_Timeout_3);
SPI1_1_NSS_Disable();
printf("%x%x\n",ID1[1],ID1[2]);
DACX61416_ID = ((ID1[1] << 8) | ID1[2]) & 0xFC;
printf("%x\n",DACX61416_ID);
//if(DACX61416_ID == 0x24C || ID1[0] == 0x81)
if(DACX61416_ID == 0x24C)
{
HAL_GPIO_WritePin(VIO_1V8_2_EN_GPIO_Port, VIO_1V8_2_EN_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(VAA_VDD_5V_2_EN_GPIO_Port, VAA_VDD_5V_2_EN_Pin, GPIO_PIN_RESET);
}
}
|
|