搜索
bottom↓
回复: 9

模拟SPI 对LMH6401(PGA)写入数据,无返回

[复制链接]

出0入0汤圆

发表于 2017-6-16 10:06:01 | 显示全部楼层 |阅读模式
这是写入,发送,和读状态函数
/************向LMH6401 中写入一个字节*************************1*/         

void W_LMH6401_byte(unsigned char date)
{
        unsigned char temp;
        unsigned char i;
        temp = date;  

        for (i = 0; i < 8; i++) {
                SCK_0 ;
                if((temp&0x80)==0x80)
                        { MOSI_1; }
                else { MOSI_0; }
                SCK_1 ;
                temp <<= 1;
        }
          MOSI_0;               
}

/********************读取LMH6401 一个字节***********************2*/  

unsigned char R_LMH6401_byte(void)
{
        unsigned char temp=0;
        unsigned char i,SDI;

        for(i = 0; i < 8; i++) {
                temp <<= 1;
                SCK_0 ;        

                SDI = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6);
                if(SDI) {temp++;         }
//                else         {printf("\n\r output low data \n\r");}
                SCK_1 ;

        }
        return(temp);
}

/*******************读取LMH6401 状态**************************3*/  

unsigned char LMH6401_status(u8 addr)
{
         unsigned char status;
         DF_CS_0;  //片选打开
         delayus(10);

         W_LMH6401_byte(addr); //D7H是读取状态的命令字

         status = R_LMH6401_byte(); //读取状态字节

         DF_CS_1; //片选关闭
         delay(500);

         return status;

}


下面是读写的操作时序图

下面是寄存器

发送00,应该返回03,但是毫无反应无返回,发送其他指令也是

还有一个问题就是,如何发送7位地址,请各位帮忙解答一下





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入53汤圆

发表于 2017-6-16 13:00:06 | 显示全部楼层
上逻辑分析仪

出0入24汤圆

发表于 2017-6-16 15:53:57 | 显示全部楼层
上逻辑分析仪

读ID应该是发送0x80吧,第一位读写位

出0入0汤圆

 楼主| 发表于 2017-6-17 09:14:26 | 显示全部楼层

四通道的,数据发送正确,可同时看CS,DIO,DO,CLK四路信号。三路正常,但是没返回。元件测试过没问题,默认增益2dB,尝试直接写数据,但是增益不变javascript:;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-6-17 09:17:57 | 显示全部楼层
muyi122 发表于 2017-6-17 09:14
四通道的,数据发送正确,可同时看CS,DIO,DO,CLK四路信号。三路正常,但是没返回。元件测试过没问题,默 ...

发的是地址0x02,数据是0x14,查表知应该增益为14javascript:;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-6-17 09:19:00 | 显示全部楼层
20061002838 发表于 2017-6-16 15:53
上逻辑分析仪

读ID应该是发送0x80吧,第一位读写位

先发高位,后发低位,数据为0x01

出0入24汤圆

发表于 2017-6-17 09:45:46 | 显示全部楼层
muyi122 发表于 2017-6-17 09:19
先发高位,后发低位,数据为0x01

那你发个0x01,看逻辑分析仪的最高位是不是高电平

出0入0汤圆

发表于 2017-6-17 11:44:40 | 显示全部楼层
用USB2SPI适配器调试下试试
https://item.taobao.com/item.htm ... amp;id=545509364910

出0入0汤圆

 楼主| 发表于 2017-6-18 01:39:18 | 显示全部楼层
wdluo 发表于 2017-6-17 11:44
用USB2SPI适配器调试下试试
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15987418095.11.2R1QTU ...

谢谢。不过我需要用程序来调

出0入0汤圆

 楼主| 发表于 2017-6-18 01:41:32 | 显示全部楼层
20061002838 发表于 2017-6-17 09:45
那你发个0x01,看逻辑分析仪的最高位是不是高电平

只有四通道的示波器
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 10:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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