完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想使用ch573替代nrf24le1,发现ch573支持的SPI是四线的。如果想实现两线SPI,应该如何连接,程序应该如何配置?
查了些资料,有的mcu可以配置寄存器来设置。有的需要添加电路来实现。ch573的例程看了下是普通四线方式。看文档没有发现有配置两线的方法 |
|
相关推荐
1个回答
|
|
双线SPI, 是只有sck, sdio 模式吗
在ch57x 系列的soc上可以按照下面方式来实现: //初始化 //sck0 初始化 GPIOA_ModeCfg(GPIO_Pin_13, GPIO_ModeOut_PP_5mA); //MISO 作为sdio初始化 GPIOA_ModeCfg(GPIO_Pin_15, GPIO_ModeIN_PD); SPI0_MasterDefInit( ); //32 分频,主频32M 时候, 这里为1M,半双工下不建议速度太快,因为是软件控制,太快可能出现sdio PP输出打架的现象 R8_SPI0_CLOCK_DIV = 32; //发送一个byte R32_PA_DIR |= GPIO_Pin_15; R8_SPI0_CTRL_MOD &= ~RB_SPI_FIFO_DIR; R8_SPI0_CTRL_MOD |= RB_SPI_MISO_OE; //R8_SPI0_CTRL_MOD = 0X34; R8_SPI0_BUFFER = data_tx; while( !(R8_SPI0_INT_FLAG & RB_SPI_FREE) ); //接收一个byte R32_PA_DIR &= ~GPIO_Pin_15; R8_SPI0_CTRL_MOD &= ~RB_SPI_MISO_OE; R8_SPI0_CTRL_MOD |= RB_SPI_FIFO_DIR; R8_SPI0_BUFFER = 0xFF; // 启动传输 while( !(R8_SPI0_INT_FLAG & RB_SPI_FREE) ); data_rx= R8_SPI0_BUFFER; |
|
|
|
只有小组成员才能发言,加入小组>>
463 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2868 浏览 2 评论
2357 浏览 1 评论
808浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
630浏览 1评论
492浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
356浏览 1评论
630浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:14 , Processed in 1.029929 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号