找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1795|回复: 8
打印 上一主题 下一主题
收起左侧

请高手帮忙分析程序-GPIO扩展芯片XRA1402

[复制链接]
跳转到指定楼层
楼主

主要是SPI操作,芯片寄存器。
命令字节   操作数据   寄存器描述              读/写          默认数值
0x00  000  0 000  0  0x00  GSR -GPIO状态                只读        0xXX
0x01  000  0 001  0  0x02   OCR – 输出控制               /      0xff
0x02  000  0 010  0  0x04   PIR -输入极性反转                    /     0x00
0x03 000  0 011  0  0x06   GCR- GPIO 组态/构造                 /     0xFF
0x04  000  0 100  0 0x08   PUR-输入内部上拉电阻启用/禁用       /      0x00
0x05  000  0 101  0  0x0A      IER-输入中断使能                    /      0x00
0x06  000  0 110  0  0x0C      TSCR - 输出三态控制              /       0x00
0x07  000  0 111  0 0x0E      ISR  -输入中断状态                          0x00
0x08  000  1 000  0  0x10      REIR - 输入上升沿中断使能         /       0x00
0x09  000  1 001  0  0x12      FEIR - 输入下降沿中断使能         /        0x00
0x0A  000  1 010  0 0x14     IFR  - 输入滤波器启用/禁用         /        0xFF


//SPI写函数
void Write_Data(unsigned char DAT)
{               
        unsigned char i;
        SCK = 0;
        for(i=0;i<8;i++)
        {
                SDI = DAT&0x80;
                Delay_10uS();
                SCK = 1;
                Delay_10uS();
                DAT <<= 1;
                SCK = 0;
        }

//主程序调用函数
void main(void){                 Delay_1S();       

                Write_Data(0x03);  //选定0x03   GCR- GPIO 组态寄存器,   //该成0x06也不行
                Write_Data(0x00); //写入0x00   使所有IO为 输出IO

                Write_Data(0x01); //选定0x01   OCR – 输出控制寄存器,     //该成0x02也不行
                Write_Data(0x0f);//写入0x0F   使高四位IO为低电平,第四位IO为高电平
       
                        while(1);


}

XRA1402.png (135.81 KB, 下载次数: 58)

XRA1402.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:436165 发表于 2019-5-17 07:22 | 只看该作者
没高手给看一下吗?
纠结是不是芯片焊接时烧坏了。。。。
中午换一个芯片试试
回复

使用道具 举报

板凳
ID:511890 发表于 2019-5-17 12:28 | 只看该作者
Write_Data(0x03);  //选定0x03   GCR- GPIO 组态寄存器,
回复

使用道具 举报

地板
ID:511890 发表于 2019-5-17 12:29 | 只看该作者
Write_Data(0x06);  //选定0x03   GCR- GPIO 组态寄存器
回复

使用道具 举报

5#
ID:511890 发表于 2019-5-17 12:30 | 只看该作者
前面是命令,后面是数据。
回复

使用道具 举报

6#
ID:436165 发表于 2019-5-17 14:40 | 只看该作者
幻剑心 发表于 2019-5-17 12:30
前面是命令,后面是数据。

这个知道啊,实际情况这样写不行
回复

使用道具 举报

7#
ID:540499 发表于 2019-5-17 15:18 | 只看该作者
Write_Data(0x03);
Write_Data(0x06);
回复

使用道具 举报

8#
ID:530034 发表于 2019-5-17 17:42 | 只看该作者

Write_Data(0x06);  //
选定0x03   GCR- GPIO 组态寄存器
回复

使用道具 举报

9#
ID:436165 发表于 2019-5-18 09:28 | 只看该作者
这回复都是玩呢???????

没有可行的建议吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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