我试图使用SPI从BME280传感器检索atmega328p芯片上的数据。
我使用this library来请求数据。
我的LED闪烁,所以它完成了while循环。我使用FTDI进行调试,但我的终端显示没有输出。 (据我所知,当写入寄存器时,该串行数据应该调试吗?)
我认为startTransmission没有激活传感器,或者我的收发方法没有正确读取寄存器。我不确定如何确定它是图书馆还是我自己的实施导致问题。
的main.c
#include "../src/avr_lib_spi_master.h"
#include <util/delay.h>
int main(void)
{
DDRB |= _BV(PB2); //bit value manipulation on chip select pin
//Instancing (slave select port, pin, mode, bus frequency; clock/2, endian)
AvrLibSpiMaster spiMaster(&PORTB, PB2, AvrLibSpiMaster::SPI_MODE_0, AvrLibSpiMaster::F_2, AvrLibSpiMaster::MSB);
while (1)
{
spiMaster.startTransmission();
uint8_t response = spiMaster.transceive();
spiMaster.endTransmission();
PORTB = 0xFF;
_delay_ms(500);
PORTB = 0x00;
_delay_ms(500);
}
return 0;
}