找回密码
 注册
搜索
查看: 3093|回复: 16

[讨论] 6735 GPIO模拟SPI

[复制链接]
发表于 2015-9-8 14:24:46 | 显示全部楼层 |阅读模式
请教大侠,6735上的GPIO模拟SPI,速度要10M,请问配置上要做哪些处理?现在发现35平台的GPIO速度很慢,顶多是1M都不到,跪求~
 楼主| 发表于 2015-9-8 21:20:21 | 显示全部楼层
有人深入MTK GPIO的设置吗?
点评回复

使用道具 举报

 楼主| 发表于 2015-9-9 14:27:17 | 显示全部楼层
有人懂用GPIO模拟PWM在5M速度吗?
点评回复

使用道具 举报

 楼主| 发表于 2015-9-14 16:22:33 | 显示全部楼层
[em39][em39]
点评回复

使用道具 举报

发表于 2015-10-15 09:44:09 | 显示全部楼层
首先,确保你的代码对应的指令周期应足够小,可以看看编译后对应的汇编代码,另外不要有函数调用等操作;其次,可以将模拟的这一小段代码放在内存中运行。至于GPIO的设置对拉高拉低时间的影响我印象应该是没有的,你可以再查查相关文档。
点评回复

使用道具 举报

发表于 2016-3-24 14:34:03 | 显示全部楼层
DGH SH SRGH ER HSDG ER S
点评回复

使用道具 举报

发表于 2016-5-31 17:52:06 | 显示全部楼层
5楼的大神牛啊
点评回复

使用道具 举报

发表于 2016-6-1 09:00:43 | 显示全部楼层
路过看看
点评回复

使用道具 举报

发表于 2016-6-7 13:40:20 | 显示全部楼层
#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;
}
点评回复

使用道具 举报

发表于 2016-7-4 17:06:28 | 显示全部楼层

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

使用道具 举报

发表于 2016-10-18 11:18:09 | 显示全部楼层
see see
点评回复

使用道具 举报

发表于 2016-10-26 10:29:25 | 显示全部楼层
[em09]
点评回复

使用道具 举报

发表于 2016-10-29 14:59:20 | 显示全部楼层
[em01]......
点评回复

使用道具 举报

发表于 2016-11-22 17:37:34 | 显示全部楼层
[em34]
点评回复

使用道具 举报

发表于 2016-11-30 10:49:39 | 显示全部楼层
学习下[em01]
点评回复

使用道具 举报

发表于 2016-12-6 14:09:43 | 显示全部楼层
[em02]。。。。。。。。。。。。。。。
点评回复

使用道具 举报

发表于 2016-12-9 09:55:45 | 显示全部楼层
他应该有好几组SPI的啊   你可以看配置表
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-20 16:29 , Processed in 0.048376 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表