您好!
我已经尝试控制 ADS1255一段时间、并尝试读取这些值。 不幸的是,我仍然有问题。
对于设置:我有一个板、其中 ATmega88是 ADS1255和 RS485通信之间的接口。 电路取自 NIRscanNano 的原理图、如下所示:
#define F_CPU 11059200 #include #include #include #define BAUD 115200UL #define UBRR0_VALUE (F_CPU/(16* BAUD)-1) #define CS_LOW PORTB &&~(1 <<PB2); #define CS_HIGH PORTB |=(1 <<PB2); /UART 函数____________________________ //_________________ 配置 UART _________ void UART_init () { UBRR0H =(unsigned char)(UBRR0_value >> 8); UBRR0L =(unsigned char) UBRR0_value; UCSR0B =(1<<TXEN0) | (1<<RXEN0); UCSR0C = (1<<UCSZ00) | (1< <<<"ads1255="" reset");="" uart_transmit_char('\r');="" _delay_us(5);="" ads1255_transceive(0xf);="" sdatac");="" _delay_us(10);="" cs_high;="" int32_t="" ads1255_read_data()="" result="0;" uint8_t="" adc_bytes[3];="" ads1255_transceive(0x01);="" adc_bytes[0]="ADS1255_transceive(0);" adc_bytes[1]="ADS1255_transceive(0);" adc_bytes[2]="ADS1255_transceive(0);" if="" (adc_bytes[0]="" 0x80)="" negativ="" (((0xff)<<<<<<<<不幸的是、我从转换器获得了一个答案、但我没有预料到、之后我再也没有得到任何答案。 DRDY 信号始终处于高电平。 也许其他人会提供有关如何从 ADS1255获取合理值的提示或建议。
以下是使用我的 LogicAnalyzer 记录的前三条命令:
命令:0xFE (复位)
命令:0x0F (SDATAC)
命令:0x01、0x00、0x00 0x00 (RDATA、读取、读取、 读取)我希望有人能为我提供一些建议或技巧。
此致
Michael