merhaba forum
HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
bu SetTime fonksiyonu çağırırken HAL_RTC_SetTime(&hrtc, ......... şeklinde çağırıyorum
aynı fonksiyon içinde
uint32_t RTC_ReadTimeCounter(RTC_HandleTypeDef *hrtc)
tanımlı fonksiyon çağrılıyor
bu durumda Time_Display(RTC_ReadTimeCounter(hrtc)); mi yoksa Time_Display(RTC_ReadTimeCounter(&hrtc));şeklinde mi çağırıcam ?
kafam karıştı bi yardım - teşekkür
hrtc zaten pointer olduğu için RTC_ReadTimeCounter(hrtc) olması lazım.
hrtc hal kütüphanesi ile tanımlı bir değişken diye tahmin ediyorum. huart, hspi gibi.
Böyleyse hrtc bir değişkendir bir pointer değildir. Dolayısıyla &hrtc diye kullanmalısınız.
Kodun tamami olmadigi icin anlamasi zor ama benim anladigim, soyle birsey;
HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format)
{
...
Time_Display(RTC_ReadTimeCounter(hrtc));
...
}
int main()
{
RTC_HandleTypeDef hrtc;
HAL_RTC_SetTime(&hrtc, ........)
return 0;
}
Burada HAL_RTC_SetTime icindeki hrtc parametresi zaten pointer oldugu icin, bu fonksiyonun icinde tekrar pointerin adresini almaya gerek yok. Dolayisiyla RTC_ReadTimeCounter(hrtc) olacak.
&hrtc pointerin pointeri olur ve hrtc degiskeni yerine bellekteki baska bir yere erismis olursunuz.
@brandice5 hocam anladığınız gibi - teşekkür ederim
bu şekilde çalıştı
Evet ben yanlış yönlendirmişim. Sorunuzu yanlış anladım sanırım. Kusura bakmayın.
teşekkür ederim hocam cevap yazdığınız için kusura bakılacak bişey yok ben tam bilgi verememişim