搜索
查看: 2526|回复: 1

[求助] SPI通信

[复制链接]

该用户从未签到

9

主题

14

帖子

0

蝴蝶豆

中级会员

最后登录
2021-3-29
发表于 2021-2-23 14:52:43 | 显示全部楼层 |阅读模式
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);
        }
}

SPI_2.PNG
SPI_1.PNG
SPI_3.PNG
SPI_4.PNG
回复

使用道具 举报

该用户从未签到

9

主题

14

帖子

0

蝴蝶豆

中级会员

最后登录
2021-3-29
 楼主| 发表于 2021-2-24 15:33:28 | 显示全部楼层
问题已自己解决
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-29 23:15 , Processed in 1.149035 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表