Ana Sayfa STM32F429 Discovery STM32F429 Discovery Dijital Saat Uygulaması

STM32F429 Discovery Dijital Saat Uygulaması

5 min read
2
0
4,389

Merhaba arkadaşlar,

Bu yazımızda,STM32F429 Discovery’de dijital bir saat yapıyoruz.Tabiki bunu gerçekleştirebilmemiz için RTC(Real-Time Clock) kavramı üzerinde biraz durmamız gerekiyor.

RTC , gerçek zamanlı saat anlamına gelip belirli bir frekansta çalışıp, gerçek zaman bilgisini bize geri iletmektedir. Belirli frekansları istediğimiz ölçüde bölerekte elde etmemiz mümkündür.RTC dediğimiz malzemeler üzerlerinde bulunan kristal osilatör ile kendi saat pulslarını üretip zamanı tutan entegrelerdir.Genelde çalıştıkları kristaller 32769Hz dir. Bunu bölerek 1Hz lik saat pulslarını elde etmektedirler.  En çok kullanılan modeller olarak DS1302 ve DS1307 malzemelerini sayabiliriz. Bu malzemeler genelde bir işlemciye bağlanarak kullanılırlar. Bağlantı şekline bakılırsa DS1302 3 pinden seri haberleşme protokolünü , DS1307 ise I2C protokolünü kullanmaktadır.Her ikisinin ortak yönü ise zaman bilgilerini tutma yöntemidir. BCD yani Binary Coded Desimal formatında tutulur bu bilgiler.

RTC Library

  • Dahili ve harici saat kaynaklarını destekler.
  • PC14,PC15 dahili kristal için kullanılır.
  • Wakeup kesmesini destekler.
  • Zamanı “01.01.1970 00:00:00” saatten itibaren  destekler.
  • Verileri BCD veya binary formatta almayı destekler.

 

[php]

#include "defines.h"
#include "stm32f4xx.h"
#include "tm_stm32f4_rtc.h"
#include "tm_stm32f4_disco.h"
#include "tm_stm32f4_delay.h"
#include "tm_stm32f4_ili9341.h"

#include <stdio.h>

char buf[50], buf2[50];
TM_RTC_Time_t datatime;

int main(void) {

SystemInit();

TM_DELAY_Init();

TM_DISCO_ButtonInit();

TM_DISCO_LedInit();
TM_ILI9341_Init();
TM_ILI9341_Fill(ILI9341_COLOR_GREEN);
TM_ILI9341_Rotate(TM_ILI9341_Orientation_Portrait_2);
TM_ILI9341_Puts(120, 310, "roboturka.com", &TM_Font_7x10, ILI9341_COLOR_BLACK, ILI9341_COLOR_ORANGE);
TM_ILI9341_Puts(20, 200,"www.roboturka.com", &TM_Font_11x18, ILI9341_COLOR_RED, 0x0000);
TM_ILI9341_Puts(65, 220,"BILAL KAYA", &TM_Font_11x18, ILI9341_COLOR_RED, 0x0000);
TM_ILI9341_Puts(50, 100,"DIGITAL CLOCK", &TM_Font_11x18, ILI9341_COLOR_RED, 0x0000);
if (!TM_RTC_Init(TM_RTC_ClockSource_Internal)) {

}

TM_RTC_Interrupts(TM_RTC_Int_1s);

while (1) {

if (TM_DISCO_ButtonPressed()) {
datatime.hours =21;
datatime.minutes = 4;
datatime.seconds = 55;
datatime.year = 15;
datatime.month = 2;
datatime.date = 16;
datatime.day = 2;

TM_RTC_SetDateTime(&datatime, TM_RTC_Format_BIN);
}
}
}

void TM_RTC_RequestHandler() {

TM_RTC_GetDateTime(&datatime, TM_RTC_Format_BIN);

sprintf(buf, "%02d.%02d.%04d %02d:%02d:%02d ",
datatime.date,
datatime.month,
datatime.year + 2000,
datatime.hours,
datatime.minutes,
datatime.seconds
);
TM_ILI9341_Puts(10, 15, buf, &TM_Font_11x18, ILI9341_COLOR_YELLOW, 0x0000);
if( datatime.minutes==26 ){

TM_DISCO_LedToggle(LED_RED | LED_GREEN);
}}

[/php]

Proje dosyalarının tamamına buradan ulaşabilirsiniz…

PROJENİN VİDEOSU

 

Kaynak:www.stm32f4-discovery.com adresinden faydalanılmıştır….

 

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Konuk Yazar
Daha Fazla Göster -  STM32F429 Discovery

2 Yorumlar

  1. Fatih Bey

    30 Aralık 2015 at 21:30

    Merhabalar, library i import yapmam lazım farklı sitelerden indirdim fakat düzgün yapamadım. Library i paylaşabilir misiniz.

    Reply

    • Bilal Kaya

      31 Aralık 2015 at 09:03

      Merhabalar,yazıda proje dosyaları da verilmiştir.Library’ler de bu dosyalar içinde bulunmaktadır.Dikkatli incelerseniz bulabilirsiniz.

      Reply

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bak Bakalım ?

Lazer İşleme Makinesi Yapımı

Merhaba arkadaşlar,bu projemizde sizlerle birlikte lazer işleme makinesi yapımını göreceği…