Stm32 USART ve sprintf, printf

Merhaba uzun zamandır cevabını aradığım bir problem vardı CoIDE de. sprintf komutu float tanımlamalarda çalışmıyordu. hem çözümü buldum hemde Usart1 ile ilgili bir çalışma yaptım. Önce CoIde ile alakalı problemi çözelim. Bunun için projeye eklediğimiz iki dosyada değişiklik yapacağız. CoIde ile yeni bir proje oluşturup işlemcimizi seçtikten sonra (stm32f100RB) ,  repository penceresinden  C Library, CMSISOkumaya devam et “Stm32 USART ve sprintf, printf”

STM32 ile ACS709 Akım ölçümü

Merhaba, Akım ölçümüyle alakalı olarak birkaç denemeden sonra,  ACS709 ile yapmaya karar verdim. http://www.robotus.net sitesinden bir adet aldıktan (Fırat Bey e teşekkür ederim) sonra sistemi yavaş yavaş oluşturmaya başladım. Sensorden bahsedecek olursak allegro firmasının üretimi olan bu sensor ile 35A lik bir modeli ve 70A lik başka bir modeli bulunmakta. Sensör 3.3 ve 5V seviyesindeOkumaya devam et “STM32 ile ACS709 Akım ölçümü”

Stm32f103rb ile Exti10_15 kesmesi

İki gündür bir şey yazmıyordum. sanırım bir müddet sonra bağımlılık yapıyor.  Sabah titreyerek uyandım ve laptop u kucağıma alınca kendime geldim. Kucağa bir şeyler almak gerekiyor sanırım. Daha önceden yaptığımız bir çalışmanın biraz farklı bir uygulamasını yapacağız. EXTI0 ile PA0,PB0,PC0,PD0,PE0 pinlerinin herhangi birine ilişkilendirerek kullanabiliyoruz bunu daha önce görmüştük. bir zorunluluktan dolayı PC12 yi interruptOkumaya devam et “Stm32f103rb ile Exti10_15 kesmesi”

External Interrupt on STM32VL Discovery

-Genelde Harici kesme kullanarak kesme işlemine başlarım. Nedense hocalar hep Timer la başlarlar.Çalışma sırası EXTI yani external interrupt a geldiğinde biraz tırmaladım. sebebini kodlarla beraber yazarım. STM32VLDISCOVERY kartıyla gerçekleştireceğiz. Cortex M3 lerde interruptları yönetmek için NVIC (Nested vectored interrupt controller) adında bir yapı vardır. NVIC ile 60 adet (low ve medium seri işlemcilerde 56) interrup ı kontrolOkumaya devam et “External Interrupt on STM32VL Discovery”

System Tick’iniz Hazır.

Basit bir zamanlayıcı olan system tick, STM32f100Rb yi programlayarak basit bir zamanlayıcı yapacağız. Cortex M3 ve Cortex M4 lerde bulunan bu sayıcı ile basit zamanlayıcı yapabiliriz. Tabiki bu işlemi kütüphane kullanarak yapacağız. CoIde Kullanarak yapacağız. İlk Etapta Repository penceresinin Peripheral sekmesinden CMSIS Core ve CMSIS Boot seçmelerini, Others Sekmesinden RCC, GPIO, FLASH seçmelerini Seçerek ilgiliOkumaya devam et “System Tick’iniz Hazır.”

CooCox ile ADC ve PWM

Bu yazıda uygulayacağımız programı, stm32vl kartını kullanacağız. Analog kanaldan ölçtüğümüz değer ile PWM duty değerini değiştirerek, karta bağlı olan ledlerin parlaklıklarını değiştireceğiz. Önce ADC den bahsedelim. Stm32F100RB işlemcisi 16kanal ve 12bitlik Analog Digital Convertore sahip. İşlemci nin çeşitli portları adc olarak kullanabiliyoruz. Bu pinlerin neler olduğunu  dökümanının, Table 4. Low & medium-density STM32F100xx pin definitions Bölümünden ulaşabilirsiniz.

CoIDE ve STM32VLDISCOVERY ile Blinky

      CoIDE ni kurulumu ve ayarları ile ilgili yapılması gerekenleri bir önceki yazıda elimden geldiğince yazmıştım.       Bu yazımda ise STM32f100RB işlemcisini barındıran discovery kit ile basit bir uygulama yapacağız.       CoIDE açtıktan sonra yeni bir proje oluşturunuz. Daha sonra CMSIS Boot, CMSIS core u Ripository penceresinden ekleyiniz. Aynı pencerede Others sekmesindenOkumaya devam et “CoIDE ve STM32VLDISCOVERY ile Blinky”

CooCox IDE ye Giriş

PIC tarafında Basic, Proton Plus derken C öğrenme ve çalışabildiğim işlemci yelpazesini geliştirmek için başladığım STM32 mikro denetleyicilerini önce KEIL ile Low Level olarak programladım. Sonrasında bukadar alt seviyede işlerin kolay olmadığını register, sayılar, “and” ler ve “or” larla soslu spagetti kıvamında bir program olduğu kanısına vardım. STM in standart kütüphanelerini kullanmak istediğimden, sanırım http://www.picproje.comOkumaya devam et “CooCox IDE ye Giriş”