标题: 请高手帮忙分析程序-GPIO扩展芯片XRA1402 [打印本页]

作者: 闫Sir    时间: 2019-5-16 21:16
标题: 请高手帮忙分析程序-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, 下载次数: 59)

XRA1402.png

作者: 闫Sir    时间: 2019-5-17 07:22
没高手给看一下吗?
纠结是不是芯片焊接时烧坏了。。。。
中午换一个芯片试试
作者: 幻剑心    时间: 2019-5-17 12:28
Write_Data(0x03);  //选定0x03   GCR- GPIO 组态寄存器,
作者: 幻剑心    时间: 2019-5-17 12:29
Write_Data(0x06);  //选定0x03   GCR- GPIO 组态寄存器
作者: 幻剑心    时间: 2019-5-17 12:30
前面是命令,后面是数据。
作者: 闫Sir    时间: 2019-5-17 14:40
幻剑心 发表于 2019-5-17 12:30
前面是命令,后面是数据。

这个知道啊,实际情况这样写不行
作者: ke3376028    时间: 2019-5-17 15:18
Write_Data(0x03);
Write_Data(0x06);
作者: 麻吉马巧龙    时间: 2019-5-17 17:42

Write_Data(0x06);  //
选定0x03   GCR- GPIO 组态寄存器
作者: 闫Sir    时间: 2019-5-18 09:28
这回复都是玩呢???????

没有可行的建议吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1