完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想用CH559的SPI驱动NRF24L01 检测失败以后,换为WCH552, 因为552能百度到历程
用CH552 的SPI0 驱动NRF24L01 ,历程代码应该是基于51 GPIO直接操作SCK=0,SCK=1,一个一个位传输的. 貌似并没有用SPI0的功能,于是我想测试配置SPI0 配置 模式0(空闲低电平)来驱动,但是始终不行。 SPI复位值 SPI0_CTRL是 02, 我加了 圈起来的 设置成 模式0 怎么反而会不行了 MISO 和MOSI SCK 设置0是禁止输出,看模式3是MISO 禁止,其他两个应该是可以输出 SCK和MOSI不是应该可以输出么,为啥设置了反而不行 |
|
相关推荐
2个回答
|
|
驱动失败可能有很多情况,主机没有输出波形、SPI操作流程不对等等
可以用逻辑分析仪直接对SPI总线进行监控。CH552和CH559SPI较为相似,CH579 SPI使用上稍有不同。 |
|
|
|
第二天不知道是什么情况,从其他地方复制了一段代码
SPI0_SETUP &= ~(bS0_MODE_SLV | bS0_BIT_ORDER); // Master模式, 高位在前 SPI0_CTRL = bS0_SCK_OE | bS0_MOSI_OE; // 模式0 SPI0_CK_SE = 0x04; // 4分频 P1_MOD_OC |= (bMOSI | bMISO | bSCK | bSCS); P1_DIR_PU |= (bMOSI | bMISO | bSCK | bSCS); 竟然可以了! 然后改回 SPI0_CTRL = 0x60; 就保留这一行,也可以,改回之前552 SPI0官方代码里的SPIMasterModeSet(0)也可以了。。。。。。。 |
|
|
|
只有小组成员才能发言,加入小组>>
474 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2873 浏览 2 评论
2361 浏览 1 评论
817浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
640浏览 1评论
498浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
364浏览 1评论
639浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 13:51 , Processed in 1.078260 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号