Pisi-XBee 5 teek
Plaat
Konstandid
Nuppude viigud ja port
#define SW_PORT PORTD
#define SW1 (1«4)
#define SW2 (1«5)
RGB LEDi viigud ja port
#define LED_PORT PORTB
#define LED_GREEN 2
#define LED_BLUE 3
#define LED_RED 1
RGB LEDi värvid
#define GREEN 2
#define RED 1
#define BLUE 4
#define TEAL 6
#define MAGENTA 5
#define YELLOW 3
#define WHITE 7
#define OFF 0
XBee viigud ja port
#define COMPORT PORTE
#define TXD 3
#define RXD 2
IMU viigud
#define SDA 0
#define SCL 1
Funktsioonid
#include <avr/io.h>
#include "drivers/board.h"
int main(void)
{
// Seadista süsteemi kell 32MHz peale
clock_init();
// Seadista plaadil olev LED ja nupud.
board_init();
while(1)
{
if(sw1_read() == 1) // Kui SW1 on vajutatud
{
rgb_set(GREEN); // RGB LED põleb roheliselt
}
else if(sw2_read() == 1) // Kui SW2 on vajutatud
{
rgb_set(BLUE); // RGB LED põleb siniselt
}
else // Kumbki pole vajutatud
{
rgb_set(OFF); // RGB LED kustu
}
}
}
ADC
Funktsioonid
void adc_init(void)
ADC tööks ettevalmistamine.
ADC käivitatakse järgnevas režiimis:
#include "drivers/adc.h"
int main(void)
{
// Käivita ADC muundur
adc_init();
// Loe ADC kanalist 0 väärtus, ning salvesta see muutujasse "adc_val"
unsigned int adc_val = adc_read(0);
}
Mootorid
Konstandid
Funktsioonid
#include "drivers/motors.h"
int main(void)
{
// Käivita mootori PWM
motors_init();
// Sea vasaku mootori kiirused:
// vasak 50% ühtpidi
// parem 25% teist pidi
motor_set(500,-250);
}
UART
Konstandid
Raadio USART mooduli valik
#define RADIO_
USART USARTE0
Raadio USART mooduli vastuvõtmise katkestuse valik
#define RADIO_
USART_RXC_vect USARTE0_RXC_vect
Raadio USART mooduli saatmise katkestuse valik
#define RADIO_
USART_DRE_vect USARTE0_DRE_vect
Funktsioonid
void radio_init(uint32_t baud)
void radio_putc(char character)
void radio_puts(char* stringPtr)
int radio_getc()
int radio_getc_nolock()
int radio_gets(char* stringPtr)
#include <stdio.h> // Oluline süsteemi fail, mis sisaldab sprintf käsku
#include "drivers/board.h"
#include "drivers/com.h"
int main(void)
{
int x = 54; // Suvaline muutuja
char buff[20]; // Saatmise puhver
// Seadista süsteemi kell 32MHz peale
clock_init();
// Käivita raadio UART kanal boodikiirusega 57600
radio_init(57600);
// Saada välja sõnum koos reavahetusega
radio_puts("PisiXBee 5!\n");
// Loo sõnum, mis sisaldab muutujat.
// %d on asukoht, kuhu kirjutatakse muutuja x väärtus
sprintf(buff,"Muutuja: %d\n",x);
// Saada loodud sõnum välja
radio_puts(buff);
while(1)
{
char c = radio_getc(); // Loe UART puhvrist üks täht
radio_putc(c); // Saada saadud täht tagasi
}
}