1. 钱柜娱乐官网
  2. 论坛
  3. 外包
  4. 下载
  5. Datasheet
  6. 公开课
  7. 更多

打印

[数据转换器-信号链] DAC8760 一直没有数据输出 还望各路神仙指教

[复制链接]
348|17
跳转到指定楼层
楼主
 楼主 | 2017-12-5 15:06 | 只看该作者 ||退出气泡模式 回帖奖励 |倒序浏览 |阅读模式
这是我的程序,调了很久了  硬件的软件的都试过了 都没输出,各位大哥帮我看看哪里出问题了

void DAC_Write(uint8_t add,uint16_t dat)
{
  uint8_t i,h_dat,l_dat;
        h_dat=(dat>>8)&0x00ff;//数据高八位
        l_dat=dat&0x00ff;//数据低八位
  ATLCH_0;//片选拉低
        for(i=8;i>0;i--)//写寄存器地址
        {
                SCLK_0;
                if(add&0x80)
                {
                DIN_1;
                }
        else{
                DIN_0;
        }       
                SCLK_1;
   add<<=1;
        }
  
        for(i=8;i>0;i--)//写高八位数据
        {
        SCLK_0;
                if(h_dat&0x80)
                {
                        DIN_1;
                }
        else {
        DIN_0;
        }
         
        SCLK_1;
        h_dat<<=1;
        }
        for(i=8;i>0;i--) //写低八位数据
{
   SCLK_0;
        if(l_dat&0x80)
        {
           DIN_1;
        }
        else{
        DIN_0;
        }       
        SCLK_1;
        l_dat<<=1;
}       
ATLCH_1;
DIN_1;       
}
void DAC_Init(void)//初始化
{
DAC_Write(0x56,0x0001);//¸复位
DAC_Write(0X55,(1<<12)|0X0000);//使能输出 ,范围0-5v
DAC_Write(0x57,(1<<8) |(2<<9) );//双输出使能,范围0-20,ma
DAC_Write(0x01,0);//输出0
}
void out_put(uint16_t dat)
{
DAC_Write(0x01,dat);

}

下面是在mian函数里面的 调用方式,
void main()
{
DAC_Init();
out_put(0xffff);按理说应该输出最大 可是不管电压电流都没输出
}


沙发
| 2017-12-5 22:51 | 只看该作者
写入数据的速度是多大?
板凳
| 2017-12-5 22:51 | 只看该作者
使用的什么控制器?
地板
| 2017-12-5 22:52 | 只看该作者
测量IO的电平了吗
5
| 2017-12-5 22:53 | 只看该作者
内部的DAC可能频率太高。
6
| 2017-12-5 22:53 | 只看该作者
可能驱动能力不足。
7
| 2017-12-5 22:53 | 只看该作者
使用示波器看看信号是否正确?
8
 楼主 | 2017-12-6 11:27 | 只看该作者
uytyu 发表于 2017-12-5 22:51
写入数据的速度是多大?

这DAC最高能支持30MHZ 速度应该没问题吧
9
 楼主 | 2017-12-6 11:28 | 只看该作者
iyoum 发表于 2017-12-5 22:51
使用的什么控制器?

STM32F103
10
 楼主 | 2017-12-6 11:29 | 只看该作者
wwppd 发表于 2017-12-5 22:52
测量IO的电平了吗

仿真的是后 引脚输出电平没问题的
11
 楼主 | 2017-12-6 11:30 | 只看该作者
wwppd 发表于 2017-12-5 22:53
使用示波器看看信号是否正确?

条件不允许啊
12
 楼主 | 2017-12-6 11:31 | 只看该作者
iyoum 发表于 2017-12-5 22:53
可能驱动能力不足。

???驱动能力不足?电流小了?供电我用的是开关电源
13
 楼主 | 2017-12-6 11:33 | 只看该作者
uytyu 发表于 2017-12-5 22:53
内部的DAC可能频率太高。

您的意思是说 DAC8760的频率太高? 它介绍的是支持30mzh
14
 楼主 | 2017-12-6 11:35 | 只看该作者
uytyu 发表于 2017-12-5 22:51
写入数据的速度是多大?

可能是我IO口速度太高 我去降低试试,我直接用的IO口直接发过去了 好像是50
15
| 2017-12-8 09:15 | 只看该作者
侧波形了没??
16
| 2017-12-13 22:14 | 只看该作者
这个根据IO口的电平状态设计的很不错的
17
| 2017-12-14 10:27 | 只看该作者
是代码程序的问题还是硬件的问题,仔细检查下。
18
| 2017-12-16 07:28 | 只看该作者
没有输出, 最好先检查一下硬件, 包括供电, 复位, 连接和原理图, 还有焊接等问题
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册 手机登录
本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式

论坛热帖

  1. N76E003学习点亮一个LED灯,可是就是不亮咋回事?
  2. 2017流水账+ 惨惨惨!
  3. 通过CC2640R2F实现蓝牙串口数据透传
  4. 没有这么多money,我就不干,,,
  5. 又买了台thinkpad笔记本哈
  6. 好久没来了,冒个泡儿。。。
  7. 基于STM32——PID参数如何设定调节
  8. 最低功耗的LC振荡器
  9. 商城积分用‘武’之地—TI在线培训中心【积分限时兑换】
  10. SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚吗
分享 快速回复 返回顶部 返回列表
钱柜娱乐官网