Sari la conținut
ELFORUM - Forumul electronistilor

Programare ARM


Vizitator mihail.stoica

Postări Recomandate

Vizitator mihail.stoica

Buna ziua

 

Vin din zona microcontrolere PIC16F.., PIC18F.. asa ca la ARM sunt pifan.

Pentru ATSAM4SD32 (procesor ARM Cortex4 de la Atmel) cu ce device il programez (bootloader, program) ?

 

Multumesc anticipat

Link spre comentariu
  • Răspunsuri 7
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Pag. 267 din DS:

"The SAM4 series microcontrollers feature a number of complementary debugand test capabilities. The Serial Wire/JTAG Debug Port (SWJ-DP) combining a Serial Wire Debug Port (SW-DP) and JTAG Debug (JTAG-DP) portis used for standard debugging functions, such as downloading code and single-stepping through programs. It alsoembeds a serial wire trace."

Link spre comentariu
  • 6 ani mai târziu...

Buna ziua. Deranjez din nou cu intrebari "primitive". Am reusit sa instalez bootloaderul la  STM 32 blue pill, am reusit sa aprind ledurile ca sa verific daca am folosit corect comenzile pt portul respectiv dar acum urmeaza sa citesc datele de la ADC si sa le compar pentr a efectua operatii logice. Ultima parte nu stiu de ce nu functioneaza. Posibil pt ca comenzile pt STM sunt diferite de cele ale Arduino . Mentionez ca folosesc Arduino IDE pt ca pt altceva nu ma tin "curelile" 

codul este mai jos

 


const int analogInput1 = PA9;

const int analogInput2 = PA10;
void setup()
{ pinMode(PB1, OUTPUT);
 pinMode(PB2, OUTPUT);
lcd.clear();
}
void loop()
{
int analogVal1 = analogRead(analogInput1);
int analogVal2 = analogRead(analogInput2);
if (analogVal1>analogVal2) digitalWrite(PB2, LOW);
delay (300);
digitalWrite(PB1, HIGH);

delay (300);
if (analogVal2>analogVal1) digitalWrite(PB1, LOW);
delay (300);
digitalWrite(PB2, HIGH);
delay (300);
digitalWrite(PB2, LOW);
delay (3000);
}

Link spre comentariu

Am corectat programul si am conectat la pinii corespunzatori. Dar tot nu vrea sa mearga.

const int analogInput1 = PA0;

const int analogInput2 = PA1;
void setup()
{ pinMode(PB1, OUTPUT);
 pinMode(PB2, OUTPUT);
}
void loop()
{
int analogVal1 = analogRead(analogInput1);
int analogVal2 = analogRead(analogInput2);
if (analogVal1>analogVal2) digitalWrite(PB2, LOW);
delay (300);
digitalWrite(PB1, HIGH);

delay (300);
if (analogVal2>analogVal1) digitalWrite(PB1, LOW);
delay (300);
digitalWrite(PB2, HIGH);
delay (300);
digitalWrite(PB2, LOW);
delay (3000);
}

 

Editat de aureliu67
Link spre comentariu
const int analogInput1 = PA0;
const int analogInput2 = PA1;

void setup()
{
  pinMode(PB1, OUTPUT);
  pinMode(PB2, OUTPUT);
}

void loop()
{
  int analogVal1 = analogRead(analogInput1);
  int analogVal2 = analogRead(analogInput2);

  if (analogVal1 > analogVal2)
  {
    digitalWrite(PB2, LOW);
    delay(300);
    digitalWrite(PB1, HIGH);
    delay(300);
    digitalWrite(PB1, LOW);
  }
  else if (analogVal2 > analogVal1)
  {
    digitalWrite(PB1, LOW);
    delay(300);
    digitalWrite(PB2, HIGH);
    delay(300);
    digitalWrite(PB2, LOW);
    delay(3000);
  }
}

 

Link spre comentariu

Multumesc, acum raspunde la senzor. Am testat cu unul singur, si unul lipsa (defect), dar are efect. O sa incerc cu2 senzori sa vad daca este corecta decizia. Am mai gasit o gresala la porturile de iesire. Ramasese ca in prima varianta demo fara sa fi modificat pt placa mea  B8 si B9.

  

const int analogInput1 = PA0;
const int analogInput2 = PA1;

void setup()
{
  pinMode(PB8, OUTPUT);
  pinMode(PB9, OUTPUT);
}

void loop()
{
  int analogVal1 = analogRead(analogInput1);
  int analogVal2 = analogRead(analogInput2);

  if (analogVal1 > analogVal2)
  {
    digitalWrite(PB9, LOW);
    delay(300);
    digitalWrite(PB8, HIGH);
    delay(300);
    digitalWrite(PB8, LOW);
      delay(1000);
  }
  else if (analogVal2 > analogVal1)
  {
    digitalWrite(PB8, LOW);
    delay(300);
    digitalWrite(PB9, HIGH);
    delay(300);
    digitalWrite(PB9, LOW);
    delay(1000);
  }
}

Multumesc, credeam ca comenzile ar fi diferite din motiv ca am incarcat PC 13 ca sa pornesc ledul placutei si nu a mers, insa a mers cand am ales portul B9 sau B8.. Credeeam ca la fel este si cu analogRead/// 

Link spre comentariu

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.
Notă: Postarea ta va necesita aprobare moderator înainte de a fi vizibilă.

Vizitator
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Răspunde la acest subiect...

×   Alipit ca text avansat.   Restituie formatare

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.




×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări