完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 大学士鳌拜 于 2020-1-15 15:21 编辑
刚注册,没积分,站着求解答。 设备是ads1261+STM32F429ZI开发板 使用CubeMX配置的SPI5。 使用HAL_TransmitReceive(&hspi5,TxBuffer,RxBuffer,1000)进行SPI通讯。 根据手册,ads1261在power_on的时候会RESET。 第一个操作就是读取这个AD的STATUS寄存器(地址为01h),CRC关闭时RREG命令格式如下: byte1____________byte2__________byte3 发送 0x20+addr Arbitary 00h 接收 FFh Echo byte1 Register data 执行 以下代码: TxBuffer [3]={0x21,0x00,0x00}; RxBuffer[3]; HAL_TransmitReceive(&hspi5,TxBuffer,RxBuffer,1000) 完毕后RxBuffer={0xFF,0xA1,0xFF}; 如果我继续在读一次该寄存器,则RxBuffer ={0x80,0xFF,0x80}; 如果不停读下去,RxBuffer 会在{0x80,0xFF,0x80};和{0xFF,0xB0,0xFF};之间交替 结果显然是错误的! 问题: 1.Echo byte1 字面意思是字节1的回声,是不是应该是 0x20+addr ?我试了很多命令,收到的Echo byte1 都是发送命令的第一字节的高位bit置1,就像上面的0xA1 2.无论读哪个寄存器,读到的寄存器数据都是0xFF;这是为什么? 3.我认为SPI应该正常。大家是否另有见解? |
|
相关推荐
2个回答
|
|
首先保证你能够读取到ID信息,这个片子的通讯时钟不能太快
|
|
|
|
看不懂啊 英文都是什么意思
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2183 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2011 浏览 3 评论
4612 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2154 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2687 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 08:54 , Processed in 0.610199 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号