OpenEdv-开源电子网

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

SPI与ADS1299通信

[复制链接]

15

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2014-7-16
在线时间
3 小时
发表于 2015-7-2 09:42:01 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]u8 SPI1_ReadWriteByte(u8 TxData) { u8 retry=0; while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET)//等待发送区空 { retry++; if(retry>200) return 1; //wrong } SPI_I2S_SendData(SPI1, TxData); //通过外设SPIx发送一个数据 retry=0; while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET) //检查指定的SPI标志位设置与否:接受缓存非空标志位 { retry++; if(retry>200) return 1; } return SPI_I2S_ReceiveData(SPI1); //返回通过SPIx最近接收的数据 }[/mw_shl_code]

[mw_shl_code=c,true] //write 4 register starting at address 01H(CONFIG1) CS_LOW; spi_buffer[0] = 0x41; // spi_buffer[1] = 0x03; spi_buffer[2] = 0x96; //CONFIG1, 250SPS spi_buffer[3] = 0xc0; //CONFIG2 spi_buffer[4] = 0xe0; //CONFIG3 spi_buffer[5] = 0x00; //LOFF for(i=0;i<6;i++) { while(SPI1_ReadWriteByte(spi_buffer) == 1); } CS_HIGH; //Read from 4 registers, starting at 0x01 //0x96, 0xC0, 0xE0, 0x00, //Global Settings across Channels 01h-04h(4) CS_LOW; spi_buffer[0] = 0x21; spi_buffer[1] = 0x03; for(i=0;i<2;i++) { while(SPI1_ReadWriteByte(spi_buffer) == 1); } for(i=0;i<4;i++) { reg = SPI1_ReadWriteByte(Dummy_Byte); } for(i=0;i<4;i++) printf("\r\n reg[%02x] = 0x%02x \r\n",i,reg); CS_HIGH;[/mw_shl_code]
如代码,采用例程里的SPI1_ReadWriteByte()函数,首先往四个寄存器里写值,然后直接读取寄存器的值。可是结果不对,可能是什么原因呢?

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-7-2 21:21:30 | 显示全部楼层
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-6-5
在线时间
1 小时
发表于 2019-6-5 13:15:02 | 显示全部楼层
顶顶。。。。
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2019-7-22
在线时间
7 小时
发表于 2020-4-28 16:07:24 | 显示全部楼层
你好,不知道你是否已经完成了STM32和ADS1299的通信内容了呢?我现在也在弄这个,实在是苦恼啊。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 08:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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