ARM

Timer

46.2 TIM Ürün yazılımı sürücüsü API tanımı

Aşağıdaki bölüm, TIM kütüphanesinin çeşitli fonksiyonlarını listeler.

46.2.1 TIMGenel özellikler

TIM özellikleri şunlardır:

1. 16 bit yukarı, aşağı, yukarı / aşağı otomatik yeniden yükleme sayacı.

2. 16 bitlik programlanabilir ön ölçekleyici, saat yönündeki frekansı 1 ila 65536 arasındaki herhangi bir faktörle bölmeye izin verir (ayrıca anında).

3. Aşağıdakiler için 4 taneye kadar bağımsız kanal:

– Giriş yakalama

– Çıkış karşılaştırmak

– PWM üretimi

46.2.2 Bu sürücünün kullanımı

1. Kullanılan özelliğe bağlı olarak aşağıdaki işlevleri uygulayarak TIM düşük seviye kaynaklarını başlatın:

– Zaman Bankası: HAL_TIM_Base_MspInit ()

– Giriş Yakalama: HAL_TIM_IC_MspInit ()

– Çıktı Karşılaştırması: HAL_TIM_OC_MspInit ()

– PWM üretimi: HAL_TIM_PWM_MspInit ()

– Tek darbeli mod çıktısı: HAL_TIM_OnePulse_MspInit ()

– Enkoder modu çıkışı: HAL_TIM_Encoder_MspInit ()

2. TIM düşük seviye kaynaklarını ilklendirin:

a. __TIMx_CLK_ENABLE (); ‘ı kullanarak TIM arayüz saatini etkinleştirin;

b. TIM pimleri yapılandırması Aşağıdaki işlevi kullanarak TIM GPIO’lar için saati etkinleştirin: __GPIOx_CLK_ENABLE ();

Bu TIM pimlerini HAL_GPIO_Init () kullanarak Alternatif işlev modunda yapılandırın;

3. Harici Saat, gerekirse (varsayılan saat APBx’in dahili saatidir), aşağıdaki işlevi kullanarak yapılandırılabilir: HAL_TIM_ConfigClockSource, saat yapılandırması herhangi bir başlatma işlevinden önce yapılmalıdır.

4. TIM’i, başlatma işlemlerinden birini kullanarak istenen işlev modunda yapılandırın.

bu sürücünün işlevi:

  • HAL_TIM_Base_Init: Zamanlayıcıyı basit bir zaman tabanı oluşturmak için kullanmak
  • HAL_TIM_OC_Init ve HAL_TIM_OC_ConfigChannel: Zamanlayıcıyı Çıkış Karşılaştırma sinyali üretmek için kullanmak için.
  • HAL_TIM_PWM_Init ve HAL_TIM_PWM_ConfigChannel: Bir PWM sinyali üretmek için Zamanlayıcıyı kullanmak için.
  • HAL_TIM_IC_Init ve HAL_TIM_IC_ConfigChannel: Harici bir sinyali ölçmek için Zamanlayıcıyı kullanmak için.
  • HAL_TIM_OnePulse_Init ve HAL_TIM_OnePulse_ConfigChannel:
  • Tek Darbe Modunda Zamanlayıcı.
  • HAL_TIM_Encoder_Init: Timer Encoder Arayüzünü kullanmak için.

5. TIM çevre birimini, başlangıç durumuna göre başlangıç işlevlerinden birini kullanarak etkinleştirin.

kullanılan özellik:

  • Zaman Bankası: HAL_TIM_Base_Start (), HAL_TIM_Base_Start_DMA (), HAL_TIM_Base_Start_IT ()
  • Girdi Yakalama: HAL_TIM_IC_Start (), HAL_TIM_IC_Start_DMA (), HAL_TIM_IC_Start_IT ()
  • Çıktı Karşılaştırması: HAL_TIM_OC_Start (), HAL_TIM_OC_Start_DMA (), HAL_TIM_OC_Start_IT ()
  • PWM üretimi: HAL_TIM_PWM_Start (), HAL_TIM_PWM_Start_DMA (), HAL_TIM_PWM_Start_IT ()
  • Tek darbeli mod çıktısı: HAL_TIM_OnePulse_Start (), HAL_TIM_OnePulse_Start_IT ()
  • Enkoder modu çıkışı: HAL_TIM_Encoder_Start (), HAL_TIM_Encoder_Start_DMA (), HAL_TIM_Encoder_Start_IT ().

6. DMA Burst aşağıdaki iki işlevle yönetilir:

– HAL_TIM_DMABurst_WriteStart ()

– HAL_TIM_DMABurst_ReadStart ()

Ön çalışma 1 b

46.2.3 TIM Temel Fonksiyonları

Bu bölüm aşağıdakileri sağlayan işlevler sunar:

  • TIM tabanını sıfırlayın ve yapılandırın.
  • TIM tabanını sıfırlayın.
  • TIM Base başlatın.
  • TIM Base durdurun.
  • TIM Tabanını başlatın ve kesmeyi etkinleştirin.
  • TIM Tabanını durdurun ve kesmeyi devre dışı bırakın.
  • TIM Base’i başlatın ve DMA transferini etkinleştirin.
  • TIM Tabanını durdurun ve DMA transferini devre dışı bırakın.
  • HAL_TIM_Base_Init()
  • HAL_TIM_Base_DeInit()
  • HAL_TIM_Base_MspInit()
  • HAL_TIM_Base_MspDeInit()
  • HAL_TIM_Base_Start()
  • HAL_TIM_Base_Stop()
  • HAL_TIM_Base_Start_IT()
  • HAL_TIM_Base_Stop_IT()
  • HAL_TIM_Base_Start_DMA()
  • HAL_TIM_Base_Stop_DMA()

46.2.13 TIM Temel Fonksiyonları

46.2.13.1 HAL_TIM_Base_Init

Fonksiyon Tanımlaması : TIM Time Base Unit’i TIM_HandleTypeDef’te belirtilen parametrelere göre başlatır ve ilişkili tanıtıcıyı oluşturur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.13.2 HAL_TIM_Base_DeInit()

Fonksiyon Tanımlaması : TIM Base çevre birimini başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.13.3 HAL_TIM_Base_MspInit()

Fonksiyon Tanımlaması : TIM Base MSP’yi başlatır

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.13.4 HAL_TIM_Base_MspDeInit()

Fonksiyon Tanımlaması : TIM Base MSP’yi başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.13.5 HAL_TIM_Base_Start()

Fonksiyon Tanımlaması : TIM Base üretimini başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.13.6 HAL_TIM_Base_Stop

Fonksiyon Tanımlaması : TIM Base üretimini durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.13.7 HAL_TIM_Base_Start_IT

Fonksiyon Tanımlaması : TIM Base üretimini kesme modunda başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.13.8 HAL_TIM_Base_Stop_IT

Fonksiyon Tanımlaması : TIM Base üretimini kesme modunda durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.13.9 HAL_TIM_Base_Start_DMA

Fonksiyon Tanımlaması : TIM Base jenerasyonunu DMA modunda başlatır.

Parametreler :

  • htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.
  • pData: Kaynak Tampon adresi.
  • Uzunluk: Bellekten çevre birimine aktarılacak verilerin uzunluğu.

Dönüş değerleri : HAL durumu

46.2.13.10 HAL_TIM_Base_Stop_DMA

Fonksiyon Tanımlaması : TIM Base üretimini DMA modunda durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.6 Zaman PWM fonksiyonları

Bu bölüm aşağıdakileri sağlayan işlevler sunar:

  • TIM OPWM’yi sıfırlayın ve yapılandırın.
  • TIM PWM’yi sıfırlayın.
  • Time PWM’yi başlatın.
  • Zaman PWM’yi durdurun.
  • Time PWM’yi başlatın ve kesmeyi etkinleştirin.
  • Time PWM’yi durdurun ve kesmeyi devre dışı bırakın.
  • Time PWM’yi başlatın ve DMA transferini etkinleştirin.
  • Time PWM’yi durdurun ve DMA transferini devre dışı bırakın.
  • HAL_TIM_PWM_Init ()
  • HAL_TIM_PWM_DeInit ()
  • HAL_TIM_PWM_MspInit ()
  • HAL_TIM_PWM_MspDeInit ()
  • HAL_TIM_PWM_Start ()
  • HAL_TIM_PWM_Stop ()
  • HAL_TIM_PWM_Start_IT ()
  • HAL_TIM_PWM_Stop_IT ()
  • HAL_TIM_PWM_Start_DMA ()
  • HAL_TIM_PWM_Stop_DMA ()

46.2.16 TIM PWM fonksiyonları

46.2.16.1 HAL_TIM_PWM_Init

HAL_StatusTypeDef HAL_TIM_PWM_Init (TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM PWM Zaman Tabanını, TIM_HandleTypeDef’te belirtilen parametrelere göre başlatır ve ilişkili tanıtıcıyı oluşturur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.16.2 HAL_TIM_PWM_DeInit ()

HAL_StatusTypeDef HAL_TIM_PWM_DeInit (TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM çevre birimini başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.16.3 HAL_TIM_PWM_MspInit ()

void HAL_TIM_PWM_MspInit ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM PWM MSP’yi başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.16.4 HAL_TIM_PWM_MspDeInit ()

void HAL_TIM_PWM_MspDeInit ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM PWM MSP’yi başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.16.5 HAL_TIM_PWM_Start ()

HAL_StatusTypeDef HAL_TIM_PWM_Start (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : PWM sinyal üretimini başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.16.6 HAL_TIM_PWM_Stop ()

HAL_StatusTypeDef HAL_TIM_PWM_Stop (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : PWM sinyal üretimini durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.16.7 HAL_TIM_PWM_Start_IT ()

HAL_StatusTypeDef HAL_TIM_PWM_Start_IT (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : PWM sinyal üretimini kesme modunda başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.16.8 HAL_TIM_PWM_Stop_IT ()

HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : PWM sinyal üretimini kesme modunda durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.16.9 HAL_TIM_PWM_Start_DMA ()

HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA (TIM_HandleTypeDef * htim, uint32_t Channel, uint32_t *pData, uint16_t Length)

Fonksiyon Tanımlaması : TIM PWM sinyal üretimini DMA modunda başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.16.10 HAL_TIM_PWM_Stop_DMA ()

HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : TIM PWM sinyal üretimini DMA modunda durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Chanel (kanal): TIM Kanalları devre dışı bırakılacak. Bu parametre aşağıdaki değerlerden biri olabilir:

TIM_CHANNEL_1: TIM Kanalı 1 seçildi

TIM_CHANNEL_2: TIM Kanalı 2 seçildi

TIM_CHANNEL_3: TIM Kanalı 3 seçildi

TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.7 TIM giriş yakalama fonksiyonları

Bu bölüm aşağıdakileri sağlayan işlevler sunar:

  • TIM Giriş Yakalamasını sıfırlayın ve yapılandırın.
  • TIM Giriş Yakalama işlemini sıfırlayın.
  • Time Input Capture’ı başlatın.
  • Time Input Capture’ı durdurun.
  • Time Input Capture’ı başlatın ve kesmeyi etkinleştirin.
  • Time Input Capture’ı durdurun ve kesmeyi devre dışı bırakın.
  • Time Input Capture’ı başlatın ve DMA transferini etkinleştirin.
  • Time Input Capture’ı durdurun ve DMA transferini devre dışı bırakın.
  • HAL_TIM_IC_Init ()
  • HAL_TIM_IC_DeInit ()
  • HAL_TIM_IC_MspInit ()
  • HAL_TIM_IC_MspDeInit ()
  • HAL_TIM_IC_Start ()
  • HAL_TIM_IC_Stop ()
  • HAL_TIM_IC_Start_IT ()
  • HAL_TIM_IC_Stop_IT ()
  • HAL_TIM_IC_Start_DMA ()
  • HAL_TIM_IC_Stop_DMA ()

46.2.17 TIM giriş yakalama fonksiyonları

46.2.17.1 HAL_TIM_IC_Init

HAL_StatusTypeDef HAL_TIM_IC_Init ( TIM_HandleTypeDef *htim)

Fonksiyon Tanımlaması : TIM Giriş Yakalama Zamanı tabanını TIM_HandleTypeDef’te belirtilen parametrelere göre başlatır ve ilişkili tanıtıcıyı oluşturur

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.17.2 HAL_TIM_IC_DeInit()

HAL_StatusTypeDef HAL_TIM_IC_DeInit ( TIM_HandleTypeDef* htim)

Fonksiyon Tanımlaması : TIM çevre birimini başlatır

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : HAL durumu

46.2.17.3 HAL_TIM_IC_MspInit()

void HAL_TIM_IC_MspInit ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM INput MSP Capture sıfırlar.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok

46.2.17.4 HAL_TIM_IC_MspDeInit()

void HAL_TIM_IC_MspDeInit ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : TIM Giriş Yakalama MSP’sini Başlattı.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok

46.2.17.5 HAL_TIM_IC_Start()

HAL_StatusTypeDef HAL_TIM_IC_Start ( TIM_HandleTypeDef* htim, uint32_t Channel)

Fonksiyon Tanımlaması : TIM Giriş Yakalama ölçümünü başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : Hal durumu.

46.2.17.6 HAL_TIM_IC_Stop()

HAL_StatusTypeDef HAL_TIM_IC_Stop ( TIM_HandleTypeDef* htim, uint32_t Channel)

Fonksiyon Tanımlaması : TIM Giriş Yakalama ölçümünü durdurur.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.17.7 HAL_TIM_IC_Start_IT()

HAL_StatusTypeDef HAL_TIM_IC_Start_IT (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : TIM Giriş Yakalama ölçümünü kesme modunda başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.17.8 HAL_TIM_IC_Stop_IT()

HAL_StatusTypeDef HAL_TIM_IC_Stop_IT (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : TIM Giriş Yakalama ölçümünü kesme modunda durdurur

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.17.9 HAL_TIM_IC_Start_DMA()

HAL_StatusTypeDef HAL_TIM_IC_Start_DMA (TIM_HandleTypeDef * htim, uint32_t Channel, uint32_t *pData, uint16_t Length)

Fonksiyon Tanımlaması : DMA modunda TIM Giriş Yakalama ölçümünü başlatır.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

pData: Hedef Arabellek adresi.

Uzunluk: TIM çevre biriminden belleğe aktarılacak verilerin uzunluğu.

Dönüş değerleri : HAL durumu

46.2.17.10 HAL_TIM_IC_Stop_DMA()

HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA (TIM_HandleTypeDef * htim, uint32_t Channel)

Fonksiyon Tanımlaması : DMA modunda TIM Giriş Yakalama ölçümünü açar.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Kanal (chanel): Etkinleştirilecek TIM Kanalları. Bu parametre aşağıdaki değerlerden biri olabilir:

  • TIM_CHANNEL_1: TIM Kanalı 1 seçildi
  • TIM_CHANNEL_2: TIM Kanalı 2 seçildi
  • TIM_CHANNEL_3: TIM Kanalı 3 seçildi
  • TIM_CHANNEL_4: TIM Kanalı 4 seçildi

Dönüş değerleri : HAL durumu

46.2.12 TIM callback fonksiyonlarını

  • Bu bölüm TIM geri çağırma işlevlerini sunar:
  • Zamanlayıcı Dönemi geçen geri arama
  • Zamanlayıcı Çıkışı
  • Timer Girişi yakalama geri çağırma
  • Timer Tetikleyici geri çağırma
  • Zamanlayıcı Hatası geri arama

HAL_TIM_PeriodElapsedCallback ()

HAL_TIM_OC_DelayElapsedCallback ()

HAL_TIM_IC_CaptureCallback ()

HAL_TIM_PWM_PulseFinishedCallback ()

HAL_TIM_TriggerCallback ()

HAL_TIM_ErrorCallback ()

46.2.22 TIM callback fonksiyonlarını

46.2.22.1 HAL_TIM_PeriodElapsedCallback ()

void HAL_TIM_PeriodElapsedCallback ( TIM_HandleTypeDef *htim)

Fonksiyon Tanımlaması : Engelleme olmayan modda süre geri döndü.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.22.2 HAL_TIM_OC_DelayElapsedCallback ()

void HAL_TIM_OC_DelayElapsedCallback (TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : Çıkış Engelleme dışı modda geri aramayı karşılaştırın.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.22.3 HAL_TIM_IC_CaptureCallback ()

void HAL_TIM_IC_CaptureCallback ( TIM_HandleTypeDef *htim)

Fonksiyon Tanımlaması : Giriş Engelleme modunda geri arama yakalayın.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.22.4 HAL_TIM_PWM_PulseFinishedCallback ()

void HAL_TIM_PWM_PulseFinishedCallback (TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : PWM Darbe engelleme modunda geri arama bitti.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.22.5 HAL_TIM_TriggerCallback ()

void HAL_TIM_TriggerCallback ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : Engelleme modunda Hall Tetik algılama geri çağırma.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

46.2.22.6 HAL_TIM_ErrorCallback ()

void HAL_TIM_ErrorCallback ( TIM_HandleTypeDef * htim)

Fonksiyon Tanımlaması : Engelleyici olmayan modda zamanlayıcı hatası geri arama.

Parametreler : htim: TIM modülünün yapılandırma bilgisini içeren bir TIM_HandleTypeDef yapısına işaretçi.

Dönüş değerleri : Yok.

Ön çalışma 2 a

Veri yolu bağlantıları aşağıdaki tabloda değil aşağıdaki yazıda detaylarıyla belirtilmiştir.

Sınır adresiÇevre BirimiVeriyoluYazmaç haritası

Tablo 1

Tablo 2

Kartımızda 1’den 14’e kadar timer mevcut. Timer’lar genel olarak mikrodenetleyicilerde, main fonksiyonu çalışırken belirli periyotlarda timer alt programına inerek oradaki işlemleri yapmasını sağlar. Periyodik olarak ana program ve timer alt programı sürekli olarak çalışır.

  • Genel Amaçlı Timer : TIM2,3,4,5
  • APB1 düşük hızdaki yola bağlı 84Mhz kadar giriş sinyali verebilir.
  • TIM3,4 16 bitlik sayaca sahip yani 0 dan 2 üzeri 16’ya kadar sayabiliyor.
  • TIM2,5 32 bitlik sayaca sahip
  • Yukarı, aşağı ve merkez sayacı vardır.
  • Modlarımız mevcuttur;
    • Input Capture : Sinyaldeki pulse(darbe) sinyalinin uzunluğunu ölçme
    • Output Compare : Çıkışı karşılaştırarak istediğimiz çıkış sinyalini üretiyor.
    • PWM(Pulse Width Moduletion – Darbe Genişlik Modülasyonu) : Burada istediğimiz genişlikte lojik 1’e ulaşabiliyoruz.
  • Advanced timer (Gelişmiş timer) : TIM1,8
  • APB2 yüksek hızdaki yola bağlı, bu sayede max frekansımız olan 168 MHz giriş sinyali verir.
  • Yukarı, aşağı, merkez sayacı modları mevcut.
  • Genel Amaçlı Timer 2 : TIM9,12
  • TIM 9 APB2 yoluna bağlı
  • TIM2 APB1 yoluna bağlı
  • 16 bitlik sayacı modu var.
  • Genel Amaçlı Timer 2 : TIM10,11 & 13,14
  • 13,14 düşük hızdaki APB1 yola bağlı
  • 10,11 düşük hızdaki APB1 yola bağlı

Ön çalışma 2 b

DMA1

Çevre birimi istekleriStream 0Stream 1Stream 2Stream 3Stream 4Stream 5Stream 6Stream 7
Channel 0







Channel 1

TIM7_UP
TIM7_UP


Channel 2TIM4_CH1

TIM4_CH2

TIM4_UPTIM4_CH3
Channel 3
TIM2_UP TIM2_CH3


TIM2_CH1TIM2_CH2 TIM2_CH4TIM2_UP TIM2_CH4
Channel 5

TIM3_CH4 TIM3_UP
TIM3_CH1 TIM3_TRIGTIM3_CH2
TIM3_CH3

DMA1(devam)

Çevre birimi istekleriStream 0Stream 1Stream 2Stream 3Stream 4Stream 5Stream 6Stream 7
Channel 6TIM5_CH3 TIM5_UPTIM5_CH4 TIM5_TRIGTIM5_CH1TIM5_CH4 TIM5_TRIGTIM5_CH2
TIM5_UP
Channel 7
TIM6_UP





DMA2

Çevre birimi istekleriStream 0Stream 1Stream 2Stream 3Stream 4Stream 5Stream 6Stream 7
Channel 0

TIM8_CH1 TIM8_CH2 TIM8_CH3


TIM1_CH1 TIM1_CH2 TIM1_CH3
Channel 6TIM1_TRIGTIM1_CH1TIM1_CH2TIM1_CH1TIM1_CH4 TIM1_TRIG TIM1_COMTIM1_UPTIM1_CH3
Channel 7
TIM8_UPTIM8_CH1TIM8_CH2TIM8_CH3

TIM8_CH4 TIM8_TRIG TIM8_COM

Ön çalışma 2 c

17.4.21 TIM yazmaç (register) haritası

(17.4.1, 17.4.4, 17.4.5, 17.4.7, 17.4.10, 17.4.11 ve 17.4.14 nolu başlıklar)

Kartımızda 1’den 14’e kadar timer mevcut. Timer’lar genel olarak mikrodenetleyicilerde, main fonksiyonu çalışırken belirli periyotlarda timer alt programına inerek oradaki işlemleri yapmasını sağlar. Periyodik olarak ana program ve timer alt programı sürekli olarak çalışır.

  • Genel Amaçlı Timer : TIM2,3,4,5
  • APB1 düşük hızdaki yola bağlı 84Mhz kadar giriş sinyali verebilir.
  • TIM3,4 16 bitlik sayaca sahip yani 0 dan 2 üzeri 16’ya kadar sayabiliyor.
  • TIM2,5 32 bitlik sayaca sahip
  • Yukarı, aşağı ve merkez sayacı vardır.
  • Dahili diğer Timer birimleri ile senkrazisyon
  • İnterput ve DMA üretimi
  • Clock kaynağı seçimi
  • Genel çalışma mantığına göre bu timer birimleri şu üç registere sahiptir. Bunlar:
    • Counter Register (TIMx_PSC)
    • Prescaler Resgister (TIMx_PSC)
    • Auto-Reload Register (TIMx_ARR)
  • Modlarımız mevcuttur;
    • Input Capture : Sinyaldeki pulse(darbe) sinyalinin uzunluğunu ölçme
    • Output Compare : Çıkışı karşılaştırarak istediğimiz çıkış sinyalini üretiyor.
    • PWM(Pulse Width Moduletion – Darbe Genişlik Modülasyonu) : Burada istediğimiz genişlikte lojik 1’e ulaşabiliyoruz. PWM sinyali üretmek için kullanılır.
  • Advanced timer (Gelişmiş timer) : TIM1,8
  • APB2 yüksek hızdaki yola bağlı, bu sayede max frekansımız olan 168 MHz giriş sinyali verir.
  • Yukarı, aşağı, merkez sayacı modları mevcut.
  • Genel Amaçlı Timer 2 : TIM9,12
  • TIM 9 APB2 yoluna bağlı
  • TIM2 APB1 yoluna bağlı
  • 16 bitlik sayacı modu var.
  • Genel Amaçlı Timer 2 : TIM10,11 & 13,14
  • 13,14 düşük hızdaki APB1 yola bağlı
  • 10,11 düşük hızdaki APB1 yola bağlı

TIM1’in periyodunu ayarlandığında, her bir periyotta sizin istediğiniz işlemlere ek olarak Channel altından seçtiğiniz işlemleri de yapar. Bunlardan kısaca bahsedelim :

  • Input Capture : Gelen pulse’lerin uzunluğunu ölçmek için kullanılır.
  • PWM Generation : PWM sinyali üretmek için kullanılır.
  • Forced Output : Kendine ayrılmış pin üzerinde başka bir işlem yapılsa bile, Timer kesmesi oluştuğunda o pinin kontrolünü ele geçirerek, dijital çıkış vermeyi sağlar.

Ön çalışma 2 d

Pin x (x=0….7) için :

TIM GPIOAlternate Function (AF)
TIM1/TIM2AF1
TIM3,4,5AF2
TIM8,9,10,11AF3
TIM12,13,14AF9

Pin x (x=8….15) için :

TIM GPIOAlternate Function (AF)
TIM1/TIM2AF1
TIM3,4,5AF2
TIM8,9,10,11AF3

Leave a comment