硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6962|回复: 4
收起左侧

[有问必答] AD7606?

[复制链接]

9

主题

25

回帖

9

积分

新手上路

积分
9
发表于 2013-10-10 11:36:52 | 显示全部楼层 |阅读模式
版主可以提供原理图和pcb的封装吗?ad7606芯片
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2013-10-10 11:51:30 | 显示全部楼层
AD7606模块目前只提供pdf格式的原理图。
回复

使用道具 举报

12

主题

26

回帖

114

积分

初级会员

积分
114
发表于 2014-1-1 21:54:54 | 显示全部楼层

回 armfly 的帖子

armfly:
AD7606模块目前只提供pdf格式的原理图。
我将AD7606中FIFO定义在SRAM,计划将SRAM写满之后再读。
读取条件设置为 if( g_tAdcFifo.ucFull == 1),可是达不到读条件。然后将条件换为 if (AD7606_HasNewData()),读的时候发现到了后半段SRAM中值全为0(初始化的时候将SRAM中清0),然后我就在 void AD7606_ISR(void)写函数最后加入一条 printf(" %d",g_tAdcFifo.usWrite);看看到写操作写了多少个地址,
结果发现
1. printf("%d",g_tAdcFifo.usWrite);每8个数打印一次。
2.printf(" %d",g_tAdcFifo.usWrite);(%d前有空格)
3.printf(" %6d",g_tAdcFifo.usWrite);
打印出来的值越来越少,这是为什么,总之我感觉是这个中断程序运行到一定次数就停止了,不会将SRAM写满,真搞不懂

请输入描述

请输入描述

请输入描述

请输入描述

请输入描述

请输入描述

请输入描述

请输入描述
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2014-1-2 00:02:52 | 显示全部楼层
ISR中不要 printf, 这个执行很慢,ISR执行时间可能超过硬件中断执行周期。在主程序去打印。
回复

使用道具 举报

12

主题

26

回帖

114

积分

初级会员

积分
114
发表于 2014-1-2 13:23:52 | 显示全部楼层
嗯,我把printf放到主程序里看明白了,write这个值设定uint16,实际值要大于65535,超过之后又从0开始,所以永远也进入不了读的条件,换成uint32就好了。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-11 13:58 , Processed in 0.256145 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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