OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11173|回复: 13

哪位大哥有用过ATT7022EU,麻烦发我一个例程参考一下

[复制链接]

6

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2017-9-11
在线时间
31 小时
发表于 2017-9-11 10:39:10 | 显示全部楼层 |阅读模式
6金钱

最佳答案

查看完整内容[请看2#楼]

/* 程序功能:读取ATT7026采集到的数据 * com:表示要读的参数寄存器地址 * CS:写0~4 代表要去读取的采集板 */ unsigned long int readatt7026(u8 ACS,u8 com){ unsigned long int data=0; u8 i,bit; changecs(6); //片选失能 delay_us(1); CLK=0; delay_us(1); changecs(ACS); //需要拉低cs4的片选选择 delay_us(1); for(i=0;i
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2017-9-11 10:39:11 | 显示全部楼层
凌云壮志 发表于 2017-9-12 15:31
加了,SPI还是收不到数据

/*   程序功能:读取ATT7026采集到的数据
*                   com:表示要读的参数寄存器地址  
*         CS:写0~4 代表要去读取的采集板
*/
unsigned long int readatt7026(u8 ACS,u8 com){
                unsigned long int data=0;
                u8 i,bit;

                changecs(6); //片选失能
                delay_us(1);
                CLK=0;
                delay_us(1);
                changecs(ACS); //需要拉低cs4的片选选择
                delay_us(1);
                for(i=0;i<8;i++){
            CLK=1;
                        if((com&0x80))
                        {
                          DIN=1;//PC2置位
                        }
                        else
                        {
                          DIN=0;//PC2清零
                        }
                        com<<=1;
                        CLK=0;
                }
                delay_us(5);

                for(i=0;i<=23;i++){               
                                CLK=1;
                                bit = DOUT;
                                CLK=0;
                                data=(data<<1)|bit;
                }               
                changecs(6);//片选失能
               
                return data;
}//读数据程序完成
/*   程序功能:写命令到ATT7026
*                   com:表示要写命令的寄存器地址
*                  data:表示要写进寄存器地址内的数据
*         CS:写0~4 代表要去写进命令的采集板
*/
void writeatt7026(u8 ACS,u8 com,unsigned long data){
                        u8 i;
                        changecs(6); //片选失能
                        delay_us(1);
                        CLK=0;
                        delay_us(1);
                        changecs(ACS); //拉低cs4的片选
                        delay_us(1);

                        CLK=1;
                        delay_us(2);
                       
                        if((com&0x80))
                        {
                          DIN=1;
                        }
                        else
                        {
                          DIN=0;
                        }
                        com<<=1;
                        delay_us(1);
                       
                        CLK=0;
                        delay_us(3);

                        //写进地址                       
                        for(i=0;i<7;i++){                       
                                CLK=1;                       
                                delay_us(1);                       
                                if(com&0x80)
                                {
                                 DIN=1;
                                }
                                else
                                {
                                  DIN=0;
                                }
                                com<<=1;                       
                                delay_us(1);
                               
                                CLK=0;                       
                                delay_us(2);                       
                        }                       
                        delay_us(4);                       
                //写进数据                       
                        for(i=0;i<=23;i++){                       
                                        CLK=1;                                       
                                        delay_us(1);                                       
                                        if(data&0x00800000)
                                        {
                                          DIN=1;
                                        }
                                        else
                                        {
                                          DIN=0;
                                        }
                                        data<<=1;                                       
                                        delay_us(1);                                       
                                        CLK=0;                                       
                                        delay_us(2);                                       
                        }                                       
                        delay_us(3);                                       
                        changecs(6);                        //拉高所有片               
                        delay_us(1);
}

那你参考下吧  这个是我正在使用的   changcs(6)实际上就是cs 因为我是共用读写函数   所以片选区别开而已。
回复

使用道具 举报

13

主题

85

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1897
金钱
1897
注册时间
2016-8-20
在线时间
238 小时
发表于 2017-9-11 11:54:49 | 显示全部楼层
我有程序,不过是人家的,你有电路图吗?
回复

使用道具 举报

6

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2017-9-11
在线时间
31 小时
 楼主| 发表于 2017-9-11 12:36:21 | 显示全部楼层
ChaserMCU 发表于 2017-9-11 11:54
我有程序,不过是人家的,你有电路图吗?

我这边电路图是根据数据手册里的经典电路,改一些参数之后画出来的。能把你的程序发我一份吗?
回复

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2017-9-11 12:47:43 | 显示全部楼层
你按官方给的通信例程就可以用了 只不过你要注意在数据发送时加点延时,不然通信不会成功。
回复

使用道具 举报

13

主题

85

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1897
金钱
1897
注册时间
2016-8-20
在线时间
238 小时
发表于 2017-9-11 15:30:19 | 显示全部楼层
凌云壮志 发表于 2017-9-11 12:36
我这边电路图是根据数据手册里的经典电路,改一些参数之后画出来的。能把你的程序发我一份吗?

程序已经发到你邮箱了,你先分析一下,到时相互交流一下哦
回复

使用道具 举报

6

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2017-9-11
在线时间
31 小时
 楼主| 发表于 2017-9-12 15:26:46 | 显示全部楼层
ChaserMCU 发表于 2017-9-11 15:30
程序已经发到你邮箱了,你先分析一下,到时相互交流一下哦

好的,谢谢
回复

使用道具 举报

6

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2017-9-11
在线时间
31 小时
 楼主| 发表于 2017-9-12 15:31:49 | 显示全部楼层
sodermalm 发表于 2017-9-11 12:47
你按官方给的通信例程就可以用了 只不过你要注意在数据发送时加点延时,不然通信不会成功。

加了,SPI还是收不到数据
回复

使用道具 举报

8

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2018-3-22
在线时间
32 小时
发表于 2018-5-10 11:21:02 | 显示全部楼层
ChaserMCU 发表于 2017-9-11 15:30
程序已经发到你邮箱了,你先分析一下,到时相互交流一下哦

大哥,小弟现在也在搞att7022,烦了我好多天了,惆怅中,能否把参考程序给一份 解解惑,245362828@qq.com
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2018-8-29
在线时间
31 小时
发表于 2018-8-31 16:28:20 | 显示全部楼层
ChaserMCU 发表于 2017-9-11 15:30
程序已经发到你邮箱了,你先分析一下,到时相互交流一下哦

您好,我现在编ATT程序卡壳了,想看看您的程序,能发我一份吗?非常感谢。1097495063@qq.com
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2020-8-18
在线时间
6 小时
发表于 2020-8-19 14:03:07 | 显示全部楼层
各位楼主,我正在调试ATT7022EU,读电压的数据总是0x07 FF。是什么原因呢?请指导!
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2020-8-4
在线时间
1 小时
发表于 2021-10-11 09:10:36 | 显示全部楼层
大佬,可以可以给我一份代码吗? 394753429@qq.com
回复

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2019-9-25
在线时间
37 小时
发表于 2022-4-12 22:50:09 | 显示全部楼层
sodermalm 发表于 2017-9-11 12:47
你按官方给的通信例程就可以用了 只不过你要注意在数据发送时加点延时,不然通信不会成功。

请问官方的通信例程的网址是多少呀
回复

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2022-9-3
在线时间
21 小时
发表于 2023-2-9 17:20:52 | 显示全部楼层
楼主大大,我也遇到这个问题了,有参考例程可以发我一份参考吗?十分感谢1577818306@qq.com
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 16:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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