Добрый день. я начинающий в программирование на языке C. сейчас пишу маленькую программу, чтобы процессор по SPI получал данные от акселерометра. Каким образом мне отправить данные на CTRL_REG1 и CTRL_REG4?
#include <avr/io.h> #include <avr/interrupt.h> // Define SPI #define SPI_DDR DDRB #define SPI_PORT PORTB #define SPI_MISO PB3 #define SPI_MOSI PB2 #define SPI_SCK PB1 #define SPI_SS PB0 void spi_init() { // Configure MOSI, SCL as output SPI_DDR = (1 << SPI_MISO) | (1 << SPI_SCK); // Configure SPI: SPI Enable / SPI working in 1 mode / clock = fosc/4 SPCR = (1 << SPE) | (1 << CPHA) | (1 << CPOL); } void init_acel() { CTRL_REG1 = 0b01000011; // Sensor enabled in normal mode with clock 10 Hz, X and Y active CTRL_REG4 = 0b00001000; // +/- 2gr. } ISR(SPI_STC_vect) { PORTA = SPDR; } int main(void) { spi_init(); init_acel(); DDRA = 0xFF; sei(); while(1); { PORTA = SPDR; } }
ДШ на процессор: http://www.atmel.com...ges/doc7593.pdf