RE: Programování STM32 - přerušení
cizek.milan na seznam.cz
cizek.milan na seznam.cz
Čtvrtek Říjen 3 08:04:48 CEST 2019
Aha zajímavé, ten __weak neznám. Do zdrojáků níže lezu poměrně často (přes CTRL).
Takže pokud někde níže je nějaká metoda s prefixem __weak, tak pokud udělám stejnou deklaraci v main.c, tak se použije ta jako override?
To je celkem pěkné, takže teoreticky můžu měnit kód jen v main.c popř. zde jen volat metody z nějakého svého .h/.c a nikde jinde už moc přepisovat nemusím?
Ještě si to dohledám. :-) Děkuji.
M.
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Jaroslav Buchta
Sent: Thursday, October 3, 2019 4:17 AM
To: hw-list na list.hw.cz
Subject: Re: Programování STM32 - přerušení
Funguje to tak, ze ty callback funkce jsou v HAL knihovnach definovany jako weak a nic nedelaji - takto treba
__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
/* Prevent unused argument(s) compilation warning */
UNUSED(GPIO_Pin);
/* NOTE: This function should not be modified, when the callback is needed,
the HAL_GPIO_EXTI_Callback could be implemented in the user file
*/
}
Pokud si nadefinujete svoji callback funkci, tak linker pouzije prednostne tu uzivatelskou.
Je dobre se na tyto featury podivat do zdrojaku knihoven, hledanim v souborech se da ve zdrojacich celkem rychle zorientovat.
A je to jak pisete, o flagy se postara HAL, je dobre si zprovoznit to ladeni a ty obsluhy preruseni si treba prokrokovat, je pak vsechno jasnejsi.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20191003/8c88af33/attachment.html>
Další informace o konferenci Hw-list