Pages: 1 ... 8 9 [10]   Go Down
Author Topic: Aiuto per compilazione STK500boot.c  (Read 5127 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

uh che casino:

non basta fare una cosa tipo:
#define BOTTONE PINA0

e poi usare gli
IF (BOTTONE   &=   ~(1<<BOTTONE))   // condizione bottone low
IF (BOTTONE   |=   (1<<BOTTONE))   // condizione bottone high

è sbagliato?

Logged

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 313
Posts: 21645
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

è sbagliato?
Mettiamola così: !corretto
Logged


0
Online Online
Faraday Member
**
Karma: 39
Posts: 5610
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-yell smiley-yell smiley-yell
Logged

- [GUIDA] IDE1.x - Nuove Funzioni - Sketch Standalone - Bootloader - VirtualBoard
http://arduino.cc/forum/index.php/topic,88546.0.html
- [LIBRERIA] ST7032i LCD I2C Controller Library
http://arduino.cc/forum/index.php/topic,96163.0.html

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Questo è essere diplomatici smiley-grin
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

prima di tutto devi settare il pin come input

poi leggi se il pin è 0 o 1

poi fai quello che devi fare.

cerca "port manipulation" sul playground!
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ecco la modifica pronta all'uso (testata).
Non mi è chiaro come usi il pulsante perché dici che hai le pullup e che chiude verso Vdd, in questo caso ci deve essere una pull down.
Comunque non è un problema basta che nella if metti il confronto verso 0 logico oppure 1 logico a seconda di come chiude il pulsante.
Io ho impostato che per attivare il bootloader il pin PA0 deve essere a stato logico 1 come dovrebbe essere per la configurazione che hai descritto.
Attenzione che dopo aver caricato il nuovo bootloader non vedrai nessun led lampeggiare perché non trovando il pulsante premuto viene ceduto subito il controllo al programma utente che non c'è, quindi apparentemente il processore sembra non fare nulla.

Code:

// codice da inserire subito prima della while (boot_state)
// Setto PA0 come input
DDRA = 0b00000000;
// Attivo pullup interna up su PA0 (usato per il test)
// PORTA = 0b00000001; 

  if ((PINA & 0b00000001) == 1) // inserire la condizione logica desiderata (1 o 0)
   {
while (boot_state==0)
{
while ((!(Serial_Available())) && (boot_state == 0)) // wait for data
{
_delay_ms(0.001);
boot_timer++;
if (boot_timer > boot_timeout)
{
boot_state = 1; // (after ++ -> boot_state=2 bootloader timeout, jump to main 0x00000 )
}
#ifdef BLINK_LED_WHILE_WAITING
if ((boot_timer % 7000) == 0)
{
//* toggle the LED
PROGLED_PORT ^= (1<<PROGLED_PIN); // turn LED ON
}
#endif
}
boot_state++; // ( if boot_state=1 bootloader received byte from UART, enter bootloader mode)
}
   }
  else boot_state = 0;

Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie astrobeed,
compilandolo ho una sfilza di
Code:
error: stray '/240' in program
credo sia un problema di codifica,cosa devo fare?
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 77
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Risolto ho eliminato tutti gli spazi.. ora provo smiley

EDIT:
ho provato: funziona molto bene... bisogna tener premuto il pulsante per caricare lo sketch sui moduli..ma funziona smiley
« Last Edit: May 28, 2012, 09:21:20 am by Giorgio » Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10112
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

metti un pulsante on/off e risolvi il problema di teenre premuto, però poi non lamentarti se lo lasci acceso e si blocca di nuovo smiley
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: 1 ... 8 9 [10]   Go Up
Jump to: