结合上文分析下面的代码作用unsigned int Read_8688(unsigned int Samp_Ch) { Uint8 Buf; Uint16 Resault, data; // Init_Ads8688(); // Delay_Us(1); AD8688_CS_L; // Delay_Us(1); data = (Uint16)Samp_Ch; Buf = (Uint8)((data >> 8) & 0xff); Comu_8688(Buf, 1); data = (Uint16)Samp_Ch; Buf = (Uint8)((data)&0xff); // Buf = (Uint8)Samp_Ch; Comu_8688(Buf, 1); AD8688_CS_H; AD8688_CS_L; Comu_8688(0X00, 0); Comu_8688(0, 0); Resault = (Comu_8688(0x00, 0)); Resault <<= 8; Resault |= (Comu_8688(0x00, 0)); AD8688_CS_H; return (Uint32)Resault; }
时间: 2024-04-28 15:19:31 浏览: 103
这段代码的作用是读取 AD8688 芯片的模拟信号转换结果。函数的参数 Samp_Ch 表示要读取的模拟信号通道。在函数中,首先将 AD8688 的片选信号拉低,然后通过 Comu_8688 函数向 AD8688 芯片写入要读取的通道号,然后再写入一个字节的数据 0x00,以触发 AD8688 芯片进行模拟信号转换。接着,通过 Comu_8688 函数分别读取转换结果的高字节和低字节,并将其拼接成一个 16 位的数据 Resault。最后,将 AD8688 的片选信号拉高并返回读取到的结果。需要注意的是,函数的返回值类型为 Uint32,但实际上只有 16 位有效数据,因此需要将返回值强制转换为 Uint16。
阅读全文