ch582 gpio 模拟 spi最高速率是多少?

目前用gpio模拟spi,时钟速率只能达到400K,太慢了,如果直接操作寄存器的话,速率能提高到5M么?如果可以,如何实现呢?


目前的代码如下:

# define  SCLK          GPIO_Pin_19

# define  SCLK_0       GPIOB_ResetBits( SCLK)

# define  SCLK_1       GPIOB_SetBits( SCLK)


# define  SDIN          GPIO_Pin_18

# define  SDIN_0       GPIOB_ResetBits( SDIN)

# define  SDIN_1       GPIOB_SetBits( SDIN)



void write_d(unsigned char Data)

{

    unsigned char i;

    SCLK_0;

    SDIN_1;//data

    SCLK_1;


    for (i=0; i<8; i++)

    {

        SCLK_0;


        if(Data&0x80)

            SDIN_1;

        else

            SDIN_0;


        Data = Data << 1;


        SCLK_1;


    }


}


您好,实测翻转IO口速率可以到6.7M。

注意将翻转IO的函数用high_code修饰,放到ram里跑;直接操作寄存器翻转IO。

https://www.wch.cn/bbs/thread-105524-1.html



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