csqzhang 发表于 2023-8-7 17:20:30

STC8H8K64U SPI速度上不去怎么回事?有大侠知道吗?




    P0M0 = 0x00; P0M1 = 0x00;
    P1M0 = 0x00; P1M1 = 0x00;
    P2M0 = 0x00; P2M1 = 0x00;
    P3M0 = 0x00; P3M1 = 0x00;
    P4M0 = 0x00; P4M1 = 0x00;
    P5M0 = 0x00; P5M1 = 0x00;
    P6M0 = 0x00; P6M1 = 0x00;
    P7M0 = 0x00; P7M1 = 0x00;



    P4SR &= ~0x09;

    //P4DR &= ~0x09;
    P5SR &= ~0x10;
    //P5DR &= ~0x10;


不设置 P4SRP5SR 的化,SPI速度最大12M

设置 P4SRP5SR 的化,SPI速度最大16M


资料上介绍至少可以到22M



迷惑好久了!,希望有高手指点一下!


csqzhang 发表于 2023-8-7 17:23:13

STM32F103板子,SPI速度直接冲到36M,STM32F103板和STC8H两块板子除CPU外,外围元件都一样的,

乘风飞扬 发表于 2023-8-7 18:02:48

csqzhang 发表于 2023-8-7 17:23
STM32F103板子,SPI速度直接冲到36M,STM32F103板和STC8H两块板子除CPU外,外围元件都一样的, ...

系统主频设置多大?SPI时钟最快可以达到系统时钟的2分频。系统时钟设置40MHz以上,SPI时钟就可以达到20M以上。
除了设置PxSR提高电平转换速度外,还可以将输出脚设置为推挽输出模式。

csqzhang 发表于 2023-8-8 15:57:21

乘风飞扬 发表于 2023-8-7 18:02
系统主频设置多大?SPI时钟最快可以达到系统时钟的2分频。系统时钟设置40MHz以上,SPI时钟就可以达到20M ...

系统主频44.2368M,设置高速SPI,SPI的CLK应该22.1184M,就通不过

csqzhang 发表于 2023-8-8 15:59:40

乘风飞扬 发表于 2023-8-7 18:02
系统主频设置多大?SPI时钟最快可以达到系统时钟的2分频。系统时钟设置40MHz以上,SPI时钟就可以达到20M ...

系统主频44.2368M,设置高速SPI,SPI的CLK应该22.1184M,就通不过
不用改代码:系统主频改33.1776M,,就可以了

神农鼎 发表于 2023-8-8 18:23:25

先不接任何负载,看下 SPI输出的信号的质量。
另外用上 DMA支持SPI, 可能对 SPI的瞬间速度就要求降低了
页: [1]
查看完整版本: STC8H8K64U SPI速度上不去怎么回事?有大侠知道吗?