Vizitator mihail.stoica Postat Mai 29, 2017 Partajează Postat Mai 29, 2017 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 Citează Link spre comentariu
nico_2010 Postat Mai 29, 2017 Partajează Postat Mai 29, 2017 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." Citează Link spre comentariu
ratza Postat Mai 31, 2017 Partajează Postat Mai 31, 2017 Părerea mea e că un programator cu debugger e extrem de indicat. Deşi nu e ieftin, eu aş merge pe un SAM-ICE. Citează Link spre comentariu
aureliu67 Postat Decembrie 1, 2023 Partajează Postat Decembrie 1, 2023 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); } Citează Link spre comentariu
nico_2010 Postat Decembrie 1, 2023 Partajează Postat Decembrie 1, 2023 PA9 si PA10 nu sunt intrari ADC. Studiaza pinout-ul: https://www.google.com/search?q=bluepill+pinout&oq=bluepill+pinout&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIJCAEQABgKGIAEMggIAhAAGBYYHjIKCAMQABgKGBYYHjIKCAQQABgKGBYYHjIICAUQABgWGB4yCAgGEAAYFhgeMggIBxAAGBYYHtIBCDUyNTNqMGo4qAIAsAIA&client=tablet-android-samsung-ss&sourceid=chrome-mobile&ie=UTF-8&chrome_dse_attribution=1#cobssid=s&vhid=OU7e1OmkHI8TsM&vssid=l Citează Link spre comentariu
aureliu67 Postat Decembrie 1, 2023 Partajează Postat Decembrie 1, 2023 (editat) 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 Decembrie 1, 2023 de aureliu67 Citează Link spre comentariu
merck Postat Decembrie 1, 2023 Partajează Postat Decembrie 1, 2023 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); } } Citează Link spre comentariu
aureliu67 Postat Decembrie 1, 2023 Partajează Postat Decembrie 1, 2023 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/// Citează Link spre comentariu
Postări Recomandate
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ă.