1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503 |
- /**
- ******************************************************************************
- * @file stm32l0xx_hal_gpio_ex.h
- * @author MCD Application Team
- * @brief Header file of GPIO HAL Extension module.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2016 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __STM32L0xx_HAL_GPIO_EX_H
- #define __STM32L0xx_HAL_GPIO_EX_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Includes ------------------------------------------------------------------*/
- #include "stm32l0xx_hal_def.h"
- /** @addtogroup STM32L0xx_HAL_Driver
- * @{
- */
- /** @defgroup GPIOEx GPIOEx
- * @{
- */
- /* Exported types ------------------------------------------------------------*/
- /* Exported constants --------------------------------------------------------*/
- /** @defgroup GPIOEx_Exported_Constants GPIOEx Exported Constants
- * @{
- */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L083xx/STM32L073xx---------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L083xx) || defined (STM32L073xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 |TSC |USART2 |TIM2_TR |USART4 |COMP1 |
- * PA1 |EVENTOUT|LCD |TIM2_C2 |TSC |USART2 |TIM21_TR|USART4 | |
- * PA2 |TIM21_C1|LCD |TIM2_C3 |TSC |USART2 | |LPUART1 |COMP2 |
- * PA3 |TIM21_C2|LCD |TIM2_C4 |TSC |USART2 | |LPUART1 | |
- * PA4 |SPI1 | | |TSC |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR |TSC | |TIM2_C1 | | |
- * PA6 |SPI1 |LCD |TIM3_C1 |TSC |LPUART1 |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 |LCD |TIM3_C2 |TSC | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO |LCD |USB |EVENTOUT|USART1 | | |I2C3 |
- * PA9 |MCO |LCD | |TSC |USART1 | |I2C1 |I2C3 |
- * PA10| |LCD | |TSC |USART1 | |I2C1 | |
- * PA11|SPI1 | |EVENTOUT|TSC |USART1 | |I2C2 |COMP1 |
- * PA12|SPI1 | |EVENTOUT|TSC |USART1 | |I2C2 |COMP2 |
- * PA13|SWDIO | |USB | | | |LPUART1 | |
- * PA14|SWCLK | | | |USART2 | |LPUART1 | |
- * PA15|SPI1 |LCD |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 |USART4 | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT|LCD |TIM3_C3 |TSC | | | | |
- * PB1 | |LCD |TIM3_C4 |TSC |LPUART1 | | | |
- * PB2 | | |LPTIM1_O|TSC | | | |I2C3 |
- * PB3 |SPI1 |LCD |TIM2_C2 |TSC |EVENTOUT|USART1 |USART5 | |
- * PB4 |SPI1 |LCD |TIM3_C1 |TSC |TIM22_C1|USART1 |USART5 |I2C3 |
- * PB5 |SPI1 |LCD |LPTIM1_I|I2C1 |TIM3_C2 |USART1 |USART5 | |
- * | | | | |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T|TSC | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I|TSC | | |USART4 | |
- * PB8 | |LCD | |TSC |I2C1 | | | |
- * PB9 | |LCD |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| |LCD |TIM2_C3 |TSC |LPUART1 |SPI2 |I2C2 |LPUART1 |
- * PB11|EVENTOUT|LCD |TIM2_C4 |TSC |LPUART1 | |I2C2 |LPUART1 |
- * PB12|SPI2 |LCD |LPUART1 |TSC | |I2C2 |EVENTOUT| |
- * PB13|SPI2 |LCD |MCO |TSC |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 |LCD |RTC |TSC |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 |LCD |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I|LCD |EVENTOUT|TSC | | |LPUART1 |I2C3 |
- * PC1 |LPTIM1_O|LCD |EVENTOUT|TSC | | |LPUART1 |I2C3 |
- * PC2 |LPTIM1_I|LCD |SPI2 |TSC | | | | |
- * PC3 |LPTIM1_T|LCD |SPI2 |TSC | | | | |
- * PC4 |EVENTOUT|LCD |LPUART1 | | | | | |
- * PC5 | |LCD |LPUART1 |TSC | | | | |
- * PC6 |TIM22_C1|LCD |TIM3_C1 |TSC | | | | |
- * PC7 |TIM22_C2|LCD |TIM3_C2 |TSC | | | | |
- * PC8 |TIM22_TR|LCD |TIM3_C3 |TSC | | | | |
- * PC9 |TIM21_TR|LCD |USB |TSC | | | |I2C3 |
- * | | |TIM3_C4 | | | | | |
- * PC10|LPUART1 |LCD | | | | |USART4 | |
- * PC11|LPUART1 |LCD | | | | |USART4 | |
- * PC12| |LCD |USART5 | | | |USART4 | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD0 |TIM21_C1|SPI2 | | | | | | |
- * PD1 | |SPI2 | | | | | | |
- * PD2 |LPUART1 |LCD |TIM3_TR | | | |USART5 | |
- * PD3 |USART2 |LCD |SPI2 | | | | | |
- * PD4 |USART2 |SPI2 | | | | | | |
- * PD5 |USART2 | | | | | | | |
- * PD6 |USART2 | | | | | | | |
- * PD7 |USART2 |TIM21_C2| | | | | | |
- * PD8 |LPUART1 |LCD | | | | | | |
- * PD9 |LPUART1 |LCD | | | | | | |
- * PD10| |LCD | | | | | | |
- * PD11|LPUART1 |LCD | | | | | | |
- * PD12|LPUART1 |LCD | | | | | | |
- * PD13| |LCD | | | | | | |
- * PD14| |LCD | | | | | | |
- * PD15|USB |LCD | | | | | | |
- *______________________________________________________________________________
- * PE0 | |LCD |EVENTOUT| | | | | |
- * PE1 | |LCD |EVENTOUT| | | | | |
- * PE2 | |LCD |TIM3_TR | | | | | |
- * PE3 |TIM22_C1|LCD |TIM3_C1 | | | | | |
- * PE4 |TIM22_C2| |TIM3_C2 | | | | | |
- * PE5 |TIM21_C1| |TIM3_C3 | | | | | |
- * PE6 |TIM21_C2| |TIM3_C4 | | | | | |
- * PE7 | |LCD | | | | |USART5 | |
- * PE8 | |LCD | | | | |USART4 | |
- * PE9 |TIM2_C1 |LCD |TIM2_TR | | | |USART4 | |
- * PE10|TIM2_C2 |LCD | | | | |USART5 | |
- * PE11|TIM2_C3 | | | | | |USART5 | |
- * PE12|TIM2_C4 | |SPI1 | | | | | |
- * PE13| |LCD |SPI1 | | | | | |
- * PE14| |LCD |SPI1 | | | | | |
- * PE15| |LCD |SPI1 | | | | | |
- *______________________________________________________________________________
- * PH0 |USB | | | | | | | |
- * PH1 | | | | | | | | |
- * PH9 | | | | | | | | |
- * PH10| | | | | | | | |
- *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF0_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_TIM21 ((uint8_t)0x01U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF1_LCD ((uint8_t)0x01U) /* LCD Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_TIM3 ((uint8_t)0x02U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_USART5 ((uint8_t)0x02U) /* USART5 Alternate Function mapping */
- #define GPIO_AF2_SPI1 ((uint8_t)0x02U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF2_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_TSC ((uint8_t)0x03U) /* TSC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping*/
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_TIM3 ((uint8_t)0x04U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF5_USART1 ((uint8_t)0x05U) /* USART1 Alternate Function mapping */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_USART4 ((uint8_t)0x06U) /* USART4 Alternate Function mapping */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF6_I2C1 ((uint8_t)0x06U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_USART5 ((uint8_t)0x06U) /* USART5 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- #define GPIO_AF7_I2C3 ((uint8_t)0x07U) /* I2C3 Alternate Function mapping */
- #define GPIO_AF7_LPUART1 ((uint8_t)0x07U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* (STM32L083xx) || (STM32L073xx) */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L082xx and STM32L072xx-----------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L082xx) || defined (STM32L072xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 |TSC |USART2 |TIM2_TR |USART4 |COMP1 |
- * PA1 |EVENTOUT| |TIM2_C2 |TSC |USART2 |TIM21_TR|USART4 | |
- * PA2 |TIM21_C1| |TIM2_C3 |TSC |USART2 | |LPUART1 |COMP2 |
- * PA3 |TIM21_C2| |TIM2_C4 |TSC |USART2 | |LPUART1 | |
- * PA4 |SPI1 | | |TSC |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR |TSC | |TIM2_C1 | | |
- * PA6 |SPI1 | |TIM3_C1 |TSC |LPUART1 |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 | |TIM3_C2 |TSC | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO | |USB |EVENTOUT|USART1 | | |I2C3 |
- * PA9 |MCO | | |TSC |USART1 | |I2C1 |I2C3 |
- * PA10| | | |TSC |USART1 | |I2C1 | |
- * PA11|SPI1 | |EVENTOUT|TSC |USART1 | |I2C2 |COMP1 |
- * PA12|SPI1 | |EVENTOUT|TSC |USART1 | |I2C2 |COMP2 |
- * PA13|SWDIO | |USB | | | |LPUART1 | |
- * PA14|SWCLK | | | |USART2 | |LPUART1 | |
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 |USART4 | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT| |TIM3_C3 |TSC | | | | |
- * PB1 | | |TIM3_C4 |TSC |LPUART1 | | | |
- * PB2 | | |LPTIM1_O|TSC | | | |I2C3 |
- * PB3 |SPI1 | |TIM2_C2 |TSC |EVENTOUT|USART1 |USART5 | |
- * PB4 |SPI1 | |TIM3_C1 |TSC |TIM22_C1|USART1 |USART5 |I2C3 |
- * PB5 |SPI1 | |LPTIM1_I|I2C1 |TIM3_C2 |USART1 |USART5 | |
- * | | | | |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T|TSC | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I|TSC | | |USART4 | |
- * PB8 | | | |TSC |I2C1 | | | |
- * PB9 | | |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| | |TIM2_C3 |TSC |LPUART1 |SPI2 |I2C2 |LPUART1 |
- * PB11|EVENTOUT| |TIM2_C4 |TSC |LPUART1 | |I2C2 |LPUART1 |
- * PB12|SPI2 | |LPUART1 |TSC | |I2C2 |EVENTOUT| |
- * PB13|SPI2 | |MCO |TSC |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 | |RTC |TSC |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 | |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I| |EVENTOUT|TSC | | |LPUART1 |I2C3 |
- * PC1 |LPTIM1_O| |EVENTOUT|TSC | | |LPUART1 |I2C3 |
- * PC2 |LPTIM1_I| |SPI2 |TSC | | | | |
- * PC3 |LPTIM1_T| |SPI2 |TSC | | | | |
- * PC4 |EVENTOUT| |LPUART1 | | | | | |
- * PC5 | | |LPUART1 |TSC | | | | |
- * PC6 |TIM22_C1| |TIM3_C1 |TSC | | | | |
- * PC7 |TIM22_C2| |TIM3_C2 |TSC | | | | |
- * PC8 |TIM22_TR| |TIM3_C3 |TSC | | | | |
- * PC9 |TIM21_TR| |USB |TSC | | | |I2C3 |
- * | | |TIM3_C4 | | | | | |
- * PC10|LPUART1 | | | | | |USART4 | |
- * PC11|LPUART1 | | | | | |USART4 | |
- * PC12| | |USART5 | | | |USART4 | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD0 |TIM21_C1|SPI2 | | | | | | |
- * PD1 | |SPI2 | | | | | | |
- * PD2 |LPUART1 | |TIM3_TR | | | |USART5 | |
- * PD3 |USART2 | |SPI2 | | | | | |
- * PD4 |USART2 |SPI2 | | | | | | |
- * PD5 |USART2 | | | | | | | |
- * PD6 |USART2 | | | | | | | |
- * PD7 |USART2 |TIM21_C2| | | | | | |
- * PD8 |LPUART1 | | | | | | | |
- * PD9 |LPUART1 | | | | | | | |
- * PD10| | | | | | | | |
- * PD11|LPUART1 | | | | | | | |
- * PD12|LPUART1 | | | | | | | |
- * PD13| | | | | | | | |
- * PD14| | | | | | | | |
- * PD15|USB | | | | | | | |
- *______________________________________________________________________________
- * PE0 | | |EVENTOUT| | | | | |
- * PE1 | | |EVENTOUT| | | | | |
- * PE2 | | |TIM3_TR | | | | | |
- * PE3 |TIM22_C1| |TIM3_C1 | | | | | |
- * PE4 |TIM22_C2| |TIM3_C2 | | | | | |
- * PE5 |TIM21_C1| |TIM3_C3 | | | | | |
- * PE6 |TIM21_C2| |TIM3_C4 | | | | | |
- * PE7 | | | | | | |USART5 | |
- * PE8 | | | | | | |USART4 | |
- * PE9 |TIM2_C1 | |TIM2_TR | | | |USART4 | |
- * PE10|TIM2_C2 | | | | | |USART5 | |
- * PE11|TIM2_C3 | | | | | |USART5 | |
- * PE12|TIM2_C4 | |SPI1 | | | | | |
- * PE13| | |SPI1 | | | | | |
- * PE14| | |SPI1 | | | | | |
- * PE15| | |SPI1 | | | | | |
- *______________________________________________________________________________
- * PH0 |USB | | | | | | | |
- * PH1 | | | | | | | | |
- * PH9 | | | | | | | | |
- * PH10| | | | | | | | |
- *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF0_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_TIM21 ((uint8_t)0x01U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_TIM3 ((uint8_t)0x02U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_USART5 ((uint8_t)0x02U) /* USART5 Alternate Function mapping */
- #define GPIO_AF2_SPI1 ((uint8_t)0x02U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF2_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_TSC ((uint8_t)0x03U) /* TSC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_TIM3 ((uint8_t)0x04U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF5_USART1 ((uint8_t)0x05U) /* USART1 Alternate Function mapping */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_USART4 ((uint8_t)0x06U) /* USART4 Alternate Function mapping */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF6_I2C1 ((uint8_t)0x06U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_USART5 ((uint8_t)0x06U) /* USART5 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- #define GPIO_AF7_I2C3 ((uint8_t)0x07U) /* I2C3 Alternate Function mapping */
- #define GPIO_AF7_LPUART1 ((uint8_t)0x07U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* (STM32L082xx) || (STM32L072xx) */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L081xx and STM32L071xx-----------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L081xx) || defined (STM32L071xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 | |USART2 |TIM2_TR |USART4 |COMP1 |
- * PA1 |EVENTOUT| |TIM2_C2 | |USART2 |TIM21_TR|USART4 | |
- * PA2 |TIM21_C1| |TIM2_C3 | |USART2 | |LPUART1 |COMP2 |
- * PA3 |TIM21_C2| |TIM2_C4 | |USART2 | |LPUART1 | |
- * PA4 |SPI1 | | | |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR | | |TIM2_C1 | | |
- * PA6 |SPI1 | |TIM3_C1 | |LPUART1 |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 | |TIM3_C2 | | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO | | |EVENTOUT|USART1 | | |I2C3 |
- * PA9 |MCO | | | |USART1 | |I2C1 |I2C3 |
- * PA10| | | | |USART1 | |I2C1 | |
- * PA11|SPI1 | |EVENTOUT| |USART1 | |I2C2 |COMP1 |
- * PA12|SPI1 | |EVENTOUT| |USART1 | |I2C2 |COMP2 |
- * PA13|SWDIO | | | | | |LPUART1 | |
- * PA14|SWCLK | | | |USART2 | |LPUART1 | |
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 |USART4 | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT| |TIM3_C3 | | | | | |
- * PB1 | | |TIM3_C4 | |LPUART1 | | | |
- * PB2 | | |LPTIM1_O| | | | |I2C3 |
- * PB3 |SPI1 | |TIM2_C2 | |EVENTOUT|USART1 |USART5 | |
- * PB4 |SPI1 | |TIM3_C1 | |TIM22_C1|USART1 |USART5 |I2C3 |
- * PB5 |SPI1 | |LPTIM1_I|I2C1 |TIM3_C2 |USART1 |USART5 | |
- * | | | | |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T| | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I| | | |USART4 | |
- * PB8 | | | | |I2C1 | | | |
- * PB9 | | |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| | |TIM2_C3 | |LPUART1 |SPI2 |I2C2 |LPUART1 |
- * PB11|EVENTOUT| |TIM2_C4 | |LPUART1 | |I2C2 |LPUART1 |
- * PB12|SPI2 | |LPUART1 | | |I2C2 |EVENTOUT| |
- * PB13|SPI2 | |MCO | |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 | |RTC | |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 | |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I| |EVENTOUT| | | |LPUART1 |I2C3 |
- * PC1 |LPTIM1_O| |EVENTOUT| | | |LPUART1 |I2C3 |
- * PC2 |LPTIM1_I| |SPI2 | | | | | |
- * PC3 |LPTIM1_T| |SPI2 | | | | | |
- * PC4 |EVENTOUT| |LPUART1 | | | | | |
- * PC5 | | |LPUART1 | | | | | |
- * PC6 |TIM22_C1| |TIM3_C1 | | | | | |
- * PC7 |TIM22_C2| |TIM3_C2 | | | | | |
- * PC8 |TIM22_TR| |TIM3_C3 | | | | | |
- * PC9 |TIM21_TR| | | | | | |I2C3 |
- * | | |TIM3_C4 | | | | | |
- * PC10|LPUART1 | | | | | |USART4 | |
- * PC11|LPUART1 | | | | | |USART4 | |
- * PC12| | |USART5 | | | |USART4 | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD0 |TIM21_C1|SPI2 | | | | | | |
- * PD1 | |SPI2 | | | | | | |
- * PD2 |LPUART1 | |TIM3_TR | | | |USART5 | |
- * PD3 |USART2 | |SPI2 | | | | | |
- * PD4 |USART2 |SPI2 | | | | | | |
- * PD5 |USART2 | | | | | | | |
- * PD6 |USART2 | | | | | | | |
- * PD7 |USART2 |TIM21_C2| | | | | | |
- * PD8 |LPUART1 | | | | | | | |
- * PD9 |LPUART1 | | | | | | | |
- * PD10| | | | | | | | |
- * PD11|LPUART1 | | | | | | | |
- * PD12|LPUART1 | | | | | | | |
- * PD13| | | | | | | | |
- * PD14| | | | | | | | |
- * PD15| | | | | | | | |
- *______________________________________________________________________________
- * PE0 | | |EVENTOUT| | | | | |
- * PE1 | | |EVENTOUT| | | | | |
- * PE2 | | |TIM3_TR | | | | | |
- * PE3 |TIM22_C1| |TIM3_C1 | | | | | |
- * PE4 |TIM22_C2| |TIM3_C2 | | | | | |
- * PE5 |TIM21_C1| |TIM3_C3 | | | | | |
- * PE6 |TIM21_C2| |TIM3_C4 | | | | | |
- * PE7 | | | | | | |USART5 | |
- * PE8 | | | | | | |USART4 | |
- * PE9 |TIM2_C1 | |TIM2_TR | | | |USART4 | |
- * PE10|TIM2_C2 | | | | | |USART5 | |
- * PE11|TIM2_C3 | | | | | |USART5 | |
- * PE12|TIM2_C4 | |SPI1 | | | | | |
- * PE13| | |SPI1 | | | | | |
- * PE14| | |SPI1 | | | | | |
- * PE15| | |SPI1 | | | | | |
- *______________________________________________________________________________
- * PH0 | | | | | | | | |
- * PH1 | | | | | | | | |
- * PH9 | | | | | | | | |
- * PH10| | | | | | | | |
- *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- *
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- *
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_TIM21 ((uint8_t)0x01U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- *
- */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_TIM3 ((uint8_t)0x02U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_USART5 ((uint8_t)0x02U) /* USART5 Alternate Function mapping */
- #define GPIO_AF2_SPI1 ((uint8_t)0x02U) /* SPI1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- * @{
- */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- *
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_TIM3 ((uint8_t)0x04U) /* TIM3 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- *
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF5_USART1 ((uint8_t)0x05U) /* USART1 Alternate Function mapping */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- *
- */
- #define GPIO_AF6_USART4 ((uint8_t)0x06U) /* USART4 Alternate Function mapping */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF6_I2C1 ((uint8_t)0x06U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_USART5 ((uint8_t)0x06U) /* USART5 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- *
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- #define GPIO_AF7_I2C3 ((uint8_t)0x07U) /* I2C3 Alternate Function mapping */
- #define GPIO_AF7_LPUART1 ((uint8_t)0x07U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* (STM32L081xx) || (STM32L071xx) */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L053xx/STM32L063xx---------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L053xx) || defined (STM32L063xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 |TSC |USART2 |TIM2_TR | |COMP1 |
- * PA1 |EVENTOUT|LCD |TIM2_C2 |TSC |USART2 |TIM21_TR| | |
- * PA2 |TIM21_C1|LCD |TIM2_C3 |TSC |USART2 | | |COMP2 |
- * PA3 |TIM21_C2|LCD |TIM2_C4 |TSC |USART2 | | | |
- * PA4 |SPI1 | | |TSC |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR |TSC | |TIM2_C1 | | |
- * PA6 |SPI1 |LCD | |TSC |LPUART |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 |LCD | |TSC | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO |LCD |USB |EVENTOUT|USART1 | | | |
- * PA9 |MCO |LCD | |TSC |USART1 | | | |
- * PA10| |LCD | |TSC |USART1 | | | |
- * PA11|SPI1 | |EVENTOUT|TSC |USART1 | | |COMP1 |
- * PA12|SPI1 | |EVENTOUT|TSC |USART1 | | |COMP2 |
- * PA13|SWDIO | |USB | | | | | |
- * PA14|SWCLK | | | |USART2 | | | |
- * PA15|SPI1 |LCD |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 | | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT|LCD | |TSC | | | | |
- * PB1 | |LCD | |TSC |LPUART1 | | | |
- * PB2 | | |LPTIM1_O|TSC | | | | |
- * PB3 |SPI1 |LCD |TIM2_C2 |TSC |EVENTOUT| | | |
- * PB4 |SPI1 |LCD |EVENTOUT|TSC |TIM22_C1| | | |
- * PB5 |SPI1 |LCD |LPTIM1_I|I2C1 |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T|TSC | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I|TSC | | | | |
- * PB8 | |LCD | |TSC |I2C1 | | | |
- * PB9 | |LCD |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| |LCD |TIM2_C3 |TSC |LPUART1 |SPI2 |I2C2 | |
- * PB11|EVENTOUT|LCD |TIM2_C4 |TSC |LPUART1 | |I2C2 | |
- * PB12|SPI2 |LCD |LPUART1 |TSC | |I2C2 |EVENTOUT| |
- * PB13|SPI2 |LCD | |TSC |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 |LCD |RTC |TSC |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 |LCD |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I|LCD |EVENTOUT|TSC | | | | |
- * PC1 |LPTIM1_O|LCD |EVENTOUT|TSC | | | | |
- * PC2 |LPTIM1_I|LCD |SPI2 |TSC | | | | |
- * PC3 |LPTIM1_T|LCD |SPI2 |TSC | | | | |
- * PC4 |EVENTOUT|LCD |LPUART | | | | | |
- * PC5 | |LCD |LPUART |TSC | | | | |
- * PC6 |TIM22_C1|LCD | |TSC | | | | |
- * PC7 |TIM22_C2|LCD | |TSC | | | | |
- * PC8 |TIM22_TR|LCD | |TSC | | | | |
- * PC9 |TIM21_TR|LCD |USB |TSC | | | | |
- * PC10|LPUART |LCD | | | | | | |
- * PC11|LPUART |LCD | | | | | | |
- * PC12| |LCD | | | | | | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD2 |LPUART |LCD | | | | | | |
- *______________________________________________________________________________
- * PH0 |USB | | | | | | | |
- * PH1 | | | | | | | | |
- * *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TSC ((uint8_t)0x00U) /* TSC Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_LCD ((uint8_t)0x01U) /* LCD Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_USB ((uint8_t)0x02U) /* USB Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_TSC ((uint8_t)0x03U) /* TSC Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L053xx || STM32L063xx */
- /*------------------------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L052xx/STM32L062xx---------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L052xx) || defined (STM32L062xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 |TSC |USART2 |TIM2_TR | |COMP1 |
- * PA1 |EVENTOUT| |TIM2_C2 |TSC |USART2 |TIM21_TR| | |
- * PA2 |TIM21_C1| |TIM2_C3 |TSC |USART2 | | |COMP2 |
- * PA3 |TIM21_C2| |TIM2_C4 |TSC |USART2 | | | |
- * PA4 |SPI1 | | |TSC |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR |TSC | |TIM2_C1 | | |
- * PA6 |SPI1 | | |TSC |LPUART |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 | | |TSC | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO | |USB |EVENTOUT|USART1 | | | |
- * PA9 |MCO | | |TSC |USART1 | | | |
- * PA10| | | |TSC |USART1 | | | |
- * PA11|SPI1 | |EVENTOUT|TSC |USART1 | | |COMP1 |
- * PA12|SPI1 | |EVENTOUT|TSC |USART1 | | |COMP2 |
- * PA13|SWDIO | |USB | | | | | |
- * PA14|SWCLK | | | |USART2 | | | |
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 | | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT| | |TSC | | | | |
- * PB1 | | | |TSC |LPUART1 | | | |
- * PB2 | | |LPTIM1_O|TSC | | | | |
- * PB3 |SPI1 | |TIM2_C2 |TSC |EVENTOUT| | | |
- * PB4 |SPI1 | |EVENTOUT|TSC |TIM22_C1| | | |
- * PB5 |SPI1 | |LPTIM1_I|I2C1 |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T|TSC | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I|TSC | | | | |
- * PB8 | | | |TSC |I2C1 | | | |
- * PB9 | | |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| | |TIM2_C3 |TSC |LPUART1 |SPI2 |I2C2 | |
- * PB11|EVENTOUT| |TIM2_C4 |TSC |LPUART1 | |I2C2 | |
- * PB12|SPI2 | |LPUART1 |TSC | |I2C2 |EVENTOUT| |
- * PB13|SPI2 | | |TSC |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 | |RTC |TSC |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 | |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I| |EVENTOUT|TSC | | | | |
- * PC1 |LPTIM1_O| |EVENTOUT|TSC | | | | |
- * PC2 |LPTIM1_I| |SPI2 |TSC | | | | |
- * PC3 |LPTIM1_T| |SPI2 |TSC | | | | |
- * PC4 |EVENTOUT| |LPUART | | | | | |
- * PC5 | | |LPUART |TSC | | | | |
- * PC6 |TIM22_C1| | |TSC | | | | |
- * PC7 |TIM22_C2| | |TSC | | | | |
- * PC8 |TIM22_TR| | |TSC | | | | |
- * PC9 |TIM21_TR| |USB |TSC | | | | |
- * PC10|LPUART | | | | | | | |
- * PC11|LPUART | | | | | | | |
- * PC12| | | | | | | | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD2 |LPUART | | | | | | | |
- *______________________________________________________________________________
- * PH0 |USB | | | | | | | |
- * PH1 | | | | | | | | |
- * *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_USB ((uint8_t)0x00U) /* USB Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TSC ((uint8_t)0x00U) /* TSC Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /**
- * Alternate function AF2
- */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_USB ((uint8_t)0x02U) /* USB Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_TSC ((uint8_t)0x03U) /* TSC Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L052xx || STM32L062xx */
- /*------------------------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- /*------------------------------- STM32L051xx---------------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L051xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | | |TIM2_C1 | |USART2 |TIM2_TR | |COMP1 |
- * PA1 |EVENTOUT| |TIM2_C2 | |USART2 |TIM21_TR| | |
- * PA2 |TIM21_C1| |TIM2_C3 | |USART2 | | |COMP2 |
- * PA3 |TIM21_C2| |TIM2_C4 | |USART2 | | | |
- * PA4 |SPI1 | | | |USART2 |TIM22_TR| | |
- * PA5 |SPI1 | |TIM2_TR | | |TIM2_C1 | | |
- * PA6 |SPI1 | | | |LPUART |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 | | | | |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO | | |EVENTOUT|USART1 | | | |
- * PA9 |MCO | | | |USART1 | | | |
- * PA10| | | | |USART1 | | | |
- * PA11|SPI1 | |EVENTOUT| |USART1 | | |COMP1 |
- * PA12|SPI1 | |EVENTOUT| |USART1 | | |COMP2 |
- * PA13|SWDIO | | | | | | | |
- * PA14|SWCLK | | | |USART2 | | | |
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 | | |
- *______________________________________________________________________________
- * PB0 |EVENTOUT| | | | | | | |
- * PB1 | | | | |LPUART1 | | | |
- * PB2 | | |LPTIM1_O| | | | | |
- * PB3 |SPI1 | |TIM2_C2 | |EVENTOUT| | | |
- * PB4 |SPI1 | |EVENTOUT| |TIM22_C1| | | |
- * PB5 |SPI1 | |LPTIM1_I|I2C1 |TIM22_C2| | | |
- * PB6 |USART1 |I2C1 |LPTIM1_T| | | | | |
- * PB7 |USART1 |I2C1 |LPTIM1_I| | | | | |
- * PB8 | | | | |I2C1 | | | |
- * PB9 | | |EVENTOUT| |I2C1 |SPI2 | | |
- * PB10| | |TIM2_C3 | |LPUART1 |SPI2 |I2C2 | |
- * PB11|EVENTOUT| |TIM2_C4 | |LPUART1 | |I2C2 | |
- * PB12|SPI2 | |LPUART1 | | |I2C2 |EVENTOUT| |
- * PB13|SPI2 | | | |LPUART1 |I2C2 |TIM21_C1| |
- * PB14|SPI2 | |RTC | |LPUART1 |I2C2 |TIM21_C2| |
- * PB15|SPI2 | |RTC | | | | | |
- *______________________________________________________________________________
- * PC0 |LPTIM1_I| |EVENTOUT| | | | | |
- * PC1 |LPTIM1_O| |EVENTOUT| | | | | |
- * PC2 |LPTIM1_I| |SPI2 | | | | | |
- * PC3 |LPTIM1_T| |SPI2 | | | | | |
- * PC4 |EVENTOUT| |LPUART | | | | | |
- * PC5 | | |LPUART | | | | | |
- * PC6 |TIM22_C1| | | | | | | |
- * PC7 |TIM22_C2| | | | | | | |
- * PC8 |TIM22_TR| | | | | | | |
- * PC9 |TIM21_TR| | | | | | | |
- * PC10|LPUART | | | | | | | |
- * PC11|LPUART | | | | | | | |
- * PC12| | | | | | | | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________
- * PD2 |LPUART | | | | | | | |
- *______________________________________________________________________________
- * PH0 | | | | | | | | |
- * PH1 | | | | | | | | |
- * *
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF0_USART1 ((uint8_t)0x00U) /* USART1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TIM2 ((uint8_t)0x00U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_SPI2 ((uint8_t)0x02U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_USB ((uint8_t)0x02U) /* USB Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_USART1 ((uint8_t)0x04U) /* USART1 Alternate Function mapping */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /* SPI2 Alternate Function mapping */
- #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_I2C2 ((uint8_t)0x06U) /* I2C2 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L051xx */
- /*------------------------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L031xx/STM32L041xx---------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L031xx)|| defined (STM32L041xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________
- * PA0 | |LPTIM1 |TIM2_C1 | |USART2 |TIM2_TR | |COMP1 |
- * PA1 |EVENTOUT|LPTIM1 |TIM2_C2 |I2C1 |USART2 |TIM21_TR| | |
- * PA2 |TIM21_C1| |TIM2_C3 | |USART2 | |LPUART1 |COMP2 |
- * PA3 |TIM21_C2| |TIM2_C4 | |USART2 | |LPUART1 | |
- * PA4 |SPI1 |LPTIM1 | | |USART2 |TIM22_TR| | |
- * PA5 |SPI1 |LPTIM1 |TIM2_TR | | |TIM2_C1 | | |
- * PA6 |SPI1 |LPTIM1 | | |LPUART |TIM22_C1|EVENTOUT|COMP1 |
- * PA7 |SPI1 |LPTIM1 | | |USART2 |TIM22_C2|EVENTOUT|COMP2 |
- * PA8 |MCO | |LPTIM1 |EVENTOUT|USART2 |TIM2_C1 | | |
- * PA9 |MCO |I2C1 | | |USART2 |TIM22_C1| | |
- * PA10| |I2C1 | | |USART2 |TIM22_C2| | |
- * PA11|SPI1 | |EVENTOUT| |USART2 |TIM21_C2| |COMP1 |
- * PA12|SPI1 | |EVENTOUT| |USART2 | | |COMP2 |
- * PA13|SWDIO |LPTIM1 | | | | |LPUART1 | |
- * PA14|SWCLK |LPTIM1 | |I2C1 |USART2 | |LPUART1 | |
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2 |TIM2_C1 | | |
- *_____________________________________________________________________________|
- * PB0 |EVENTOUT|SPI1 | | |USART2 |TIM2_C3 | | |
- * PB1 |USART2 |SPI1 | | |LPUART1 |TIM2_C4 | | |
- * PB2 | | |LPTIM1_O| | | | | |
- * PB3 |SPI1 | |TIM2_C2 | |EVENTOUT| | | |
- * PB4 |SPI1 | |EVENTOUT| |TIM22_C1| | | |
- * PB5 |SPI1 | |LPTIM1_I|I2C1 |TIM22_C2| | | |
- * PB6 |USART2 |I2C1 |LPTIM1_T| | |TIM21_C1| | |
- * PB7 |USART2 |I2C1 |LPTIM1_I| | | | | |
- * PB8 | | | | |I2C1 | | | |
- * PB9 | | |EVENTOUT| |I2C1 | | | |
- * PB10| | |TIM2_C3 | | | |LPUART1 | |
- * PB11|EVENTOUT| |TIM2_C4 | | | |LPUART1 | |
- * PB12|SPI2 | | | | | |EVENTOUT| |
- * PB13|SPI2 | |MCO | | |TIM21_C1|LPUART1 | |
- * PB14|SPI2 | |RTC | | |TIM21_C2|LPUART1 | |
- * PB15|SPI2 | |RTC | | | | | |
- *_____________________________________________________________________________|
- * PC0 |LPTIM1_I| |EVENTOUT| | | |LPUART1 | |
- * PC13| | | | | | | | |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *_____________________________________________________________________________|
- * PH0 | | | | | | | | |
- * PH1 | | | | | | | | |
- *_____________________________________________________________________________|
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_LPTIM1 ((uint8_t)0x01U) /* LPTIM1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L031xx/STM32L041xx*/
- /*------------------------------------------------------------------------------------------*/
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L011xx/STM32L021xx---------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L011xx)|| defined (STM32L021xx)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *______________________________________________________________________________________
- * PA0 |USART2_RX|LPTIM1_IN1|TIM2_C1 | |USART2_CTS|TIM2_ETR|LPUART1_RX |COMP1_OUT|
- * PA1 |EVENTOUT |LPTIM1_IN2|TIM2_C2 |I2C1 |USART2_RTS|TIM21_TR|LPUART1_TX | |
- * PA2 |TIM21_C1 | |TIM2_C3 | |USART2_TX | |LPUART1_TX |COMP2_OUT|
- * PA3 |TIM21_C2 | |TIM2_C4 | |USART2_RX | |LPUART1_RX | |
- * PA4 |SPI1 |LPTIM1_IN1|LPTIM1_TR|I2C1_SCL|USART2_CK |TIM2_TR |LPUART1_TX |COMP2_OUT|
- * PA5 |SPI1 |LPTIM1_IN2|TIM2_TR | | |TIM2_C1 | | |
- * PA6 |SPI1 |LPTIM1_ETR| | |LPUART1_CT| |EVENTOUT |COMP1_OUT|
- * PA7 |SPI1 |LPTIM1_OUT| | |USART2_CTS|TIM21_T |EVENTOUT |COMP2_OUT|
- * PA8 |MCO | |LPTIM1_I1|EVENTOUT|USART2_CK |TIM2_C1 | | |
- * PA9 |MCO |I2C1_SCL |LPTIM1_O | |USART2_TX |TIM21_C2| |COMP1_OUT|
- * PA10|TIM21_C1 |I2C1_SDA |RTC_REFIN| |USART2_RX |TIM2_C3 | |COMP1_OUT|
- * PA11|SPI1 |LPTIM1_OUT|EVENTOUT | |USART2_CTS|TIM21_C2| |COMP1_OUT|
- * PA12|SPI1 | |EVENTOUT | |USART2_RTS| | |COMP2_OUT|
- * PA13|SWDIO |LPTIM1_T | |I2C1_SDA| |SPI1 |LPUART1_RX |COMP1_OUT|
- * PA14|SWCLK |LPTIM1_O | |I2C1_SMB|USART2_TX |SPI1 |LPUART1_TX |COMP2_OUT|
- * PA15|SPI1 | |TIM2_TR |EVENTOUT|USART2_RX |TIM2_C1 | | |
- *______________________________________________________________________________________ |
- * PB0 |EVENTOUT |SPI1 |TIM2_C2 | |USART2_RTS|TIM2_C3 | | |
- * PB1 |USART2_CK|SPI1 |LPTIM1_I1| |LPUART1_RT|TIM2_C4 | | |
- * PB2 | | |LPTIM1_O | | | | | |
- * PB3 |SPI1 | |TIM2_C2 | |EVENTOUT | | | |
- * PB4 |SPI1 | |EVENTOUT | | | | | |
- * PB5 |SPI1 | |LPTIM1_I1|I2C1 | |TIM21_C1| | |
- * PB6 |USART2_TX|I2C1_SCL |LPTIM1_T | | |TIM2_C3 |LPUART1_TX | |
- * PB7 |USART2_RX|I2C1 |LPTIM1_I2| | |TIM2_C4 |LPUART1_RX | |
- * PB8 |USART2_TX| |EVENTOUT | |I2C1 |SPI1 | | |
- * PB9 | | | | | | | | |
- *______________________________________________________________________________________ |
- * PC14| | | | | | | | |
- * PC15| | | | | | | | |
- *______________________________________________________________________________________ |
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_LPTIM1 ((uint8_t)0x01U) /* LPTIM1 Alternate Function mapping */
- /**
- *
- */
- /* Alternate function AF2
- *
- */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_SPI1 ((uint8_t)0x05U) /* SPI1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L011xx/STM32L021xx*/
- /*----------------------------------------------------------------------------*/
- /*----------------------------- STM32L010xB ----------------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L010xB)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 | AF7 |
- *_______________________________________________________________________________________________|
- * PA0 | | |TIM2_CH1 | |USART2_CTS |TIM2_ETR | | |
- * PA1 |EVENTOUT | |TIM2_CH2 | |USART2_RTS |TIM21_ETR| | |
- * PA2 |TIM21_CH1 | |TIM2_CH3 | |USART2_TX | |LPUART1_TX | |
- * PA3 |TIM21_CH2 | |TIM2_CH4 | |USART2_RX | |LPUART1_RX | |
- * PA4 |SPI1_NSS | | | |USART2_CK |TIM22_ETR| | |
- * PA5 |SPI1_SCK | |TIM2_ETR | | |TIM2_CH1 | | |
- * PA6 |SPI1_MISO | | | |LPUART1_CTS|TIM22_CH1|EVENTOUT | |
- * PA7 |SPI1_MOSI | | | | |TIM22_CH2|EVENTOUT | |
- * PA8 |MCO | | |EVENTOUT | | | | |
- * PA9 |MCO | | | | | |I2C1_SCL | |
- * PA10| | | | | | |I2C1_SDA | |
- * PA11|SPI1_MISO | |EVENTOUT | | | | | |
- * PA12|SPI1_MOSI | |EVENTOUT | | | | | |
- * PA13|SWDIO | | | | | |LPUART1_RX | |
- * PA14|SWCLK | | | |USART2_TX | |LPUART1_TX | |
- * PA15|SPI1_NSS | |TIM2_ETR |EVENTOUT |USART2_RX |TIM2_CH1 | | |
- *_______________________________________________________________________________________________|
- * PB0 |EVENTOUT | | | | | | | |
- * PB1 | | | | |LPUART1_RTS| | | |
- * PB2 | | |LPTIM1_OUT | | | | | |
- * PB3 |SPI1_SCK | |TIM2_CH2 | |EVENTOUT | | | |
- * PB4 |SPI1_MISO | | | |TIM22_CH1 | | | |
- * PB5 |SPI1_MOSI | |LPTIM1_IN1 |I2C1_SMBA|TIM22_CH2 | | | |
- * PB6 | |I2C1_SCL |LPTIM1_ETR | | | | | |
- * PB7 | |I2C1_SDA |LPTIM1_IN2 | | | | | |
- * PB8 | | | | |I2C1_SCL | | | |
- * PB9 | | |EVENTOUT | |I2C1_SDA | | | |
- * PB10| | |TIM2_CH3 | |LPUART1_TX | | |LPUART1_RX|
- * PB11|EVENTOUT | |TIM2_CH4 | |LPUART1_RX | | |LPUART1_TX|
- * PB12| | |LPUART1_RTS| | | |EVENTOUT | |
- * PB13| | |MCO | |LPUART1_CTS| |TIM21_CH1 | |
- * PB14| | |RTC_OUT | |LPUART1_RTS| |TIM21_CH2 | |
- * PB15| | |RTC_REFIN | | | | | |
- *_______________________________________________________________________________________________|
- * PC0 |LPTIM1_IN1 | |EVENTOUT | | | |LPUART1_RX | |
- * PC1 |LPTIM1_OUT | |EVENTOUT | | | |LPUART1_TX | |
- * PC2 |LPTIM1_IN2 | | | | | | | |
- * PC3 |LPTIM1_ETR | | | | | | | |
- * PC4 |EVENTOUT | |LPUART1_TX | | | | | |
- * PC5 | | |LPUART1_RX | | | | | |
- * PC6 |TIM22_CH1 | | | | | | | |
- * PC7 |TIM22_CH2 | | | | | | | |
- * PC8 |TIM22_ETR | | | | | | | |
- * PC9 |TIM21_ETR | | | | | | | |
- * PC10|LPUART1_TX | | | | | | | |
- * PC11|LPUART1_RX | | | | | | | |
- *_______________________________________________________________________________________________|
- * PD2 |LPUART1_RTS| | | | | | | |
- *_______________________________________________________________________________________________|
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- *
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_TIM22 ((uint8_t)0x00U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- *
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- *
- */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- * @{
- */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- *
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF4_TIM22 ((uint8_t)0x04U) /* TIM22 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- *
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_TIM22 ((uint8_t)0x05U) /* TIM22 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- *
- */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF6_I2C1 ((uint8_t)0x06U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- *
- */
- #define GPIO_AF7_LPUART1 ((uint8_t)0x07U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07)
- /**
- * @}
- */
- #endif /* STM32L010xB */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L010x8 --------------------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L010x8)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 |
- *________________________________________________________________________________________________|
- * PA0 | | | TIM2_CH1 | | USART2_CTS | TIM2_ETR | |
- * PA1 | EVENTOUT | | TIM2_CH2 | | USART2_RTS | TIM21_ETR | |
- * PA2 | TIM21_CH1 | | TIM2_CH3 | | USART2_TX | | |
- * PA3 | TIM21_CH2 | | TIM2_CH4 | | USART2_RX | | |
- * PA4 | SPI1_NSS | | | | USART2_CK | | |
- * PA5 | SPI1_SCK | | TIM2_ETR | | | TIM2_CH1 | |
- * PA6 | SPI1_MISO | | | | LPUART1_CTS | | EVENTOUT |
- * PA7 | SPI1_MOSI | | | | | | EVENTOUT |
- * PA8 | MCO | | | EVENTOUT | | | |
- * PA9 | MCO | | | | | | |
- * PA10 | | | | | | | |
- * PA11 | SPI1_MISO | | EVENTOUT | | | | |
- * PA12 | SPI1_MOSI | | EVENTOUT | | | | |
- * PA13 | SWDIO | | | | | | |
- * PA14 | SWCLK | | | | USART2_TX | | |
- * PA15 | SPI1_NSS | | TIM2_ETR | EVENTOUT | USART2_RX | TIM2_CH1 | |
- *________________________________________________________________________________________________|
- * PB0 | EVENTOUT | | | | | | |
- * PB1 | | | | | LPUART1_RTS | | |
- * PB2 | | | LPTIM1_OUT | | | | |
- * PB3 | SPI1_SCK | | TIM2_CH2 | | EVENTOUT | | |
- * PB4 | SPI1_MISO | EVENTOUT | | | | | |
- * PB5 | SPI1_MOSI | LPTIM1_IN1 | I2C1_SMBA | | | | |
- * PB6 | | I2C1_SCL | LPTIM1_ETR | | | | |
- * PB7 | | I2C1_SDA | LPTIM1_IN2 | | | | |
- * PB8 | | | | | I2C1_SCL | | |
- * PB9 | | | EVENTOUT | | I2C1_SDA | | |
- * PB10 | | | TIM2_CH3 | | LPUART1_TX | | |
- * PB11 | EVENTOUT | | TIM2_CH4 | | LPUART1_RX | | |
- * PB12 | | | LPUART1_RTS | | | EVENTOUT | |
- * PB13 | | | | | LPUART1_CTS | | TIM21_CH1 |
- * PB14 | | | RTC_OUT | | LPUART1_RTS | | TIM21_CH2 |
- * PB15 | | | RTC_REFIN | | | | |
- *________________________________________________________________________________________________|
- * PC0 | LPTIM1_IN1 | | EVENTOUT | | | | |
- * PC1 | LPTIM1_OUT | | EVENTOUT | | | | |
- * PC2 | LPTIM1_IN2 | | | | | | |
- * PC3 | LPTIM1_ETR | | | | | | |
- * PC4 | EVENTOUT | | LPUART1_TX | | | | |
- * PC5 | | | LPUART1_RX | | | | |
- * PC9 | TIM21_ETR | | | | | | |
- * PC10 | LPUART1_TX | | | | | | |
- * PC11 | LPUART1_RX | | | | | | |
- * PD2 | LPUART1_RTS | | | | | | |
- *________________________________________________________________________________________________|
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF0_LPUART1 ((uint8_t)0x00U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_LPUART1 ((uint8_t)0x02U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_TIM21 ((uint8_t)0x06U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
- /**
- * @}
- */
- #endif /* STM32L010x8 */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L010x6 --------------------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L010x6)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 |
- *__________________________________________________________________________________________________|
- * PA1 | EVENTOUT | LPTIM1_IN2 | TIM2_CH2 | I2C1_SMBA | USART2_RTS | TIM21_ETR | |
- * PA2 | TIM21_CH1 | | TIM2_CH3 | | USART2_TX | | LPUART1_TX |
- * PA3 | TIM21_CH2 | | TIM2_CH4 | | USART2_RX | | LPUART1_RX |
- * PA4 | SPI1_NSS | LPTIM1_IN1 | | | USART2_CK | | |
- * PA5 | SPI1_SCK | LPTIM1_IN2 | TIM2_ETR | | | TIM2_CH1 | |
- * PA6 | SPI1_MISO | LPTIM1_ETR | | | LPUART1_CTS | | EVENTOUT |
- * PA7 | SPI1_MOSI | LPTIM1_OUT | | | USART2_CTS | | EVENTOUT |
- * PA8 | MCO | | LPTIM1_IN1 | EVENTOUT | USART2_CK | TIM2_CH1 | |
- * PA9 | MCO | I2C1_SCL | | | USART2_TX | | |
- * PA10 | | I2C1_SDA | | | USART2_RX | | |
- * PA11 | SPI1_MISO | | EVENTOUT | | USART2_CTS | TIM21_CH2 | |
- * PA12 | SPI1_MOSI | | EVENTOUT | | USART2_RTS | | |
- * PA13 | SWDIO | LPTIM1_ETR | | | | | LPUART1_RX |
- * PA14 | SWCLK | LPTIM1_OUT | | I2C1_SMBA | USART2_TX | | LPUART1_TX |
- * PA15 | SPI1_NSS | | TIM2_ETR | EVENTOUT | USART2_RX | TIM2_CH1 | |
- *__________________________________________________________________________________________________|
- * PB0 | EVENTOUT | SPI1_MISO | | | USART2_RTS | TIM2_CH3 | |
- * PB1 | USART2_CK | SPI1_MOSI | | | LPUART1_RTS | TIM2_CH4 | |
- * PB2 | | | LPTIM1_OUT | | | | |
- * PB3 | SPI1_SCK | | TIM2_CH2 | | EVENTOUT | | |
- * PB4 | SPI1_MISO | | EVENTOUT | | | | |
- * PB5 | SPI1_MOSI | LPTIM1_IN1 | I2C1_SMBA | | | | |
- * PB6 | USART2_TX | I2C1_SCL | LPTIM1_ETR | | | TIM21_CH1 | |
- * PB7 | USART2_RX | I2C1_SDA | LPTIM1_IN2 | | | | |
- * PB8 | | | | | I2C1_SCL | | |
- * PB9 | | | EVENTOUT | | I2C1_SDA | | |
- * PB10 | | | TIM2_CH3 | | | | LPUART1_TX |
- * PB11 | EVENTOUT | | TIM2_CH4 | | | | LPUART1_RX |
- * PB12 | SPI1_NSS | | | | | | EVENTOUT |
- * PB13 | SPI1_SCK | | MCO | | | TIM21_CH1 | LPUART1_CTS|
- * PB14 | SPI1_MISO | | RTC_OUT | | | TIM21_CH2 | LPUART1_RTS|
- * PB15 | SPI1_MOSI | | RTC_REFIN | | | | |
- *__________________________________________________________________________________________________|
- * PC0 | LPTIM1_IN1 | | EVENTOUT | | | | LPUART1_RX |
- *__________________________________________________________________________________________________|
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_LPTIM1 ((uint8_t)0x00U) /* LPTIM1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_LPTIM1 ((uint8_t)0x01U) /* LPTIM1 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF2
- */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_MCO ((uint8_t)0x02U) /* MCO Alternate Function mapping */
- #define GPIO_AF2_I2C1 ((uint8_t)0x02U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF7
- */
- #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /* COMP1 Alternate Function mapping */
- #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /* COMP2 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * @brief IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
- /**
- * @}
- */
- #endif /* STM32L010x6 */
- /*----------------------------------------------------------------------------*/
- /*------------------------- STM32L010x4 --------------------------------------*/
- /*----------------------------------------------------------------------------*/
- #if defined (STM32L010x4)
- /* The table below gives an overview of the different alternate functions per port.
- * For more details refer yourself to the product data sheet.
- *
- */
- /* | AF0 | AF1 | AF2 | AF3 | AF4 | AF5 | AF6 |
- *_______________________________________________________________________ _________________________|
- * PA0 | USART2_RX | LPTIM1_IN1 | TIM2_CH1 | | USART2_CTS | TIM2_ETR | LPUART1_RX |
- * PA1 | EVENTOUT | LPTIM1_IN2 | TIM2_CH2 | I2C1_SMBA | USART2_RTS | TIM21_ETR | LPUART1_TX |
- * PA2 | TIM21_CH1 | | TIM2_CH3 | | USART2_TX | | LPUART1_TX |
- * PA3 | TIM21_CH2 | | TIM2_CH4 | | USART2_RX | | LPUART1_RX |
- * PA4 | SPI1_NSS | LPTIM1_IN1 | LPTIM1_ETR | I2C1_SCL | USART2_CK | TIM2_ETR | LPUART1_TX |
- * PA5 | SPI1_SCK | LPTIM1_IN2 | TIM2_ETR | | | TIM2_CH1 | |
- * PA6 | SPI1_MISO | LPTIM1_ETR | | LPUART1_CTS | | EVENTOUT | |
- * PA7 | SPI1_MOSI | LPTIM1_OUT | | USART2_CTS | TIM21_ETR | EVENTOUT | |
- * PA8 | MCO | | LPTIM1_IN1 | EVENTOUT | USART2_CK | TIM2_CH1 | |
- * PA9 | MCO | I2C1_SCL | LPTIM1_OUT | | USART2_TX | TIM21_CH2 | |
- * PA10 | TIM21_CH1 | I2C1_SDA | RTC_REFIN | | USART2_RX | TIM2_CH3 | |
- * PA11 | SPI1_MISO | LPTIM1_OUT | EVENTOUT | | USART2_CTS | TIM21_CH2 | |
- * PA12 | SPI1_MOSI | | EVENTOUT | | USART2_RTS | | |
- * PA13 | SWDIO | LPTIM1_ETR | | I2C1_SDA | | SPI1_SCK | LPUART1_RX |
- * PA14 | SWCLK | LPTIM1_OUT | | I2C1_SMBA | USART2_TX | SPI1_MISO | LPUART1_TX |
- * PA15 | SPI1_NSS | | TIM2_ETR | EVENTOUT | USART2_RX | TIM2_CH1 | |
- *_________________________________________________________________________________________________|
- * PB0 | EVENTOUT | SPI1_MISO | TIM2_CH2 | | USART2_RTS | TIM2_CH3 | |
- * PB1 | USART2_CK | SPI1_MOSI | LPTIM1_IN1 | | LPUART1_RTS | TIM2_CH4 | |
- * PB3 | SPI1_SCK | | TIM2_CH2 | | EVENTOUT | | |
- * PB4 | SPI1_MISO | | EVENTOUT | | | | |
- * PB5 | SPI1_MOSI | | LPTIM1_IN1 | I2C1_SMBA | | TIM21_CH1 | |
- * PB6 | USART2_TX | I2C1_SCL | LPTIM1_ETR | | | TIM2_CH3 | LPUART1_TX |
- * PB7 | USART2_RX | I2C1_SDA | LPTIM1_IN2 | | | TIM2_CH4 | LPUART1_RX |
- *_________________________________________________________________________________________________|
- */
- /** @defgroup GPIOEx_Alternate_function_selection Alternate function selection
- * @{
- */
- /*
- * Alternate function AF0
- */
- #define GPIO_AF0_USART2 ((uint8_t)0x00U) /* USART2 Alternate Function mapping */
- #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF0_TIM21 ((uint8_t)0x00U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF0_MCO ((uint8_t)0x00U) /* MCO Alternate Function mapping */
- #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /* SWDIO Alternate Function mapping */
- #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /* SWCLK Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF1
- */
- #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF1_LPTIM1 ((uint8_t)0x01U) /* LPTIM1 Alternate Function mapping */
- /**
- *
- */
- /* Alternate function AF2
- *
- */
- #define GPIO_AF2_LPTIM1 ((uint8_t)0x02U) /* LPTIM1 Alternate Function mapping */
- #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF2_RTC ((uint8_t)0x02U) /* RTC Alternate Function mapping */
- #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF3
- */
- #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /* I2C1 Alternate Function mapping */
- #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /* EVENTOUT Alternate Function mapping */
- #define GPIO_AF3_LPUART1 ((uint8_t)0x03U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF3_USART2 ((uint8_t)0x03U) /* USART2 Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF4
- */
- #define GPIO_AF4_USART2 ((uint8_t)0x04U) /* USART2 Alternate Function mapping */
- #define GPIO_AF4_TIM21 ((uint8_t)0x04U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF4_LPUART1 ((uint8_t)0x04U) /* LPUART1 Alternate Function mapping */
- #define GPIO_AF4_EVENTOUT ((uint8_t)0x04U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF5
- */
- #define GPIO_AF5_TIM2 ((uint8_t)0x05U) /* TIM2 Alternate Function mapping */
- #define GPIO_AF5_TIM21 ((uint8_t)0x05U) /* TIM21 Alternate Function mapping */
- #define GPIO_AF5_SPI1 ((uint8_t)0x05U) /* SPI1 Alternate Function mapping */
- #define GPIO_AF5_EVENTOUT ((uint8_t)0x05U) /* EVENTOUT Alternate Function mapping */
- /**
- *
- */
- /*
- * Alternate function AF6
- */
- #define GPIO_AF6_LPUART1 ((uint8_t)0x06U) /* LPUART1 Alternate Function mapping */
- /**
- *
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /** @defgroup GPIOEx_Private GPIOEx Private
- * @{
- */
- /**
- * IS_GPIO_AF macro definition
- */
- #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06)
- /**
- * @}
- */
- #endif /* STM32L010x4*/
- #if defined (STM32L083xx) || defined (STM32L082xx) || defined (STM32L081xx) || \
- defined (STM32L073xx) || defined (STM32L072xx) || defined (STM32L071xx) || \
- defined (STM32L010xB)
- /** @addtogroup GPIOEx_Exported_Constants
- * @{
- */
- /** @defgroup GPIOEx_Pin_Available Pin available
- * @{
- */
- #define GPIOA_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOB_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOC_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOD_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOE_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOH_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_9 | GPIO_PIN_10)
- /**
- * @}
- */
- /**
- * @}
- */
- /** @addtogroup GPIOEx_Private
- * @{
- */
- #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
- ((__GPIOx__) == (GPIOB))? 1U :\
- ((__GPIOx__) == (GPIOC))? 2U :\
- ((__GPIOx__) == (GPIOD))? 3U :\
- ((__GPIOx__) == (GPIOE))? 4U :\
- ((__GPIOx__) == (GPIOH))? 5U : 6U)
- #define IS_GPIO_PIN_AVAILABLE(__INSTANCE__,__PIN__) \
- ((((__INSTANCE__) == GPIOA) && (((__PIN__) & (GPIOA_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOA_PIN_AVAILABLE)) == (GPIOA_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOB) && (((__PIN__) & (GPIOB_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOB_PIN_AVAILABLE)) == (GPIOB_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOC) && (((__PIN__) & (GPIOC_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOC_PIN_AVAILABLE)) == (GPIOC_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOD) && (((__PIN__) & (GPIOD_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOD_PIN_AVAILABLE)) == (GPIOD_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOE) && (((__PIN__) & (GPIOE_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOE_PIN_AVAILABLE)) == (GPIOE_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOH) && (((__PIN__) & (GPIOH_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOH_PIN_AVAILABLE)) == (GPIOH_PIN_AVAILABLE))))
- /**
- * @}
- */
- #elif defined (STM32L031xx) || defined (STM32L041xx) || defined (STM32L010x6)
- /** @addtogroup GPIOEx_Exported_Constants
- * @{
- */
- /** @defgroup GPIOEx_Pin_Available Pin available
- * @{
- */
- #define GPIOA_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOB_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOC_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15)
- #define GPIOH_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1)
- /**
- * @}
- */
- /**
- * @}
- */
- /** @addtogroup GPIOEx_Private
- * @{
- */
- #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
- ((__GPIOx__) == (GPIOB))? 1U :\
- ((__GPIOx__) == (GPIOC))? 2U :\
- ((__GPIOx__) == (GPIOH))? 5U : 6U)
- #define IS_GPIO_PIN_AVAILABLE(__INSTANCE__,__PIN__) \
- ((((__INSTANCE__) == GPIOA) && (((__PIN__) & (GPIOA_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOA_PIN_AVAILABLE)) == (GPIOA_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOB) && (((__PIN__) & (GPIOB_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOB_PIN_AVAILABLE)) == (GPIOB_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOC) && (((__PIN__) & (GPIOC_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOC_PIN_AVAILABLE)) == (GPIOC_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOH) && (((__PIN__) & (GPIOH_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOH_PIN_AVAILABLE)) == (GPIOH_PIN_AVAILABLE))))
- /**
- * @}
- */
- #elif defined (STM32L011xx) || defined (STM32L021xx) || defined (STM32L010x4)
- /** @addtogroup GPIOEx_Exported_Constants
- * @{
- */
- /** @defgroup GPIOEx_Pin_Available Pin available
- * @{
- */
- #define GPIOA_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOB_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | \
- GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 )
- #define GPIOC_PIN_AVAILABLE (GPIO_PIN_14 | GPIO_PIN_15)
- /**
- * @}
- */
- /**
- * @}
- */
- /** @addtogroup GPIOEx_Private
- * @{
- */
- #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
- ((__GPIOx__) == (GPIOB))? 1U :\
- ((__GPIOx__) == (GPIOC))? 2U : 6U)
- #define IS_GPIO_PIN_AVAILABLE(__INSTANCE__,__PIN__) \
- ((((__INSTANCE__) == GPIOA) && (((__PIN__) & (GPIOA_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOA_PIN_AVAILABLE)) == (GPIOA_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOB) && (((__PIN__) & (GPIOB_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOB_PIN_AVAILABLE)) == (GPIOB_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOC) && (((__PIN__) & (GPIOC_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOC_PIN_AVAILABLE)) == (GPIOC_PIN_AVAILABLE))))
- /**
- * @}
- */
- #elif defined (STM32L063xx) || defined (STM32L062xx) || defined (STM32L053xx) || \
- defined (STM32L052xx) || defined (STM32L051xx) || defined (STM32L010x8)
- /** @addtogroup GPIOEx_Exported_Constants
- * @{
- */
- /** @defgroup GPIOEx_Pin_Available Pin available
- * @{
- */
- #define GPIOA_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOB_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOC_PIN_AVAILABLE GPIO_PIN_All
- #define GPIOD_PIN_AVAILABLE GPIO_PIN_2
- #define GPIOH_PIN_AVAILABLE GPIO_PIN_0 | GPIO_PIN_1
- /**
- * @}
- */
- /**
- * @}
- */
- /** @addtogroup GPIOEx_Private
- * @{
- */
- #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
- ((__GPIOx__) == (GPIOB))? 1U :\
- ((__GPIOx__) == (GPIOC))? 2U :\
- ((__GPIOx__) == (GPIOD))? 3U :\
- ((__GPIOx__) == (GPIOH))? 5U : 6U)
- #define IS_GPIO_PIN_AVAILABLE(__INSTANCE__,__PIN__) \
- ((((__INSTANCE__) == GPIOA) && (((__PIN__) & (GPIOA_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOA_PIN_AVAILABLE)) == (GPIOA_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOB) && (((__PIN__) & (GPIOB_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOB_PIN_AVAILABLE)) == (GPIOB_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOC) && (((__PIN__) & (GPIOC_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOC_PIN_AVAILABLE)) == (GPIOC_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOD) && (((__PIN__) & (GPIOD_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOD_PIN_AVAILABLE)) == (GPIOD_PIN_AVAILABLE))) || \
- (((__INSTANCE__) == GPIOH) && (((__PIN__) & (GPIOH_PIN_AVAILABLE)) != 0U) && (((__PIN__) | (GPIOH_PIN_AVAILABLE)) == (GPIOH_PIN_AVAILABLE))))
- /**
- * @}
- */
- #endif /* STM32L083xx || STM32L082xx || STM32L081xx || STM32L073xx || STM32L072xx || STM32L071xx*/
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __STM32L0xx_HAL_GPIO_EX_H */
|