TunahanC
SbX
- Katılım
- 31 Mayıs 2024
- Mesajlar
- 39
Herkese iyi forumlar, stm32f407 için yazdığım kodu stm32f103c8'e aldım. Normal beklentim bu kodun olduğu gibi çalışmasıydı.
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ı.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);
}
İ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.else
{
GPIOC->BSRR = GPIO_PIN_13;
HAL_Delay(500);
GPIOC->BSRR = GPIO_PIN_13 << 16;
HAL_Delay(500);
}