OpenEdv-开源电子网

标题: stm8s005 SPI通信att7053BU [打印本页]

作者: Jerry123456    时间: 2019-6-1 16:30
标题: stm8s005 SPI通信att7053BU

硬件SPI读寄存器值,请问这读函数有问题吗

uint8_t WriteByte(uint8_t Data)
{
  while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET){ }
  SPI_SendData(Data);
  while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET){ }
  return SPI_ReceiveData();
}

uint8_t ReadByte(void)
{
  while (SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET){}
  SPI_SendData(0xff);
  while(SPI_GetFlagStatus(SPI_FLAG_BSY) == SET){}
  while (SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET) { }
  return SPI_ReceiveData();
}

void Read_ID(uint8_t address)
{
   uint8_t r1,r2,r3;
   GPIO_WriteLow(GPIOE, GPIO_PIN_5);
   WriteByte(address);
   r1 = ReadByte();
   r2 = ReadByte();
   r3 =  ReadByte();

  printf("\n\r Read = %x %x %x \n\r",r1,r2,r3); //53
  GPIO_WriteHigh(GPIOE, GPIO_PIN_5);  
}


作者: Jerry123456    时间: 2019-6-1 16:31
对ATT7053BU写进去,示波器看了,数据正常,但是读出来有的值是对的,有些读出来不正常
作者: Jerry123456    时间: 2019-6-1 17:32
问题自己解决了,文档寄存器有要求
作者: liushiming82    时间: 2020-10-28 15:38
楼主,能否详细说明一下吗?
作者: liushiming82    时间: 2020-10-28 15:39
我想采集三路是电压应该怎么做呀
作者: xxxx11    时间: 2021-5-18 17:06
您好,我现在也遇到了一些问题,能向您请教一下嘛?




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4