资源简介
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通讯案例
- 下一篇:何凯明计算机视觉去雾源码+去雾小应用
评论
共有 条评论