完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
网上的IIC案例比较多,就试验IIC。不失所望,找到了一个可以直接用到STM32f103的demo,并且读到了值。
于是,把自己的代码仿照着demo修改,发现时序思路是一样的,除了延时我修改了些,但copy demo之后,用自己的程序下载,还是不能读。 再把我的主函数代码,放到demo里,却可以读。 鼓捣了之后,暂且发现了: bmp280在重新烧写程序之后必须重新上电,但如果是用复位,这会使得CSB有低电平的情况,IIC就undefined 。(datasheet里是有说明iic时c***绝对不能有低电平) 如果不连CSB和SDO脚,是可以按复位键的。这就说明,bmp280内部是有上拉和下拉的。 请教的问题: 我在刚开始用SPI时,也是一直都不出值,网友给的驱动也跑不了。请问,在用SPI读取时,需要注意的是什么?类似于上面这种,时序思路是对的,但确实致命的点。多谢多谢。 |
|
相关推荐
9个回答
|
|
好好研读手册,应该是你程序的问题。可以参考我的。提供有IIC和SPI两种通信方式,还提供了对应程序的接线原理图文件。链接:https://bbs.elecfans.com/forum.p ... =1502675&extra=
最佳答案
|
|
|
|
问题帖记得下次选择“问答”类型哦
|
|
|
|
蓝剑威 发表于 2018-1-3 22:23 大佬,我用了你的程序。IIC成功读到值,SPI没有读到(id也没读出)。这说明是硬件电路的问题了吧。。。 另外,有句程序:我从 p_bmp280->BMP280_BUS_READ_FUNC(……) 指到: #define BMP280_RD_FUNC_PTR s8 (*bus_read)(u8, u8, u8 *, u8) 但(*bus_read) 没有找到实现的方法。 请问:是结构上的技巧么?还是? |
|
|
|
蓝剑威 发表于 2018-1-3 22:23 大佬,我用了你的程序。IIC成功读到值,SPI没有读到(id也没读出)。这说明是硬件电路的问题了吧。。。 另外,有句程序:我从 p_bmp280->BMP280_BUS_READ_FUNC(……) 指到: #define BMP280_RD_FUNC_PTR s8 (*bus_read)(u8, u8, u8 *, u8) 但(*bus_read) 没有找到实现的方法。 请问:是结构上的技巧么?还是? |
|
|
|
有的,你要了解程序的一个流程就知道了。 |
|
|
|
dddddddddddddddddddddddddddddddddddd
|
|
|
|
SPI怎么读取啊,请各位指教
|
|
|
|
可以把程序发给我吗?1627986719@qq.com 谢谢
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
hal库中i2c卡死在HAL_I2C_Master_Transmit
815 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1360 浏览 1 评论
506 浏览 0 评论
992 浏览 0 评论
1119 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 18:04 , Processed in 0.869587 second(s), Total 103, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号