找回密码
 注册
搜索
查看: 1247|回复: 9

[讨论] 求救:关于GPIO模拟SPI驱动

[复制链接]
发表于 2008-9-9 10:20:11 | 显示全部楼层 |阅读模式
各位大侠:小弟最近需要用ARM的四个GPIO模拟SPI初始化switch芯片的寄存器,不知道哪位大侠有GPIO模拟SPI驱动代码,麻烦发给我一份。万分感激。
QQ:259289441
EMAIL:qiuxin0301@163.com
发表于 2008-9-9 10:44:46 | 显示全部楼层
我没代码.只能帮你顶一下.这样的东西去搜搜该是有很多的
模拟起来该不是很难
点评回复

使用道具 举报

 楼主| 发表于 2008-9-9 13:58:34 | 显示全部楼层
谢谢,我在网上搜索了很久都没看到,急啊。
点评回复

使用道具 举报

发表于 2008-9-11 11:52:15 | 显示全部楼层
给你个思路,你照着写吧,很easy的
void SPI_TxBYTE(U8 byte)
{
    U8 i;
    pSDMMC_nCLK_Out();

    for (i=0;i<8;i++)
    {
        pSDMMC_nCLK_Clr;
        if (byte&0x80)
        {   pSDMMC_nCMD_SET;
        }
        else
        {   pSDMMC_nCMD_Clr;
        }
        SPI_Wait();
        pSDMMC_nCLK_SET;
        byte<<=1;
    }
   
}

U8 SPI_RxBYTE(void)
{
    U8 data;
    U8 i;

    data = 0;
    for (i=0;i<8;i++)
    {
        pSDMMC_nCLK_Clr;
        data <<=1;
        SPI_Wait();
        pSDMMC_nCLK_SET;
        SPI_Wait();
        if (pSDMMC_nDO_IsHigh)
            data|=0x01;
    }
    return data;
}
点评回复

使用道具 举报

发表于 2008-9-11 19:27:57 | 显示全部楼层
找代码不管用的,必须要看懂SPI时序,然后再写代码
点评回复

使用道具 举报

 楼主| 发表于 2008-9-12 15:58:07 | 显示全部楼层
谢谢3楼和4楼的朋友。我代码已经写的差不多,就一个读写函数要再研究研究时序图再写。现在又碰到个新问题,我想用数据初始化寄存器,我是在驱动里初始化还是在应用程序通过驱动的读写函数来写呢?我用的uclinux,小弟第一次写驱动,走到这步确实不容易,请求各位大侠帮忙,然后还有调试uclinux驱动如何调试呢?
点评回复

使用道具 举报

发表于 2008-9-16 13:23:25 | 显示全部楼层
主要看你模拟这SPI是挂接什么用的
点评回复

使用道具 举报

 楼主| 发表于 2008-9-19 14:13:51 | 显示全部楼层
我挂接的是一块交换芯片,KS8995MA。
点评回复

使用道具 举报

发表于 2008-9-21 10:50:12 | 显示全部楼层
这么简单的东西还不自己想,你也太懒了吧![em10]
点评回复

使用道具 举报

 楼主| 发表于 2008-10-8 11:34:37 | 显示全部楼层
问题已解决,有谁需要可以联系我。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

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

GMT+8, 2024-11-25 10:44 , Processed in 0.045886 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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