Ufak bir kod sorunu (bluepill)

TunahanC

SbX
Katılım
31 Mayıs 2024
Mesajlar
218
Herkese iyi forumlar, stm32f407 için yazdığım kodu stm32f103c8'e aldım. Normal beklentim bu kodun olduğu gibi çalışmasıydı.

if(start == true)
{
RelayStateMachine();
NextState();
if(repeat == 20)
{
HAL_Delay(value);
Relay1_GPIO_Port->BSRR = Relay1_Pin << 16;
Relay8_GPIO_Port->BSRR = Relay8_Pin << 16;
Relay9_GPIO_Port->BSRR = Relay9_Pin << 16;
start = false;
value = 2000;
repeat = 0;
takipflag = 0;
workflag = 0;
menumod(Go);
}
HAL_Delay(value);
}
While döngüsü içerisine yukarıdaki kodu yazdığım zaman stm32f407'de çalışıyordu fakat stm32f103c8'te çalışmadı. Ben de while döngüsünü kontrol etmek için (debug yapamıyorum bluepill kartında) döngünün devamına aşağıdaki kodu ekledim ve program çalışmaya başladı.
else
{
GPIOC->BSRR = GPIO_PIN_13;
HAL_Delay(500);
GPIOC->BSRR = GPIO_PIN_13 << 16;
HAL_Delay(500);
}
İlk defa böyle bir şey ile karşılaştım. Sorunu çözmüş oldum ama problemi tam algılayamadım. Bu sorun neden olmuş olabilir bir fikri olan varsa, aydınlatırsa sevinirim.
 
biri F0 diğeri F4 ailesi hal kütüphanesi birebir uyumlu değil. ekstra clock konfigürasyonları vs isteyebilir. hal ile çalışacaksan baz konfigürasyonu cube mx ile yapabilirsin.

hal kullanıyorsan gpio işleri için standart kütüphaneyi kullanırsan daha sağlıklı olur. tam ne yaptığını bilmiyorsan işlemci en ufak yanlış register operasyonunda hemen hard faulta düşer. işlemciyi çok iyi tanıyorsa tabiki register seviyesi de çalışabilirsin. çünkü hal kütüphanesi içinde bir sürü gereksiz kod var.

 
Yok Hardfault almadım. Kodu çalıştırdığım zaman butona bastığımda state-machine şeklinde çalışmalıydı fakat sanki while döngüsünde saplanıp kalıyordu. Bende else kısmını ekledim (while'da program çalışmıyor, saplanıyor mu acaba diye.) Sonrasında kod çalışmaya başladı. Stm32f407'ye yazdığım kod ile stm32f103'e yazdığım kod arasındaki tek fark aşağıdaki kod.

else
{
GPIOC->BSRR = GPIO_PIN_13;
HAL_Delay(500);
GPIOC->BSRR = GPIO_PIN_13 << 16;
HAL_Delay(500);
}
 
Son düzenleme:

Forum istatistikleri

Konular
7,591
Mesajlar
126,880
Üyeler
3,071
Son üye
tekin124

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
az bilgili çok meraklı
Back
Top