久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5937|回復(fù): 14
收起左側(cè)

stm32的MCP4725程序遇到問題了,求解決

  [復(fù)制鏈接]
ID:511461 發(fā)表于 2019-10-23 19:28 | 顯示全部樓層 |閱讀模式
接線時(shí),OUT直接接萬用表的正極,GND接萬用表的負(fù)極,VCC接單片機(jī)的5v引腳,GND也接單片機(jī)的地,但是主函數(shù)中調(diào)用MCP4725_WriteData_Voltage(4000);  不論取值時(shí)2000,4000,還是1000,還是4095,萬用表測(cè)得的電壓都是2.3v左右,是不是我程序哪里錯(cuò)了,求大佬們幫忙看看,拜托(注:?jiǎn)纹瑱C(jī)引腳的5v我用萬用表測(cè)是4.7V左右,這會(huì)有影響嗎)

main.c

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "MCP4725.h"
#include "myiic.h"


int main(void)
{        
         delay_init();            //延時(shí)函數(shù)初始化         
         MCP4725_Init();   //MCP4725初始化         
         uart_init(9600);     //串口初始化
         while(1)
        {
     MCP4725_WriteData_Voltage(4000);
                 //printf();
        }
}

MCP4725.c
#include "MCP4725.h"
#include "delay.h"
#include "usart.h"        


//初始化IIC接口
void MCP4725_Init(void)
{
        IIC_Init();
}

//使用快速模式寫命令寫DAC寄存器
void MCP4725_WriteData_Voltage(u16 Vout)   //電壓?jiǎn)挝籱V
{
  u8 temp;
        u16 Dn;
        Dn = ( 4096 * Vout) / VREF_5V;
        temp = (0x0F00 & Dn) >> 8;  //12位數(shù)據(jù)
        
        IIC_Start();
        IIC_Send_Byte(0XC2);      //器件尋址,器件代嗎:1100; 地址位A2,A1,A0為 0 , 0 , 1;-> 1100 0010
  IIC_Wait_Ack();         
  IIC_Send_Byte(temp);         
  IIC_Wait_Ack();         
  IIC_Send_Byte(Dn);        //將低8位送到DAC寄存器
        IIC_Wait_Ack();        
  IIC_Stop();//產(chǎn)生一個(gè)停止條件         
        delay_ms(10);        
}

void MCP4725_WriteData_Digital(u16 data)   //12位數(shù)字量
{
  u8 data_H=0,data_L=0;
        data_H = ( 0x0F00 & data) >> 8;
        data_L = 0X00FF & data ;
        IIC_Start();
        IIC_Send_Byte(0XC0);      //器件尋址,器件代嗎:1100; 地址位A2,A1,A0為 0 , 0 , 0;-> 1100 0000
    IIC_Wait_Ack();         
    IIC_Send_Byte(data_H);         
    IIC_Wait_Ack();         
    IIC_Send_Byte(data_L);
        IIC_Wait_Ack();        
    IIC_Stop();//產(chǎn)生一個(gè)停止條件         
        delay_ms(10);        
}

MCP4725.h

#ifndef __MCP4725_H
#define __MCP4725_H
#include "myiic.h"   


#define VREF_5V      4760


void MCP4725_Init(void);
void MCP4725_WriteData_Digital(u16 data);
void MCP4725_WriteData_Voltage(u16 Vout);

#endif



0.jpg
1571828645751.jpg

MCP4725驅(qū)動(dòng).7z

185.46 KB, 下載次數(shù): 50

回復(fù)

使用道具 舉報(bào)

ID:511461 發(fā)表于 2019-10-23 19:38 | 顯示全部樓層
程序的話,我就看的網(wǎng)上的例程
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2019-10-24 14:03 | 顯示全部樓層
MCP4725的器件地址并不是固定的,它是在出廠的時(shí)候設(shè)定的,在數(shù)據(jù)手冊(cè)的后面有流明的
所以,你網(wǎng)上下載的程序代碼有可能和你現(xiàn)在手頭上的IC器件地址是不對(duì)應(yīng)的
C我不會(huì),STM32沒用過
但原理是一樣的,你可以在寫完器件的8位數(shù)據(jù)的應(yīng)答信號(hào)之后加一個(gè)標(biāo)志位,并通過屏幕或者一個(gè)LED指示燈提示出來,如果沒有提示,就表明器件的地址不對(duì),或者是其它的問題
只要能確定4725可以正常應(yīng)答了,那么器件的地址就是對(duì)的
回復(fù)

使用道具 舉報(bào)

ID:511461 發(fā)表于 2019-10-26 18:49 | 顯示全部樓層
//使用快速模式寫命令寫DAC寄存器
void MCP4725_WriteData_Voltage(u16 Vout)   //電壓?jiǎn)挝籱V
{
  u8 temp;
        u16 Dn;
        LED_Init();                                  //初始化與LED連接的硬件接口
        Dn = ( 4096 * Vout) / VREF_5V;
        temp = (0x0F00 & Dn) >> 8;  //12位數(shù)據(jù)
       
        IIC_Start();
        IIC_Send_Byte(0XC2);      //器件尋址,器件代嗎:1100; 地址位A2,A1,A0為 0 , 0 , 1;-> 1100 0010
  IIC_Wait_Ack();         
  IIC_Send_Byte(temp);        
  IIC_Wait_Ack();         
  IIC_Send_Byte(Dn);        //將低8位送到DAC寄存器
        IIC_Wait_Ack();       
        LED0=0;                 //   我用LED0的亮做了提示
  IIC_Stop();//產(chǎn)生一個(gè)停止條件         
        delay_ms(10);       
}
結(jié)果LED亮了,是不是代表我的IIC地址沒錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:511461 發(fā)表于 2019-10-26 18:53 | 顯示全部樓層
我這樣做提示,沒有問題吧,但我的程序現(xiàn)在還是不能用
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2019-10-27 01:34 | 顯示全部樓層
aaaaaa。 發(fā)表于 2019-10-26 18:53
我這樣做提示,沒有問題吧,但我的程序現(xiàn)在還是不能用

這不是第一步
首先,你要先看到MCP4725上面的絲印是什么,然后才能確定地址位是多少,并不是絕對(duì)的0xC2的,不同的絲印的器件地址位是不同的
看不清楚的話可以用放大鏡或者手機(jī)拍下來看
先確定了器件地址再說
回復(fù)

使用道具 舉報(bào)

ID:630813 發(fā)表于 2019-10-27 10:58 | 顯示全部樓層
怎么看絲印啊
回復(fù)

使用道具 舉報(bào)

ID:18297 發(fā)表于 2019-10-27 11:06 | 顯示全部樓層
我認(rèn)為你的MCP4725的A0腳應(yīng)該接地或上拉,不應(yīng)該懸空。
這樣程序?qū)α耍敵鼋Y(jié)果才對(duì)。
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2019-10-27 17:13 | 顯示全部樓層
aaaaaa。 發(fā)表于 2019-10-26 18:53
我這樣做提示,沒有問題吧,但我的程序現(xiàn)在還是不能用

還有A0端口,要么上拉,要么接地,不能空著
最后,根據(jù)A0的高低電平和絲印來先確定器件的地址
回復(fù)

使用道具 舉報(bào)

ID:383537 發(fā)表于 2020-2-22 10:15 | 顯示全部樓層
Y_G_G 發(fā)表于 2019-10-27 01:34
這不是第一步
首先,你要先看到MCP4725上面的絲印是什么,然后才能確定地址位是多少,并不是絕對(duì)的0xC2的, ...

感謝大佬提醒
回復(fù)

使用道具 舉報(bào)

ID:511461 發(fā)表于 2020-7-19 11:20 | 顯示全部樓層
謝謝大佬們指點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:143694 發(fā)表于 2020-11-7 22:05 | 顯示全部樓層
我的調(diào)通了,地址是0xC0,
說來也不容易啊,賣家給的地址是 0x60 或0x61,怎么試驗(yàn)都不行,
后來我自動(dòng)累加地址試驗(yàn)串口輸出觀察地址和示波器上的電壓
(最后需要注意的是 兩個(gè)地方需要改地址)
回復(fù)

使用道具 舉報(bào)

ID:848585 發(fā)表于 2021-7-26 15:22 | 顯示全部樓層
張小帥1126 發(fā)表于 2020-11-7 22:05
我的調(diào)通了,地址是0xC0,
說來也不容易啊,賣家給的地址是 0x60 或0x61,怎么試驗(yàn)都不行,
后來我自動(dòng)累 ...

那兩個(gè)地方啊
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2021-7-26 20:34 | 顯示全部樓層

兩年了,又看到這個(gè)帖子了,在數(shù)據(jù)手冊(cè)的27頁面和43頁面有說明:高位是1100,A2,A1的值要看你手頭上芯片的絲印,A0就是芯片的A0引腳電平,一定要接VCC或者GND,不能懸空
51hei截圖20210726202800.png 51hei截圖20210726202826.png

回復(fù)

使用道具 舉報(bào)

ID:491875 發(fā)表于 2023-8-10 12:48 | 顯示全部樓層
Y_G_G 發(fā)表于 2021-7-26 20:34
兩年了,又看到這個(gè)帖子了,在數(shù)據(jù)手冊(cè)的27頁面和43頁面有說明:高位是1100,A2,A1的值要看你手頭上芯片的絲 ...

這個(gè)已經(jīng)很貼切的說明了地址(A2,A1),絲印AJ對(duì)應(yīng)A0(00),AP對(duì)應(yīng)A1(01),AQ對(duì)應(yīng)A2(10),AR對(duì)應(yīng)A3(11),A0的地址由用戶自己設(shè)定0(接地)或者1(通過10k左右電阻接VDD)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品一区二区三 | 午夜天堂精品久久久久 | 天天综合久久 | 日韩欧美亚洲一区 | 亚洲情综合五月天 | 男女深夜网站 | 日本久久精品视频 | 久久精品亚洲成在人线av网址 | 精品一区二区av | 国产一区二区三区在线看 | 亚洲成人999 | 成人av大全 | 国产午夜一级 | 99国产视频 | 亚洲综合二区 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美激情在线精品一区二区三区 | 国产亚洲一区在线 | 视频三区| 91资源在线 | 97精品国产97久久久久久免费 | 日韩中文字幕在线免费 | 91毛片在线看| 狠狠操在线 | 中文字幕在线一区二区三区 | 亚洲日本国产 | 一区二区av | 日韩精品一区二区三区视频播放 | 精品九九九| 久久精品视频91 | 仙人掌旅馆在线观看 | 亚洲成人免费观看 | 九九精品网 | 久久一区二区三区四区 | 日韩欧美电影在线 | 天堂免费看片 | 国产精品美女久久久久aⅴ国产馆 | 在线日韩 | 成人国产在线视频 | 国产精品久久久久久久久久99 | 一区二区三区免费观看 |