Cubemx interrupt sorunu

Başlatan cyhn41, 17 Haziran 2016, 19:38:30

Klein

Alıntı yapılan: cyhn41 - 20 Haziran 2016, 09:40:28
Program kesmeye gittiginde ana programı durdurmak için koydum ama tam çözüm olmadı ana programı durduran alternatif çözüm arıyorum.
Ana programı neden durdurmak istiyorsun?
Amaç ledin son konumunu korumaksa, programı durdurmak doğru bir yöntem değil. Sadece ledi durdurman gerek.

örn:

int flag  = 0;
interrupt()
{
   flag =1;
}

main()
{
while(1){
   if(flag == 0)
  {
      LedToggle();
  }
}
}


kod semboliktir.

cyhn41

Alıntı yapılan: Klein - 20 Haziran 2016, 12:46:37
Ana programı neden durdurmak istiyorsun?
Amaç ledin son konumunu korumaksa, programı durdurmak doğru bir yöntem değil. Sadece ledi durdurman gerek.

örn:

int flag  = 0;
interrupt()
{
   flag =1;
}

main()
{
while(1){
   if(flag == 0)
  {
      LedToggle();
  }
}
}


kod semboliktir.

Hocam anlattığınız yöntemi yapmaya çalıştım ama istediğim sonucu elde edemedim.






memo333

Alıntı yapılan: cyhn41 - 20 Haziran 2016, 14:07:11
Hocam anlattığınız yöntemi yapmaya çalıştım ama istediğim sonucu elde edemedim.


flag global değil.flag değişkeni interrupt rutini içinde oluşturuluyor ve yok ediliyor. Flagi global değişken olarak tanımlarsan olur..
Gömülü Linux Notları --> http://linuxedu.xyz/

cyhn41

#18
Alıntı yapılan: memo333 - 20 Haziran 2016, 14:11:57
flag global değil.flag değişkeni interrupt rutini içinde oluşturuluyor ve yok ediliyor. Flagi global değişken olarak tanımlarsan olur..
Tam olarak nereye tanımlamam lazım değişkeni? Main.c ve stm32f1xx_it.c de tanımaldım ve
Not enough information to list image symbols.
Not enough information to list the image map.
Finished: 2 information, 0 warning and 1 error messages.
"interrupt deneme\interrupt deneme.axf" - 1 Error(s), 0 Warning(s).
hatası ile karşılaştım.