微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 6735 GPIO模拟SPI

6735 GPIO模拟SPI

时间:10-02 整理:3721RD 点击:
请教大侠,6735上的GPIO模拟SPI,速度要10M,请问配置上要做哪些处理?现在发现35平台的GPIO速度很慢,顶多是1M都不到,跪求~

有人深入MTK GPIO的设置吗?

有人懂用GPIO模拟PWM在5M速度吗?

首先,确保你的代码对应的指令周期应足够小,可以看看编译后对应的汇编代码,另外不要有函数调用等操作;其次,可以将模拟的这一小段代码放在内存中运行。至于GPIO的设置对拉高拉低时间的影响我印象应该是没有的,你可以再查查相关文档。

DGH SH SRGH ER HSDG ER S

5楼的大神牛啊

路过看看

#define SPICS_GPIO_PIN  GPIO_SPI_CS_PIN//(GPIO_DISP_LSCE_PIN)
#define SPISCK_GPIO_PIN GPIO_SPI_SCK_PIN//(GPIO_DISP_LSCK_PIN)
#define SPISDA_GPIO_PIN GPIO_SPI_MOSI_PIN//(GPIO_DISP_LSDA_PIN)

#define SET_SPICS_LOW   SET_GPIO_OUT(SPICS_GPIO_PIN, 0)
#define SET_SPICS_HIGH  SET_GPIO_OUT(SPICS_GPIO_PIN, 1)
#define SET_SPISCK_LOW   SET_GPIO_OUT(SPISCK_GPIO_PIN, 0)
#define SET_SPISCK_HIGH  SET_GPIO_OUT(SPISCK_GPIO_PIN, 1)
#define SET_SPISDA_LOW   SET_GPIO_OUT(SPISDA_GPIO_PIN, 0)
#define SET_SPISDA_HIGH  SET_GPIO_OUT(SPISDA_GPIO_PIN, 1)   //mt_set_gpio_out
static void spi_send_data(unsigned char data)
{
    unsigned int i;
    SET_SPICS_LOW;
    UDELAY(1);
    SET_SPISCK_LOW;
    SET_SPISDA_HIGH;
    UDELAY(1);
    SET_SPISCK_HIGH;
    UDELAY(1);
    for (i = 0; i < 8; ++ i)
    {
        SET_SPISCK_LOW;
        if (((data<<i) &0x80) ==0x80) {
            SET_SPISDA_HIGH;
        } else {
            SET_SPISDA_LOW;
        }
        UDELAY(1);
        SET_SPISCK_HIGH;
        UDELAY(1);
    }
    SET_SPISCK_LOW;
    SET_SPICS_HIGH;
}
static void spi_send_cmd(unsigned char data)
{
    unsigned int i;
    SET_SPICS_LOW;
    UDELAY(1);
    SET_SPISCK_LOW;
    SET_SPISDA_LOW;
    UDELAY(1);
    SET_SPISCK_HIGH;
    UDELAY(1);
    for (i = 0; i < 8; ++ i)
    {
        SET_SPISCK_LOW;
        if (((data<<i) &0x80) ==0x80) {
            SET_SPISDA_HIGH;
        } else {
            SET_SPISDA_LOW;
        }
        UDELAY(1);
        SET_SPISCK_HIGH;
        UDELAY(1);
    }
    SET_SPISCK_LOW;
    SET_SPICS_HIGH;
}

专业供应MTK套片:4G 芯片:MT6795   MT6755   MT6753   MT6735   MT6752                                                                                                     
                            3G: MT6580    MT6582  MT6572                              
                            平板芯片:MT8735  MT8382  MT8127  MT8163
                            穿戴设备:MT2601  MT2503  
                            有需求请联系:林生   电话:15014010664  QQ:616684804

see see

......

学习下

他应该有好几组SPI的啊   你可以看配置表

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top