25 Haziran 2018 Pazartesi

STM32 VL Discovery ile ARM Programlama - GPIO Register Kullanımı

Led Yakma kodları ve videosu;


#include "stm32f10x.h"

void delay(uint32_t time)
{
 time=time*2318;
 while(time)
  time--;
}
int main()
{
 RCC->APB2ENR |= 1<<4;
 GPIOC->CRH   |=0x00000002;

 while(1)
 {
  GPIOC->BSRR= 1<<8;
  delay(1000);
  GPIOC->BRR = 1<<8;
 }
}



Buton kullanma kodlar ve videosu




#include "stm32f10x.h"                  // Device header

_Bool x=0;
int main()
{
 RCC->APB2ENR |= (1 << 2);                /* Enable GPIOA clock            */
 RCC->APB2ENR |= (1 << 4);                /* Enable GPIOC clock            */  
 
 GPIOA->CRL   &= 0x00000000;  // Set to Zero Port A    
 GPIOA->CRL   |= 0x00000008;  // Set as a input PA0    
 
 GPIOC->CRH   = 0x00000022;  //    Set as a output PC8 & PC9
 while (1)
  { 
  x=(GPIOA->IDR & 0x0000001);
  
      if(x) // PA0 ON (Led4) //
      {        
          GPIOC->BSRR  = 1<<8;  //  LED ON PC8
      }
  else
  {
   GPIOC->BRR  = 1<<8;  //  LED OFF PC8
  }
   
 } 
 
}

22 Haziran 2018 Cuma

STM32 VL Discovery ile ARM Programlama - Buton ile Led Yakma

Anlatımı YouTube videomda bulabilirsiniz.

Video ve Kodlar;






#include <stm32f10x.h>                  // Device header
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

void delay_ms(uint32_t the_time)
{
 the_time=the_time*2381;
 while(the_time)
 {
  the_time--;
 }
}

int main()
{
  GPIO_InitTypeDef GPIO_InitStructure;
  uint8_t input_button;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

  //Led Configuration
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Pin   =  GPIO_Pin_8 | GPIO_Pin_9 ;
  GPIO_InitStructure.GPIO_Speed   =  GPIO_Speed_50MHz;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  //Button Configuration
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPD;
  GPIO_InitStructure.GPIO_Pin   =  GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Speed   =  GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);


 while(1)
 {
  input_button = GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
  if(input_button)
  {
   GPIO_SetBits(GPIOC, GPIO_Pin_9);
   GPIO_ResetBits(GPIOC, GPIO_Pin_8);
  }
  else
  {
   GPIO_ResetBits(GPIOC, GPIO_Pin_9);
   GPIO_SetBits(GPIOC, GPIO_Pin_8);
  }


  

 }

}

STM32 VL Discovery ile ARM Programlama - GPIO Ayarları & Led Yakma

STM32 VL Discovery kartı ile ilgili led yakma YouTube videomu, yazdığım kod ile birlikte aşağıda bulabilirsiniz. 




STM32 VL Discovery ile ARM Programlama - Basit Delay Fonksiyonu

  Delay fonksiyonunu kullanmak için şu ana kadar 2 yöntem uyguladım. 1.yöntem hızlıca oluşturduğum ve çok da sağlam olmayan bir yöntemdi. 

Video ve kodlar;





void delay_ms(uint32_t the_time)
{
 the_time=the_time*2381;
 while(the_time)
 {
  the_time--;
 }
}

STM32 VL Discovery ile ARM Programlama - Giris & Keil ile Proje Olusturma

Arkadaşlar Merhaba,
Bu video ile ARM derslerine başlamış bulunmaktayım.Elimden geldiğince haftada 1 ya da 2 haftada 1 video atmaya gayret göstereceğim.Ara sıra arduino ile ilgili sensör uygulama videoları da devam edecek.
"Arduinotik" olan kanalımın ismi de bundan böyle "Gömülü Mühendis" olacak.

STM32F4 kartları çok pahalı o yüzden caydırıcı olabiliyor. Benim kullandığım bu kadar ona nazaran daha ucuz ve ARM öğrenmenizi şevklendirecek bir fiyatta. Linki burda mutlaka inceleyin.


https://www.robolinkmarket.com/stm32vl-discovery-gelistirme-karti.html


ve son olarak abone olmayı unutmayın, nedeni de aşağıdaki paragraf :(


YouTube açıkladığı son politikaya göre 1000 abone altı kanalların ve yıllık 4000 saat izlenmesi olmayan kanalların para kazanma özelliklerini kapatacağını açıkladı. Videoların devamlılığı ve bu konuda kanalıma destek olmak isterseniz lütfen kanalıma abone olmayı unutmayın. İyi seyirler...