Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => RTOS Uygulamaları => Konuyu başlatan: Emre_Tuncay_ - 12 Ocak 2019, 12:41:13

Başlık: stm32f103 freertos register'a yazamama sorunu.
Gönderen: Emre_Tuncay_ - 12 Ocak 2019, 12:41:13
Merhaba
Freertos öğrenmek için udemy'den bir kurs aldım.Denetleyici olarak stm32f103 IDE olarak keil kullanıyorum.Cubemx kullanmıyorum. Projeme freertos kütüphanelerini ekledim.Bir değişkeni 1 arttıran bir task oluşturdum.Debug yapınca taskın güzel çalıştığını gördüm.Daha sonra bir ledi toogle yapayım dedim bu kısımda çalıştıramadım.CMSIS kütüphanelerinin kullandım gpio ayarları için.Debug yaptığımda gpio registerlarının hiç değişmediğini gördüm. Task içinde veya main programımda register değerlerini değiştiremedim. Freertos kütüphanelerini ve task kodlarını kaldırdığım zaman gpio'yu istediğim gibi ayarlayabildim.
Yardımcı olurmusunuz.
Kodlarım.
#include "stm32f10x.h"                  // Device header
#include "FreeRTOS.h"                   // ARM.FreeRTOS::RTOS:Core
#include "task.h"                       // ARM.FreeRTOS::RTOS:Core
void Toplama(void *pvParameters);
void Cikarma(void *pvParameters);
int i=0;
int main(void)
{
xTaskCreate(Toplama,"Toplama",100,NULL,1,NULL);
xTaskCreate(Cikarma,"Cikarma",100,NULL,2,NULL);
vTaskStartScheduler();

GPIO_InitTypeDef  GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);

  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIOC->ODR=0x1000;
while(1)
{

}
}

void GPIOInit(void)
{

}
void Toplama(void *pvParameters)
{
while(1)
{

}
}
void Cikarma(void *pvParameters)
{
while(1)
{

}
}

Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: mylord92 - 12 Ocak 2019, 12:47:32
Register ayarlarını yaptıktan sonra "vTaskStartScheduler();" fonksiyonunu çağırırsanız ve şayet register ayarlarınız doğruysa çalışacaktır. vTaskStartScheduler() çağırdıktan sonra kontrol kernele geçiyor çünkü. Main içinde vTaskStartScheduler() fonksiyonundan sonraki satırlara gidemezsiniz.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: mufitsozen - 12 Ocak 2019, 13:27:21
vTaskStartScheduler cagrildiktan sonra freertos kontrolu alir. ondan sonraki kodlar calismaz.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: Emre_Tuncay_ - 12 Ocak 2019, 13:46:53
Evet dediğiniz gibi vTaskStartScheduler ı register ayarlarımdan sonra yazınca registerlara erişim sağladım.Teşekkürler.
Peki bu dediğiniz kesmeler içinde öylemi. Bir kesme oluştuğunda programım kesme alt programıan gidicekmi.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: mufitsozen - 12 Ocak 2019, 14:26:15
Alıntı yapılan: Emre_Tuncay_ - 12 Ocak 2019, 13:46:53Evet dediğiniz gibi vTaskStartScheduler ı register ayarlarımdan sonra yazınca registerlara erişim sağladım.Teşekkürler.
Peki bu dediğiniz kesmeler içinde öylemi. Bir kesme oluştuğunda programım kesme alt programıan gidicekmi.

freeRtos'un calisma felsefesini ve rtos kavramlarini ogrenmeden soru cevap bu konuyu ogrenemezsiniz. FreeRtos web sitesindeki referans ve kullanici manual'lari edinip, basindan sonuna kadar bir kere okuyunuz. Sorularinizin %90'nina cevap bulacaksiniz.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: Emre_Tuncay_ - 12 Ocak 2019, 16:58:31
Tamamdır öyle yapayım. Teşekkürler.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: mufitsozen - 12 Ocak 2019, 18:44:39
Alıntı yapılan: Emre_Tuncay_ - 12 Ocak 2019, 16:58:31Tamamdır öyle yapayım. Teşekkürler.

Bu dokumanlari inceledikten sonra, soracaginiz sorulara yardimci olmaya calisirim.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: apsis - 12 Ocak 2019, 23:41:46
@Emre_Tuncay_ Handi eğimi satın aldığınızı söyleyebilir misiniz?
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: Emre_Tuncay_ - 13 Ocak 2019, 01:49:51
@apsis "Mastering FreeRTOS From Ground Up™ on ARM Processor" isimli dersi aldım.Ders iyi gidiyor eğitmenin ingilizce çok iyi ve anlaşılır.
Başlık: Ynt: stm32f103 freertos register'a yazamama sorunu.
Gönderen: OptimusPrime - 13 Ocak 2019, 08:45:00
Alıntı yapılan: Emre_Tuncay_ - 13 Ocak 2019, 01:49:51@apsis "Mastering FreeRTOS From Ground Up™ on ARM Processor" isimli dersi aldım.Ders iyi gidiyor eğitmenin ingilizce çok iyi ve anlaşılır.


 ::)