完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
工程师,我在linux上调试ad7193,总是显示读取ID错误,
ad7192 spi0.0: 设备识别查询失败 (0x3) 我自己添加代码打印,发现读取的ID一直是0xA3。 我在该行打印的前面添加读取其它寄存器的打印,发现与datasheet都不吻合。 ad_sd_read_reg( st->sd, AD7192_REG_STAT, 1, id); //读到 状态=0.x81 ad_sd_read_reg( st->sd, AD7192_REG_MODE, 1, id); //读到 MODE=0x8 ad_sd_read_reg( st->sd, AD7192_REG_CONF, 1, id); //读到 CONF=0x61 在应用层通过/dev/spidev0.0 读取: wr_buf[0] = 0x40; //communications: read STATUS if(write(fd, wr_buf, 1) != 1) perror("Write Error"); if(read(fd, rd_buf, 1) != 1) perror("Read Error"); else printf("STATUS: 0x%02xn", rd_buf[0]); 得到是数值如下,这些数值与datasheet上基本吻合。 STATUS: 0x00 MODE: 0x08 0x00 0x60 CONFIGURATION: 0x00 0x01 0x16 ID: 0xa2 请问linux驱动中ad7192.c的打印错误可能是什么原因,排查问题? |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-7 03:14 , Processed in 0.640867 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191