初级会员

- 积分
- 159
- 金钱
- 159
- 注册时间
- 2016-1-13
- 在线时间
- 26 小时
|
发表于 2017-11-1 11:20:48
|
显示全部楼层
本帖最后由 苏格拉到底 于 2017-11-1 11:35 编辑
void DAC4278_WriteOneByte(u8 WriteAddr,u16 DataToWrite) //单次写命令。WriteAddr为通道参数(0,1,2,3)DataToWrite为12DAC数据。器件地址默认000。其余模式查看手册修改即可
{
u8 data8_H,data8_L;
data8_H = (u8)(DataToWrite >> 8);
data8_L = (u8)DataToWrite;
IIC_Start();
IIC_Send_Byte(0xC0); //·¢ËíÆ÷¼tѰַÃüáî,Æ÷¼tμØÖ· £o 000
IIC_Wait_Ack(); //μè′yIICó|′e
IIC_Send_Byte((WriteAddr<<1)+0x58); //μ¥′ÎD′Ãüáî,í¨μàÑ¡ÔñμØÖ·£oWriteAddr¡£UUDAC=0
IIC_Wait_Ack();
IIC_Send_Byte(data8_H); //·¢ËíDAC¸ß×Ö½ú
IIC_Wait_Ack();
IIC_Send_Byte(data8_L); //·¢ËíDACμí×Ö½ú
IIC_Wait_Ack();
IIC_Stop();//2úéúò»¸öí£Ö1ìõ¼t
delay_ms(10);
}
|
|