Vrand sa reiau testele si proiectele cu placile "blue pill" realizate cu microcontrolerul STM32F103 pe un calculator "fresh" pe care a fost instalat programul Arduino IDE versiunea 1.18.12, am urmat pasii ce ii indicasem in articolul "Placa de dezvoltare cu microcontroler STM32F103C8T6", doar ca avut neplacuta supriza sa primesc o eroare la compilare "exec: "/bin/arm-none-eabi-g++": file does not exist".
Am realizat ca mai trebuie instalat ceva, asa ca am "abuzat de google", vorba lui Vlad Gheorghe si am gasit artiolul STM32-Arduino -STM32f103c8t6 Programming Guide in care se mentioneaza ca mai trebuie instalate si placile de dezvoltare cu microcontrolere SAM M3
asa ca am dat sa se instaleze
pana am vazut
Am compilat exemplul, care trebuia sa mearga, si am obtinut un rezultat ce il asteptam
asa ca am incarcat programul, obtinad, cum era de asteptat rezulat bun:
Am mutat jumperul de programare, am apasat butonul de RESET si am incarcat programul de test, obtinand
am pus la loc jumperul pentru functionarea normala si ledul de pe placa palpaie
Urmeaza sa testez diverse proiecte cu aceata placa...
In anul 2015 am achizitionat o placa de dezvoltare cu pret foarte bun (aproape 4$, la data aceea) tinand cont ca este cu un microcontroler pe 32 biti, cu frecventa de lucru de 72MHz (vedeti datasheet)... la prima vedere similara cu Arduino Due, cum ar fi Nano fata de Uno, sa zic. Din pacate, in acea perioada nu am gasit rapid informatii despre ea s-o folosesc cu programul Arduino IDE, asa ca a ramas sigilata punguta ei pana acum, cand din discutii cu Andrei Timofte, am zis s-o testez si eu.
Am conectat placa conform indicatiilor din articolul How To Program STM32F103C8T6, dar am constatat ca nu se aprinde nici un led de pe placa de dezvoltare.
asa ca am legat ca in articolul ARDUINO GOES STM32, adica am scos firul de 3,3V de venea de la interfata USB-FTDI si am alimentat cu un cablu USB din calculator.
Dupa ce ma urmarit schema placii prezentate in articolul mentionat anterior, am desfacut legaturile de realizate in prima faza si le-am conectat pe lateral
schema devenind
In mod normal, cei 2 jumperi sun in pozitia O (in dreapta, cum se vede in poza de mai jos).
Anterior, am facut sa am placile de dezvoltare cu STM32, descarcand de la https://github.com/rogerclarkmelbourne/Arduino_STM32 fisierul comprimat, l-m dezarhivat si l-am pus in subdirectorul hardware din cel in care este instalat programul Arduino IDE:
Dupa ce se incarca sketch-ul si se configureaza programul Arduino pentru placa noastra
‘Board:Generic STM32F103C series‘
‘Variant: STM32F103C8 (20k RAM, 64k Flash)’ ‘Upload method:Serial‘ ‘Port: cel alocat interfetei USB-FTDI de PC’
se trece jumperul BOOT1 pe pozitia 1
si se apasa butonul REST (RESET)
Se apasa butonul de UPLOAD (incarcare)
Se pune jumperul BOOT1 in pozitia normala de functionare si apoi placa functioneaza cu programul incarcat.
Deoarece led-ul intern conectat la PC13 este legat la plus, logica este inersa, adica la comanda de HIGH e stins, respectiv la LOW e aprins, am modificat sketch-ul BLINK prezentat in articolul How To Program STM32F103C8T6 realizand un efect stroboscopic, dupa cum se vede in filmuletul pe care l-am facut. Sketch-ul modificat este STM32F103C8_blink.ino. Am mai modificat si testat sketch-ul din exemplele incarcate odata cu partea de placa de dezvoltare cu STM32, cel numit BlinkNCount, am meu are definit ledul de pe placa la PC13, cum e in cazul real. Acest al doilea sketch testat este STM32F103C8_BlinkNCount.ino.