Ufak bir kod sorunu (bluepill)

TunahanC

SbX
Katılım
31 Mayıs 2024
Mesajlar
103
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:

Çevrimiçi personel

Forum istatistikleri

Konular
6,980
Mesajlar
119,245
Üyeler
2,835
Son üye
alpermete

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top