Guest mihail.stoica Posted May 29, 2017 Share Posted May 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 Link to comment
nico_2010 Posted May 29, 2017 Share Posted May 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." Link to comment
ratza Posted May 31, 2017 Share Posted May 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. Link to comment
aureliu67 Posted December 1, 2023 Share Posted December 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); } Link to comment
nico_2010 Posted December 1, 2023 Share Posted December 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 Link to comment
aureliu67 Posted December 1, 2023 Share Posted December 1, 2023 (edited) 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); } Edited December 1, 2023 by aureliu67 Link to comment
merck Posted December 1, 2023 Share Posted December 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); } } Link to comment
aureliu67 Posted December 1, 2023 Share Posted December 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/// Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now