用STM32F407读取AD转换芯片PCF8591的模数转换数据,通过IIC通信,读取数据程序如下uchar read_adc(uchar channel)
{
uchar val;
IIC_start();
IIC_send_byte(addw);
IIC_wait_ack();
IIC_send_byte(0x40|channel);
IIC_wait_ack();
IIC_start();
IIC_send_byte(addr);
IIC_wait_ack();
val=read_byte(0);
IIC_stop();
return temp;
}
我参考过好多PCF8591应用程序,程序没错,但是读到的数据全是0xFF,更改时钟频率(原频率为168MHZ)数据有变化,但是也不正确,是什么原因,求大神解答 |