CH565的开发板SPI1主机发送数据测试异常

各位大神,测试过CH565的开发板SPI1主机发送例程,开发板的SPI1连接到了W25Q32JV上面。

为什么用示波器测量W25Q32JV的CK SCK  MOSI  MISO均无任何信号变化,示波器的波形测到的感觉像悬空的引脚? 

另外还碰到一个奇怪的问题,测试GPIO例程和串口例程,发现GPIO输出引脚PB24的高电平只有2.7V左右,串口输出的高电平也只有2.7V左右?


您好,仔细观察CH565开发板,能够发现VDDIO是连接在1117-2.5上面的,默认IO工作在2.5V,可以通过短接P3,将IO切换到3.3V。

SPI因为板子上兼顾了很多外设,不同外设复用之间是采用选择性焊接排阻来控制的,可以仔细看下原理图,更换一下排阻焊接的位置。


        看了开发板的原理图,确实如您所说的,VDDIO连接在2.5V上面。   我这边有个疑问,就是这个VDDIO连接在2.5V,主要是为了兼容哪个模块的? 我把VDDIO切换到3.3V上面了,但是SPI1那个测试程序,还是测试不到任何信号,帮忙分析下原因吧?

        我后面主要要用到两个功能:1、与的ARM芯片进行SPI通,需用用到3.3V电平;2、采用千兆光纤网络与外部的千兆光纤网进行通讯;  想请问下这两个地方的VDDIO设置上面是否存在冲突?


请问SPI的初始化程序,不需要初始化SPI1的GPIO的功能么?按照示例程序,SPI1的引脚无任何输出,感觉像悬空状态。

void SPI1_MasterDefInit( void )

{

    R8_SPI1_CLOCK_DIV = 4;                                   //主频时钟4分频

    R8_SPI1_CTRL_MOD = RB_SPI_ALL_CLEAR;

    R8_SPI1_CTRL_MOD = RB_SPI_MOSI_OE | RB_SPI_SCK_OE ;

    R8_SPI1_CTRL_CFG |= RB_SPI_AUTO_IF;

    R8_SPI1_CTRL_CFG &= ~RB_SPI_DMA_ENABLE;                  //不启动DMA方式

    //R8_SPI1_CTRL_CFG |= RB_SPI_DMA_ENABLE;                 //启动DMA方式

}



您好,下面是EVT中的SPI1HOST的代码,GPIO的初始化在main函数中是以直接操作寄存器R32_PB_XXXX的方式实现的,GPIO是需要初始化的。

image.png


我看原理图,SPI1不是应该对应 PA12、PA13、PA14、PA15的么?  你截图这段我在我主程序也看到了,这个应该是配置SPI0里面的PB11、PB12、PB13的吧,是不是我理解错了这个SPI0和SPI1的注释?


只有登录才能回复,可以选择微信账号登录