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 Birimi | Veriyolu | Yazmaç 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 istekleri | Stream 0 | Stream 1 | Stream 2 | Stream 3 | Stream 4 | Stream 5 | Stream 6 | Stream 7 |
| Channel 0 | ||||||||
| Channel 1 | TIM7_UP | TIM7_UP | ||||||
| Channel 2 | TIM4_CH1 | TIM4_CH2 | TIM4_UP | TIM4_CH3 | ||||
| Channel 3 | TIM2_UP TIM2_CH3 | TIM2_CH1 | TIM2_CH2 TIM2_CH4 | TIM2_UP TIM2_CH4 | ||||
| Channel 5 | TIM3_CH4 TIM3_UP | TIM3_CH1 TIM3_TRIG | TIM3_CH2 | TIM3_CH3 |
DMA1(devam)
| Çevre birimi istekleri | Stream 0 | Stream 1 | Stream 2 | Stream 3 | Stream 4 | Stream 5 | Stream 6 | Stream 7 |
| Channel 6 | TIM5_CH3 TIM5_UP | TIM5_CH4 TIM5_TRIG | TIM5_CH1 | TIM5_CH4 TIM5_TRIG | TIM5_CH2 | TIM5_UP | ||
| Channel 7 | TIM6_UP |
DMA2
| Çevre birimi istekleri | Stream 0 | Stream 1 | Stream 2 | Stream 3 | Stream 4 | Stream 5 | Stream 6 | Stream 7 |
| Channel 0 | TIM8_CH1 TIM8_CH2 TIM8_CH3 | TIM1_CH1 TIM1_CH2 TIM1_CH3 | ||||||
| Channel 6 | TIM1_TRIG | TIM1_CH1 | TIM1_CH2 | TIM1_CH1 | TIM1_CH4 TIM1_TRIG TIM1_COM | TIM1_UP | TIM1_CH3 | |
| Channel 7 | TIM8_UP | TIM8_CH1 | TIM8_CH2 | TIM8_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 GPIO | Alternate Function (AF) |
| TIM1/TIM2 | AF1 |
| TIM3,4,5 | AF2 |
| TIM8,9,10,11 | AF3 |
| TIM12,13,14 | AF9 |
Pin x (x=8….15) için :
| TIM GPIO | Alternate Function (AF) |
| TIM1/TIM2 | AF1 |
| TIM3,4,5 | AF2 |
| TIM8,9,10,11 | AF3 |
