OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6906|回复: 5

stm8s005 SPI通信att7053BU

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-5-6
在线时间
7 小时
发表于 2019-6-1 16:30:11 | 显示全部楼层 |阅读模式

硬件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);  
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-5-6
在线时间
7 小时
 楼主| 发表于 2019-6-1 16:31:25 | 显示全部楼层
对ATT7053BU写进去,示波器看了,数据正常,但是读出来有的值是对的,有些读出来不正常
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2019-5-6
在线时间
7 小时
 楼主| 发表于 2019-6-1 17:32:34 | 显示全部楼层
问题自己解决了,文档寄存器有要求
回复 支持 反对

使用道具 举报

10

主题

232

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2269
金钱
2269
注册时间
2012-8-24
在线时间
246 小时
发表于 2020-10-28 15:38:41 | 显示全部楼层
楼主,能否详细说明一下吗?
单片机技术交流请加127034610
回复 支持 反对

使用道具 举报

10

主题

232

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2269
金钱
2269
注册时间
2012-8-24
在线时间
246 小时
发表于 2020-10-28 15:39:06 | 显示全部楼层
我想采集三路是电压应该怎么做呀
单片机技术交流请加127034610
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-7-30
在线时间
0 小时
发表于 2021-5-18 17:06:39 | 显示全部楼层
您好,我现在也遇到了一些问题,能向您请教一下嘛?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 14:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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