資源簡介
STM32驅動MCP4725的.c和。h文件,希望對朋友們有幫助。

代碼片段和文件信息
#include?“MCP4725.h“?
#include?“delay.h“
////////////////////////////////////////////////////////////////////////////////// ?
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//ALIENTEK戰艦STM32開發板
//24CXX驅動?代碼(適合24C01~24C1624C32~256未經過測試!有待驗證!) ???
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//修改日期:2012/9/9
//版本:V1.0
//版權所有,盜版必究。
//Copyright(C)?廣州市星翼電子科技有限公司?2009-2019
//All?rights?reserved ??
//////////////////////////////////////////////////////////////////////////////////
//初始化IIC接口
void?MCP4725_Init(void)
{
IIC_Init();
}
//使用快速模式寫命令寫DAC寄存器
void?MCP4725_WriteData_Voltage(u16?Vout)???//電壓單位mV
{
??u8?temp;
u16?Dn;
Dn?=?(?4096?*?Vout)?/?VREF_5V;
temp?=?(0x0F00?&?Dn)?>>?8;??//12位數據
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();//產生一個停止條件??
delay_ms(10);
}
?
void?MCP4725_WriteData_Digital(u16?data)???//12位數字量
{
??u8?data_H=0data_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?0010
????IIC_Wait_Ack(); ?
????IIC_Send_Byte(data_H);?
????IIC_Wait_Ack(); ?
????IIC_Send_Byte(data_L);
IIC_Wait_Ack();
????IIC_Stop();//產生一個停止條件??
delay_ms(10);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1607??2018-05-22?09:15??STM32代碼\MCP4725.c
?????文件????????770??2017-08-07?16:26??STM32代碼\MCP4725.h
?????文件???????3819??2018-05-21?20:10??STM32代碼\myiic.c
?????文件???????1416??2018-05-21?18:48??STM32代碼\myiic.h
?????目錄??????????0??2018-07-17?16:04??STM32代碼
-----------?---------??----------?-----??----
?????????????????7612????????????????????5
- 上一篇:STM8主從機IIC通訊案例
- 下一篇:何凱明計算機視覺去霧源碼+去霧小應用
評論
共有 條評論