蓝桥杯单片机组CT107D开发板AD/DA转换一些BUG修复

前言

第十届和第十一届已经写完了,但是目前还是有很多bug,打算写几个专门记录本人程序bug的博客。



此为PCF8591的电路图,也就是CT107D开发板进行AD转换的主要模块。
PCF8591有两个功能
一个是AD转换,另一个DA转换,不细谈这两个功能的具体,只谈我目前的bug

1、AD测量电压不准:

  • 读取数据后发送应答位1表示不连续读取

2、DA输出不准确

  • PCF8951的控制寄存器第三位的意思是是否打开DAC,当第三位置一,DAC打开,不影响ADC的使用,所以再DAC启动的情况下写ADC模式时不能关闭DAC。
uint16 ADC_Mode()
{
	uint8 Val;
	uint16 Val_e;
	IIC_Start();
	IIC_SendByte(0x90);
	IIC_WaitAck();
	IIC_SendByte(0x43);//0x43的4为打开DAC
	IIC_WaitAck();
	IIC_Stop();
	
	IIC_Start();
	IIC_SendByte(0x91);
	IIC_WaitAck();
	Val = IIC_RecByte();
	IIC_SendAck(1);
	IIC_Stop();
	
	Val_e = ((5120/255)*Val)/10;
	
	return Val_e;
}

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值