User Tools

Site Tools


projektid:arendusprojektid:pisi_xbee5:naited

Pisi-Xbee5 näitekoodid

  • LSM330DLC Küro ja kiirendusanduri lugemite võtmine ja kirjutamine jadaporti
      • Lisa pakk samasse kausta kuhu panid teegi template zip faili.
    • Võib ka otse projekti main.c faili kopeerida all oleva koodi
/*
 * main.c
 *
 * Created: 23.12.2016
 *  Author: Kaupo Raid
 */
 
#include <avr/io.h>
#include <util/delay.h>
#include "drivers/board.h"
#include "drivers/com.h"
#include "drivers/gyro.h"
 
int main(void)
{
    char buff[40];
	uint8_t color = 0;
    clock_init();		// Seadista süsteemi kell 32MHz peale
    board_init();		// Seadista LED ja nupud
    radio_init(57600);	// Seadista raadiomooduli UART
	gyro_init();		// Seadsita LSM330DLC andur
 
	//Vajuta punast nuppu, et kalibreerida küro ja kiirendusandur
	//vilgutab punast LED-i kuni punast nuppu on vajutatud
	while(!sw1_read()){
		rgb_set(RED);
		_delay_ms(100);
		rgb_set(OFF);
		_delay_ms(50);
	}
	gyro_zero_gyro(); //määrab uue küro nullpunkti
	gyro_zero_accel(); //määrab uue kiirendusanduri nullpunkti
 
    while(1)
    {
        if(sw1_read())
        {
            rgb_set(GREEN);
			while(1){
				gyro_read_gyro();
				sprintf(buff,"X:%5d Y:%5d Z:%5d\n\r", gyro[0], gyro[1], gyro[2]);
				radio_puts(buff);
				_delay_ms(100);
			}
        }
        else if(sw2_read())
        {
            rgb_set(BLUE); 
			while(1){
				gyro_read_accel();
				sprintf(buff,"X:%5d Y:%5d Z:%5d\n\r", accel[0], accel[1], accel[2]);
				radio_puts(buff);
				_delay_ms(100);
			}
        }
        else
        {
			if(systick % 100 == 0){
				if(color == 2) color = 4;
				else color = 2;
				rgb_set(color);
			}
        }
		//main while end
	} 
}
projektid/arendusprojektid/pisi_xbee5/naited.txt · Last modified: 2022/04/28 20:24 by 127.0.0.1