ADI 技术
直播中

梓栋

7年用户 83经验值
私信 关注
[问答]

为什么AD9958读寄存器函数时,数值一直是FEFEFEFE?

请问为什么我AD9958读寄存器函数时为什么读出来的数值一直是FEFEFEFE
  1. u8 AD9958_ReadByte(void)
  2. {
  3.         u8 i,dat=0;
  4.         CS=0;
  5.         SCLK=0;
  6.         for (i = 0;i<8;i++)
  7.         {
  8.                 SCLK = 0;
  9.                 dat|=SDIO0;
  10.                 SCLK = 1;
  11.                 dat <<= 1;
  12.         }
  13.         SCLK=0;
  14.         IO_Update();
  15.         CS=1;
  16.         return dat;
  17. }

  18. //读寄存器值
  19. u32 Read_Vau1(u8 address)
  20. {
  21.     uint32_t ret=0;
  22.     u8 add,i;         
  23.     GPIO_InitTypeDef  GPIO_InitStructure;
  24.     add=address|0x80;   
  25.     CS=1;
  26.         

  27.     AD9958_SENDBYTE(add);
  28.     //RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
  29. //GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
  30. //GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AN;
  31. //GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
  32. //GPIO_Init(GPIOA, &GPIO_InitStructure);

  33.     ret = AD9958_ReadByte();
  34.     ret<<=8;
  35.     ret = AD9958_ReadByte();
  36.     ret<<=8;
  37.     ret = AD9958_ReadByte();
  38.     ret<<=8;  
  39.     ret = AD9958_ReadByte();
  40.     CS=0;
  41.     return ret;
  42. }
  1. a=Read_Vau1(0x03);
  2. printf("%xrn",a);


回帖(1)

李泽坚

2019-1-15 13:58:11
感觉是程序问题
1 举报
  • 梓栋: 请问能帮忙看下吗?看了一天多了,实在是不知道该怎么办

更多回帖

发帖
×
20
完善资料,
赚取积分