Arkadaşlar merhaba ben Yusuf. Bu yazıda sizlerle STM32 ile debug işlemi yapacağız. Detayları yazımın devamını okuyarak bulabilirsiniz. Kafanıza takılan bir soruyu yorum olarak sorabilirsiniz ayrıca öneri ve eleştirilerinizi de bekliyorum.

DEBUG NEDİR

Debug işlemi mikrodenetleyici çalışırken içindeki değişkenlerin, portların o anki değerlerini canlı olarak ide üzerinden görmemize. Programımızda hatanın olup olmadığını anlamamıza yardımcı olan işlemdir.

STM32 mikrodenetleyici ailesinde ise debug işlemi yapabilmek için st-link isimli programlayıcılar kullanılmaktadır. Bu programlayıcılar hem debug işlemine izin vermekte hemde programları da yüklememize izin vermektedir.

MALZEMELER

DEVRE ŞEMASI

KODUN İNCELENMESİ

CubeMX Ayarları:

Öncelikle yine çalışacağımız mikrodenetleyici olan STM32F103C8 modelini CubeMX üzerinden seçiyoruz. Bu uygulamamızda her hangi bir pin kullanmayacağız.

Öncelikle işlemcinin debug için kullanilabilir olması için System Core > SYS > Debug > Serial Wire olarak seçilmesi lazım.

Daha sonra ise bir önceki yazımda belirttiğim gibi işlemcinin çalışma frekansını 72 MHz olarak ayarlıyoruz bu işlem debug için zorunlu değildir.

Projemizin isim ve konum ayarlarını yaptıktan sonra Generate Code diyerek kod şablonumuzu oluşturuyoruz.

Kodun Yazılması:

Main.c dosyamızı açarak sayi isimli bir değişken tanımlıyoruz.

uint32_t sayi = 0;

Daha sonra ise while(1) içersinde sayi isimli değişkenimizi her yarım saniyede 1 arttıracak kodları yazıyoruz.

 while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		sayi++;
		HAL_Delay(500);
  }
  /* USER CODE END 3 */
}

Debug:

Kodumuzu mikrodenetleyiciye yükledikten sonra debug işlemini başlatabilmek için CTRL+F5 yaparak debug penceresini açıyoruz.

Karşınıza bu şekilde bir ekran gelicektir. Sağdaki Watch 1 isimli pencerede bulunan <Enter expression> yazan yere çift tıklıyoruz ve değişkenimizin ismi olan sayi ismini girip enter diyoruz.

Eğer isterseniz sağ tıklayarak HEX’den Decimale yani 10’luk sisteme çevirebilirsiniz.

Şimdi ise programın çalışması için mikrodenetleyiciyi başlatmamız lazım bunun için sol üst tarafta bulunan kırmızı ile işaretlediğim Run butonuna basıyoruz veya F5 kısayolunu kullanıyoruz.

Biz tıkladıktan hemen sonra sayma işlemi başlayacaktır.

Mikrodenetleyiciye Reset atmak istediğinizde ise Run butonunun solunda yer alan Reset butonuna basmanız yeterli olacaktır.

BAĞLANTILAR

Proje dosyaları:
STM32 ile Led yakma ve kod yükleme: https://lezzetlirobottarifleri.com/stm32f103-nedir/

Instagram: https://www.instagram.com/yusuf_cosgun04/
Instagram: https://www.instagram.com/lezzetlirobottarifleri/
Discord sunucusu: https://discord.gg/8MVnu59tkx
Discord: REevee/Yusuf#6513