Fait fonctionner sur ardu micro
This commit is contained in:
parent
cd7f3a694f
commit
5d1a70be50
8 changed files with 75 additions and 30 deletions
11
Makefile
11
Makefile
|
|
@ -46,7 +46,8 @@
|
|||
# $Id$
|
||||
|
||||
#Bootloader Port
|
||||
PORT = /dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Mega_2560_6493534363335111A032-if00
|
||||
#PORT = /dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Mega_2560_6493534363335111A032-if00
|
||||
PORT = /dev/ttyACM0
|
||||
# /dev/serial/by-id/usb-Arduino_LLC_Arduino_Micro-if00
|
||||
#Device Port (for autoreset)
|
||||
RESETPORT = /dev/ttyU0
|
||||
|
|
@ -57,10 +58,10 @@ TARGET = pyrorf
|
|||
SRC = main.c lcd.c spi.c rf24.c
|
||||
CXXSRC =
|
||||
ASRC = i2cmaster.S
|
||||
MCU = atmega2560
|
||||
MCU = atmega32u4
|
||||
F_CPU = 16000000UL
|
||||
FORMAT = ihex
|
||||
UPLOAD_RATE = 20000
|
||||
UPLOAD_RATE = 57600
|
||||
|
||||
# Name of this Makefile (used for "make depend").
|
||||
MAKEFILE = Makefile
|
||||
|
|
@ -98,10 +99,10 @@ LDFLAGS = -lm -Wl,--gc-sections
|
|||
|
||||
|
||||
# Programming support using avrdude. Settings and variables.
|
||||
AVRDUDE_PROGRAMMER = stk500
|
||||
AVRDUDE_PROGRAMMER = avr109
|
||||
AVRDUDE_PORT = $(PORT)
|
||||
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex:i
|
||||
AVRDUDE_FLAGS = -F -p m2560 -P$(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -b $(UPLOAD_RATE)
|
||||
AVRDUDE_FLAGS = -D -F -p m32u4 -P$(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -b $(UPLOAD_RATE)
|
||||
|
||||
# Program settings
|
||||
CC = avr-gcc
|
||||
|
|
|
|||
12
i2cmaster.S
12
i2cmaster.S
|
|
@ -38,11 +38,23 @@
|
|||
|
||||
;******----- Adapt these SCA and SCL port and pin definition to your target !!
|
||||
;
|
||||
#if defined (__AVR_ATmega32U4__)
|
||||
|
||||
#define SDA 7 // SDA Port D, Pin 1
|
||||
#define SCL 6 // SCL Port D, Pin 0
|
||||
#define SDA_PORT PORTB // SDA Port D
|
||||
#define SCL_PORT PORTB // SCL Port D
|
||||
|
||||
|
||||
#else
|
||||
|
||||
#define SDA 1 // SDA Port D, Pin 1
|
||||
#define SCL 0 // SCL Port D, Pin 0
|
||||
#define SDA_PORT PORTD // SDA Port D
|
||||
#define SCL_PORT PORTD // SCL Port D
|
||||
|
||||
#endif
|
||||
|
||||
;******----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
|
|
|||
1
lcd.c
1
lcd.c
|
|
@ -32,6 +32,7 @@ void i2csend(uint8_t data){
|
|||
void pulseEnable (uint8_t data)
|
||||
{
|
||||
i2csend (data | _En); // En HIGH
|
||||
|
||||
i2csend (data); // En LOW
|
||||
}
|
||||
|
||||
|
|
|
|||
41
main.c
41
main.c
|
|
@ -19,7 +19,7 @@ int main (void);
|
|||
void setup (void);
|
||||
void loop (void);
|
||||
void lcdprint( char* ptr);
|
||||
|
||||
void debughex (uint8_t* ptr,uint8_t len);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
|
@ -30,32 +30,45 @@ int main(void)
|
|||
|
||||
void setup(void)
|
||||
{
|
||||
#if defined(USBCON)
|
||||
USBCON=0;
|
||||
#endif
|
||||
|
||||
lcd_init(20,4);
|
||||
lcd_backlight(1);
|
||||
lcd_backlight(0);
|
||||
lcd_clear();
|
||||
lcd_home();
|
||||
lcd_display();
|
||||
lcdprint("Pyro RF ! ");
|
||||
|
||||
spi_init_master();
|
||||
|
||||
rf24_init();
|
||||
|
||||
char st = rf24_read_reg(CONFIG);
|
||||
debughex(&st,1);
|
||||
|
||||
#if defined(__AVR_ATmega32A__)
|
||||
_delay_ms(200);
|
||||
|
||||
spi_init_master();
|
||||
_delay_ms(200);
|
||||
|
||||
rf24_setup();
|
||||
|
||||
// rf24_init();
|
||||
//char st = rf24_read_reg(STATUS);
|
||||
rf24_update_fifo_status();
|
||||
debughex(&rf24_status,1);
|
||||
|
||||
|
||||
|
||||
while(1);
|
||||
#if defined(TIMSK1)
|
||||
// setup Timer1
|
||||
TCCR1A = 0;
|
||||
TCNT1=0;
|
||||
OCR1A = 2000;
|
||||
TIMSK = _BV(OCIE1A);
|
||||
OCR1A = 10000;
|
||||
TIMSK1 = _BV(OCIE1A);
|
||||
TCCR1B = _BV(WGM12)|_BV(CS11);
|
||||
#elif defined(__AVR_ATmega2560__)
|
||||
// setup Timer1
|
||||
TCCR1A = 0;
|
||||
TCNT1=0;
|
||||
OCR1A = 10000;
|
||||
TIMSK1 = _BV(OCIE1A);
|
||||
TIMSK = _BV(OCIE1A);
|
||||
TCCR1B = _BV(WGM12)|_BV(CS11);
|
||||
#endif
|
||||
|
||||
|
|
@ -90,7 +103,7 @@ void lcdprint( char* ptr)
|
|||
}
|
||||
|
||||
|
||||
void debughex (char* ptr,uint8_t len) {
|
||||
void debughex (uint8_t* ptr,uint8_t len) {
|
||||
while (len--) {
|
||||
uint8_t c = *(ptr++);
|
||||
uint8_t ch= c>>4;
|
||||
|
|
|
|||
10
rf24.c
10
rf24.c
|
|
@ -24,6 +24,7 @@ void inline rf24_ceHi(){
|
|||
|
||||
void inline rf24_ceLow(){
|
||||
CE_PIN_PORT &= ~_BV(CE_PIN_BIT);
|
||||
|
||||
}
|
||||
|
||||
void inline rf24_csnHi(){
|
||||
|
|
@ -66,11 +67,15 @@ uint8_t rf24_read_reg(const uint8_t reg)
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void rf24_update_fifo_status()
|
||||
{
|
||||
rf24_csnLow();
|
||||
_delay_ms(1);
|
||||
rf24_status = spi_transfer(FIFO_STATUS);
|
||||
rf24_fifo = spi_transfer(0);
|
||||
_delay_ms(1);
|
||||
rf24_csnHi();
|
||||
}
|
||||
|
||||
|
|
@ -78,8 +83,9 @@ void rf24_setup()
|
|||
{
|
||||
CE_PIN_DDR |= _BV(CE_PIN_BIT);
|
||||
CSN_PIN_DDR |= _BV(CSN_PIN_BIT);
|
||||
CE_PIN_PORT &= ~_BV(CE_PIN_BIT);
|
||||
CSN_PIN_PORT |= _BV(CSN_PIN_BIT);
|
||||
rf24_ceLow();
|
||||
rf24_csnHi();
|
||||
|
||||
}
|
||||
|
||||
void rf24_init()
|
||||
|
|
|
|||
14
rf24.h
14
rf24.h
|
|
@ -13,7 +13,7 @@ void rf24_update_fifo_status();
|
|||
|
||||
extern uint8_t rf24_status;
|
||||
extern uint8_t rf24_fifo;
|
||||
|
||||
void rf24_setup();
|
||||
void rf24_init();
|
||||
|
||||
/*
|
||||
|
|
@ -37,13 +37,13 @@ int rf24_waitforTX();
|
|||
|
||||
#elif defined(__AVR_ATmega32U4__)
|
||||
|
||||
#define CE_PIN_PORT PORTD
|
||||
#define CE_PIN_DDR DDRD
|
||||
#define CE_PIN_BIT PD4
|
||||
#define CE_PIN_PORT PORTB
|
||||
#define CE_PIN_DDR DDRB
|
||||
#define CE_PIN_BIT PB4
|
||||
|
||||
#define CSN_PIN_PORT PORTC
|
||||
#define CSN_PIN_DDR DDRC
|
||||
#define CSN_PIN_BIT PC6
|
||||
#define CSN_PIN_PORT PORTB
|
||||
#define CSN_PIN_DDR DDRB
|
||||
#define CSN_PIN_BIT PB5
|
||||
|
||||
#elif defined(__AVR_ATmega32A__)
|
||||
|
||||
|
|
|
|||
4
spi.c
4
spi.c
|
|
@ -5,9 +5,9 @@
|
|||
void spi_init_master() {
|
||||
|
||||
|
||||
SPI_PORT |= _BV(SCK_PIN);
|
||||
SPI_PORT |= _BV(SCK_PIN)| _BV(SS_PIN);
|
||||
SPI_DDR |= _BV(MOSI_PIN) | _BV(SCK_PIN) | _BV(SS_PIN);
|
||||
SPCR = _BV(SPE) | _BV(MSTR) | _BV(SPR1)| _BV(SPR0);
|
||||
SPCR = _BV(SPE) | _BV(MSTR) ;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
12
spi.h
12
spi.h
|
|
@ -22,6 +22,18 @@ extern "C"{
|
|||
#define MOSI_PIN PB2
|
||||
#define MISO_PIN PB3
|
||||
|
||||
#elif defined (__AVR_ATmega32U4__)
|
||||
|
||||
#define SPI_PORT PORTB
|
||||
#define SPI_DDR DDRB
|
||||
|
||||
|
||||
#define SS_PIN PB0
|
||||
#define SCK_PIN PB1
|
||||
#define MOSI_PIN PB2
|
||||
#define MISO_PIN PB3
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue