STM32 Programlama - 2 - GPIO - Register'lar üzerinden LED ve Buton Sürücüsü Yazıyoruz.
HTML-код
- Опубликовано: 28 сен 2024
- GPIO register'ları üzerinden Nucleo kartındaki buton ve LED'i çalışır hale getiriyoruz.
ÖNEMLİ NOT / DÜZELTME:
LED ile ilgili olarak OSPEED register'ına değer yazarken hata yapmışım. Doğru halini örnekte görebilirsiniz:
github.com/cta...
Kanala abone olmayı unutmayın lütfen.
Web: www.coskuntasde...
Instagram: / ctasdemir
Twitter: / ctasdemir
karantinada biz mühendis adaylarına ilaç gibi video atıyorsunuz Çoşkun abi, teşekkür ederiz..
Coskun abi bu serini sonacan cekseniz sevinerem usart ,I2C, Can , bunlar cok az bulnan dersler turk dilinde demek olur hic yok seviyesindedir tesskur ederim .
register anlatımları çok sade ve çok güzel olmuş.
registerları anlarsak zaten bu şekilde gömülü sistemci olup gideriz hocam :)
devam .. :):)
sagolun
Merhaba,
ALT GR + ü basıp, parantez açarsanız, parantez ile beraber tilda işareti de gelir Türkçe klavyede. İlk anda ALT GR + ü yaptığınızda tildanın gelmiyor oluşu sizi yanıltmasın.
Hocam lütfen bütün çevre birimleri bu şekilde anlatın. mümkünse örneklerle. emeğiniz için teşekkürler
Hocam merhabalar , GPIOx_ODR ile GPIOx_BSRR tam olarak farkı nedir ?
Ellerinize sağlık. ALT GR + Ü yapın ve yazmaya devam edin veya 2 kere basın. ~~
COŞKUN BEY MERHABALAR ,
live expressiondan GPIOA->ODR yaptım. fakat value inin altında failed to evaluate expresion hatası veriyor. debugu kapattım tekrar açtım tekrar kodu yükledim vs oluyor yeni proje açıp deneyeyim mi yoksa başka bir çözümünü var mı ?
Eline emegine saglik coskun hocam.
Çoşkun Emeğinize sağlık Allah razı olsun.
Bir sorum olacak 6:50 de 10. ve 11. bitleri 0 yapmak için GPIOA->OSPEEDR |=(0
@@coskuntasdemirRUclips programda reg |= (bit
@@dinamiksoft766 Evet aynen öyle :) Maalesef dalgınlıkla böyle bir hata yapmışım. Daha önce arkadaşın sorduğu soruda da bunun farkına varmamışım. Açıklama kısmına ekleyeceğim, teşekkürler. (Bu örnek için speed değerinin ne olduğu farketmiyor ama high speed olarak ayarlayacaksak iki bit de 1 olmalı)
Teşekkurler hocam.
Live Expressions calısmıyor bendede duzeltebılen varmı?
bazen calisip bazen calimiyorsa. debug ayarından, software system reseti secince bende duzeldi
teşekkürler@@mevluterman
hocam merhabalar benim aldığım kart sanırım vet6 serisinden bir klonmuş yeni fark ettim ve ledlerin hepsi yeşil yanmakta yani bende herhangi bir renk yok sadece 4 led birden yeşil yanıyor. şu an led yakmada bir sorun yaşamadım kodlar falan çalışıyor fakat dediğim gibi sadece yeşil renk yanmakta bu ilerde bir sıkıntı doğurur mu?ona göre yenisine bakmaya çalışacağım
Çalışıyorsa sorun yok ilerde ne sorun çıkabilir bilemem tabii ki
Hocam merhaba, Program MODER, TYPER ve SPEEDR komutlarnı tanımıyor
Bunlar komut değil, GPIO biriminin register isimleri. Bazen kod tamamlama özelliği çalışmayabiliyor. Kod derlenebiliyor mu buna bakabilirsin. Kullandığın model farklı olabilir ve bazen register isimlerinde değişiklikler olabiliyor.
Hocam merhabalar, STM32F103C8T6 ile çalışıyorum. Bunu yapmaya çalışıyorum fakat moder falan yok, yapısı biraz farklı galiba. Reference manualden okuduklarımı sizin kodunuzun benzerine çevirmekte zorlanıyorum. Bu normal midir acaba? MODER yok, CRL CRH var fakat anlamıyorum açıklayıcı gelmiyor.
Modeller arasında isimlendirme veya register tasarımında farklar olabiliyor ama temel çalışma mantıkları aynıdır. Yani orada da benzer ayarları nasıl yapacağına bakmak gerekiyor, konunun mantığını anlamak önemli. CRL ve CRH register'larında da mode ve configuration bitleri olduğunu göreceksin.
@@coskuntasdemirRUclips Tamamdır hocam, sağ olun.
Hocam speed ayarında (11
Videonun açıklama kısmına bakabilirsin
@@coskuntasdemirRUclips Affedersiniz hocam görmemiştim. Ama konuyu anlamış olduğuma sevindim. Emekleriniz icin tekrar Teşekkür ederim.
Hocam yaptığınız iş çok büyük saolun. Bende stm32f103c8t6 kartı var küçük blue pill dediklerinden onda sadece reset butonu var bu butonu user button olarak kullanmak mümkün olur mu? ve hocam board shematice datashetten vs bulamadım ben siz nerden bulmuştunuz.
Harici olarak bir buton ve LED bağlayabilirsin. Reset butonunu bu iş için kullanamazsın.
Hocam GPIOA-> yazıp ctrl+space yapınca No proposals diyor. Sebebi ne olabilir? Ctrl basılı tutup GPIOA'ya tıklayınca da No completions available yazıyor. Ancak ilgili header dosyalar main.h'da include edilmiş durumda. Video için teşekkürler. İyi çalışmalar.
Workspace dizinini değiştirdim oldu. Türkçe karakter yoktu aslında ama sebebini bilmiyorum.
Bazen bu problem oluşabiliyor, sebebini ben de bilmiyorum. Bi kere çalışmayıp sonra çalıştığı da oluyor birşey değiştirmeden.
proteus tan kodları deneyebilir miyiz?
Eğer bir STM32 işlemciyi orada çalıştırabiliyorsan denenebilir tabi. Proteus kullanmadığım için bilmiyorum.
Hocam tilda(~) karakterini için, Sol Alt tuşuna basılı tutarak 126' yı tuşlayabilirsiniz. Bu sayede ascii kodunu bildiğimiz pek çok özel karakteri girebiliriz. Bu arada video çok yararlı olmuş. Teşekkür ederiz.
Evet bunu da biliyordum ama nedense diğer çözüm daha pratik geldi
@@coskuntasdemirRUclips altgr+ü
Hocam, buton (moder13) seçimin de 27 ve 26. bitin 0 0 yapılması gerekmiyor mu?
GPIOC->MODER &= ~(1
Evet orada hata yapmışım, açıklama kısmında doğru örneğe erişebilirsiniz.
@@coskuntasdemirRUclips Teşekkür ederiz hocam.
Merhaba, cubeMx de project manager kısmında ide seçiminde atollic truestudio çıkmıyor nasıl çözebilirim bunu
Artık Atollic Truestudio ,Cube IDE oldu ve cube mx de içerisinde entegre olarak geliyor. Onu kullanabilirsin
Elinize sağlık teşekkür ederiz
hocam f103c8t6 nın user manual inde bu registerları bulamadım :/ acaba her işlemcinin farklı register ı mı var yoksa arm için bütün registerlar aynı mıdır ?
yani hocam burada moder vb gibi şeyleri kullanamadım. sadece ODR registerları işe yaradı.
Bakman gereken döküman “stm32f103 reference manual” : www.st.com/resource/en/reference_manual/rm0008-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
Live expressions'ta sağ üst köşedeki üç nokta menüsünden gösterilen değerin formatı binary olarak ayarlanabiliyor. O özellik bu vidyo çekildikten sonra gelmiş demek ki (Videoda 13:55)
c portu için B1 butonu PC13 pinine bağlı biz burda moder reğisterında 27ve 26. bitleri sıfır yapmamız gerekmezmiydi
Bit isimlendirmeleri sıfırdan başlıyor.
coşkun bey tamam güzel anlatıyorsunuz ama bize veyada meraklısnına bir kaynak kitap lazım siz bunları bir kitap haline getirseniz ders kitabı gibi düşünebiliriz gördüğüm kadarı ile stm32 ile ilgili bir kaynak kitap yok
Maalesef kitap yazmak büyük bir efor gerektiriyor. Şu anda ancak bu videoları çekmeye vakit ayırabiliyorum.