123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958 |
- /**
- *******************************************************************************************************
- * @file fm33lc0xx_fl_gptim.h
- * @author FMSH Application Team
- * @brief Head file of GPTIM FL Module
- *******************************************************************************************************
- * @attention
- *
- * Copyright (c) [2021] [Fudan Microelectronics]
- * THIS SOFTWARE is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- * See the Mulan PSL v2 for more details.
- *
- *******************************************************************************************************
- */
- /* Define to prevent recursive inclusion---------------------------------------------------------------*/
- #ifndef __FM33LC0XX_FL_GPTIM_H
- #define __FM33LC0XX_FL_GPTIM_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Includes -------------------------------------------------------------------------------------------*/
- #include "fm33lc0xx_fl_def.h"
- /** @addtogroup FM33LC0XX_FL_Driver
- * @{
- */
- /** @defgroup GPTIM GPTIM
- * @brief GPTIM FL driver
- * @{
- */
- /* Exported types -------------------------------------------------------------------------------------*/
- /** @defgroup GPTIM_FL_ES_INIT GPTIM Exported Init structures
- * @{
- */
- /**
- * @brief GPTIM Init Sturcture Definition
- */
- typedef struct
- {
- /** 预分频系数 */
- uint32_t prescaler;
- /** 计数模式 */
- uint32_t counterMode;
- /** 自动重装载值 */
- uint32_t autoReload;
- /** 预装载使能 */
- uint32_t autoReloadState;
- /** 定时器分频系数与数字滤波器所使用的采样时钟分频比*/
- uint32_t clockDivision;
- } FL_GPTIM_InitTypeDef;
- /**
- * @brief GPTIM SlaveMode Init Sturcture Definition
- */
- typedef struct
- {
- /** ITRx 源*/
- uint32_t ITRSourceGroup;
- /** 外部时钟源模式 */
- uint32_t slaveMode;
- /** 输入触发信号选择 */
- uint32_t triggerSrc;
- /** Trigger 延迟*/
- uint32_t triggerDelay;
- } FL_GPTIM_SlaveInitTypeDef;
- /**
- * @brief GPTIM Input Capture Init Structure Definition
- */
- typedef struct
- {
- /** 输入捕获使能 */
- uint32_t captureState;
- /** 输入捕获极性 */
- uint32_t ICPolarity;
- /** 通道映射激活的输入选择 */
- uint32_t ICActiveInput;
- /** 输入分频 */
- uint32_t ICPrescaler;
- /** 输入滤波 */
- uint32_t ICFilter;
- } FL_GPTIM_IC_InitTypeDef;
- /**
- * @brief GPTIM ETR Init Structure Definition
- */
- typedef struct
- {
- /** 外部触发使能 */
- uint32_t useExternalTrigger;
- /** 外部时钟滤波 */
- uint32_t ETRFilter;
- /** 外部时钟分频 */
- uint32_t ETRClockDivision;
- /** 外部时钟触发极性 */
- uint32_t ETRPolarity;
- } FL_GPTIM_ETR_InitTypeDef;
- /**
- * @brief GPTIM Output Compare Init Structure Definition
- */
- typedef struct
- {
- /** 比较输出模式 */
- uint32_t OCMode;
- /** 比较输出通道快速模式使能 */
- uint32_t OCFastMode;
- /** 输出比较预装载 */
- uint32_t OCPreload;
- /** 通道比较值 */
- uint32_t compareValue;
- /** 比较输出极性 */
- uint32_t OCPolarity;
- /** ETR清0使能 */
- uint32_t OCETRFStatus;
- } FL_GPTIM_OC_InitTypeDef;
- /**
- * @}
- */
- /**
- * GPTIM0~GPTIM2 ITRSEL_Group 映射表
- *
- * ===================== GPTIM0 ======================
- * ---------------------------------------------------
- * ITRx | Group | Function Name | Function Type
- * ---------------------------------------------------
- * ITR0 | 0 | ATIM_TRGO | 计数触发
- * | 1 | UART0_RX | 宽度捕捉
- * | 2 | UART1_RX | 宽度捕捉
- * | 3 | UART3_RX | 宽度捕捉
- * ---------------------------------------------------
- * ITR1 | 0 | GPTIM2_TRGO | 计数触发
- * | 1 | XTHF | 周期捕捉
- * | 2 | RCHF | 周期捕捉
- * | 3 | LPUART1_RX | 周期捕捉
- * ---------------------------------------------------
- * ITR2 | 0 | BSTIM32_TRGO | 计数触发
- * | 1 | LPUART2_RX | 宽度捕捉
- * | 2 | LPOSC | 周期捕捉
- * | 3 | XTLF | 周期捕捉
- * ---------------------------------------------------
- * ITR3 | 0 | COMP1_TRGO | 计数触发
- * | 1 | RCLF | 周期捕捉
- * | 2 | COMP2_TRGO | 计数触发
- * | 3 | LPT32_TRGO | 计数触发
- * ---------------------------------------------------
- *
- * ===================== GPTIM1 ======================
- * ---------------------------------------------------
- * ITRx | Group | Function Name | Function Type
- * ---------------------------------------------------
- * ITR0 | 0 | ATIM_TRGO | 计数触发
- * | 1 | UART0_RX | 宽度捕捉
- * | 2 | UART1_RX | 宽度捕捉
- * | 3 | UART3_RX | 宽度捕捉
- * ---------------------------------------------------
- * ITR1 | 0 | GPTIM0_TRGO | 计数触发
- * | 1 | LUT1_TRGO | 周期捕捉
- * | 2 | RCHF | 周期捕捉
- * | 3 | ADC_EOC_TRGO | 计数触发
- * ---------------------------------------------------
- * ITR2 | 0 | BSTIM32_TRGO | 计数触发
- * | 1 | LSCLK | 周期捕捉
- * | 2 | LPOSC | 周期捕捉
- * | 3 | XTLF | 周期捕捉
- * ---------------------------------------------------
- * ITR3 | 0 | COMP1_TRGO | 计数触发
- * | 1 | LUT3_TRGO | 周期捕捉
- * | 2 | COMP2_TRGO | 计数触发
- * | 3 | LPT32_TRGO | 计数触发
- * ---------------------------------------------------
- *
- */
- /* Exported constants ---------------------------------------------------------------------------------*/
- /** @defgroup GPTIM_FL_Exported_Constants GPTIM Exported Constants
- * @{
- */
- #define GPTIM_CR1_CKD_Pos (8U)
- #define GPTIM_CR1_CKD_Msk (0x3U << GPTIM_CR1_CKD_Pos)
- #define GPTIM_CR1_CKD GPTIM_CR1_CKD_Msk
- #define GPTIM_CR1_ARPE_Pos (7U)
- #define GPTIM_CR1_ARPE_Msk (0x1U << GPTIM_CR1_ARPE_Pos)
- #define GPTIM_CR1_ARPE GPTIM_CR1_ARPE_Msk
- #define GPTIM_CR1_CMS_Pos (5U)
- #define GPTIM_CR1_CMS_Msk (0x3U << GPTIM_CR1_CMS_Pos)
- #define GPTIM_CR1_CMS GPTIM_CR1_CMS_Msk
- #define GPTIM_CR1_DIR_Pos (4U)
- #define GPTIM_CR1_DIR_Msk (0x1U << GPTIM_CR1_DIR_Pos)
- #define GPTIM_CR1_DIR GPTIM_CR1_DIR_Msk
- #define GPTIM_CR1_OPM_Pos (3U)
- #define GPTIM_CR1_OPM_Msk (0x1U << GPTIM_CR1_OPM_Pos)
- #define GPTIM_CR1_OPM GPTIM_CR1_OPM_Msk
- #define GPTIM_CR1_URS_Pos (2U)
- #define GPTIM_CR1_URS_Msk (0x1U << GPTIM_CR1_URS_Pos)
- #define GPTIM_CR1_URS GPTIM_CR1_URS_Msk
- #define GPTIM_CR1_UDIS_Pos (1U)
- #define GPTIM_CR1_UDIS_Msk (0x1U << GPTIM_CR1_UDIS_Pos)
- #define GPTIM_CR1_UDIS GPTIM_CR1_UDIS_Msk
- #define GPTIM_CR1_CEN_Pos (0U)
- #define GPTIM_CR1_CEN_Msk (0x1U << GPTIM_CR1_CEN_Pos)
- #define GPTIM_CR1_CEN GPTIM_CR1_CEN_Msk
- #define GPTIM_CR2_TI1S_Pos (7U)
- #define GPTIM_CR2_TI1S_Msk (0x1U << GPTIM_CR2_TI1S_Pos)
- #define GPTIM_CR2_TI1S GPTIM_CR2_TI1S_Msk
- #define GPTIM_CR2_MMS_Pos (4U)
- #define GPTIM_CR2_MMS_Msk (0x7U << GPTIM_CR2_MMS_Pos)
- #define GPTIM_CR2_MMS GPTIM_CR2_MMS_Msk
- #define GPTIM_CR2_CCDS_Pos (3U)
- #define GPTIM_CR2_CCDS_Msk (0x1U << GPTIM_CR2_CCDS_Pos)
- #define GPTIM_CR2_CCDS GPTIM_CR2_CCDS_Msk
- #define GPTIM_SMCR_ETP_Pos (15U)
- #define GPTIM_SMCR_ETP_Msk (0x1U << GPTIM_SMCR_ETP_Pos)
- #define GPTIM_SMCR_ETP GPTIM_SMCR_ETP_Msk
- #define GPTIM_SMCR_ECE_Pos (14U)
- #define GPTIM_SMCR_ECE_Msk (0x1U << GPTIM_SMCR_ECE_Pos)
- #define GPTIM_SMCR_ECE GPTIM_SMCR_ECE_Msk
- #define GPTIM_SMCR_ETPS_Pos (12U)
- #define GPTIM_SMCR_ETPS_Msk (0x3U << GPTIM_SMCR_ETPS_Pos)
- #define GPTIM_SMCR_ETPS GPTIM_SMCR_ETPS_Msk
- #define GPTIM_SMCR_ETF_Pos (8U)
- #define GPTIM_SMCR_ETF_Msk (0xfU << GPTIM_SMCR_ETF_Pos)
- #define GPTIM_SMCR_ETF GPTIM_SMCR_ETF_Msk
- #define GPTIM_SMCR_MSM_Pos (7U)
- #define GPTIM_SMCR_MSM_Msk (0x1U << GPTIM_SMCR_MSM_Pos)
- #define GPTIM_SMCR_MSM GPTIM_SMCR_MSM_Msk
- #define GPTIM_SMCR_TS_Pos (4U)
- #define GPTIM_SMCR_TS_Msk (0x7U << GPTIM_SMCR_TS_Pos)
- #define GPTIM_SMCR_TS GPTIM_SMCR_TS_Msk
- #define GPTIM_SMCR_SMS_Pos (0U)
- #define GPTIM_SMCR_SMS_Msk (0x7U << GPTIM_SMCR_SMS_Pos)
- #define GPTIM_SMCR_SMS GPTIM_SMCR_SMS_Msk
- #define GPTIM_DIER_CC1BURSTEN_Pos (16U)
- #define GPTIM_DIER_CC1BURSTEN_Msk (0x1U << GPTIM_DIER_CC1BURSTEN_Pos)
- #define GPTIM_DIER_CC1BURSTEN GPTIM_DIER_CC1BURSTEN_Msk
- #define GPTIM_DIER_CC2BURSTEN_Pos (17U)
- #define GPTIM_DIER_CC2BURSTEN_Msk (0x1U << GPTIM_DIER_CC2BURSTEN_Pos)
- #define GPTIM_DIER_CC2BURSTEN GPTIM_DIER_CC2BURSTEN_Msk
- #define GPTIM_DIER_CC3BURSTEN_Pos (18U)
- #define GPTIM_DIER_CC3BURSTEN_Msk (0x1U << GPTIM_DIER_CC3BURSTEN_Pos)
- #define GPTIM_DIER_CC3BURSTEN GPTIM_DIER_CC3BURSTEN_Msk
- #define GPTIM_DIER_CC4BURSTEN_Pos (19U)
- #define GPTIM_DIER_CC4BURSTEN_Msk (0x1U << GPTIM_DIER_CC4BURSTEN_Pos)
- #define GPTIM_DIER_CC4BURSTEN GPTIM_DIER_CC4BURSTEN_Msk
- #define GPTIM_DIER_TDE_Pos (14U)
- #define GPTIM_DIER_TDE_Msk (0x1U << GPTIM_DIER_TDE_Pos)
- #define GPTIM_DIER_TDE GPTIM_DIER_TDE_Msk
- #define GPTIM_DIER_CCDE_Pos (9U)
- #define GPTIM_DIER_CCDE_Msk (0x1U << GPTIM_DIER_CCDE_Pos)
- #define GPTIM_DIER_CCDE GPTIM_DIER_CCDE_Msk
- #define GPTIM_DIER_UDE_Pos (8U)
- #define GPTIM_DIER_UDE_Msk (0x1U << GPTIM_DIER_UDE_Pos)
- #define GPTIM_DIER_UDE GPTIM_DIER_UDE_Msk
- #define GPTIM_DIER_TIE_Pos (6U)
- #define GPTIM_DIER_TIE_Msk (0x1U << GPTIM_DIER_TIE_Pos)
- #define GPTIM_DIER_TIE GPTIM_DIER_TIE_Msk
- #define GPTIM_DIER_CCIE_Pos (1U)
- #define GPTIM_DIER_CCIE_Msk (0x1U << GPTIM_DIER_CCIE_Pos)
- #define GPTIM_DIER_CCIE GPTIM_DIER_CCIE_Msk
- #define GPTIM_DIER_UIE_Pos (0U)
- #define GPTIM_DIER_UIE_Msk (0x1U << GPTIM_DIER_UIE_Pos)
- #define GPTIM_DIER_UIE GPTIM_DIER_UIE_Msk
- #define GPTIM_ISR_CCOF_Pos (9U)
- #define GPTIM_ISR_CCOF_Msk (0x1U << GPTIM_ISR_CCOF_Pos)
- #define GPTIM_ISR_CCOF GPTIM_ISR_CCOF_Msk
- #define GPTIM_ISR_TIF_Pos (6U)
- #define GPTIM_ISR_TIF_Msk (0x1U << GPTIM_ISR_TIF_Pos)
- #define GPTIM_ISR_TIF GPTIM_ISR_TIF_Msk
- #define GPTIM_ISR_CCIF_Pos (1U)
- #define GPTIM_ISR_CCIF_Msk (0x1U << GPTIM_ISR_CCIF_Pos)
- #define GPTIM_ISR_CCIF GPTIM_ISR_CCIF_Msk
- #define GPTIM_ISR_UIF_Pos (0U)
- #define GPTIM_ISR_UIF_Msk (0x1U << GPTIM_ISR_UIF_Pos)
- #define GPTIM_ISR_UIF GPTIM_ISR_UIF_Msk
- #define GPTIM_EGR_TG_Pos (6U)
- #define GPTIM_EGR_TG_Msk (0x1U << GPTIM_EGR_TG_Pos)
- #define GPTIM_EGR_TG GPTIM_EGR_TG_Msk
- #define GPTIM_EGR_CCG_Pos (1U)
- #define GPTIM_EGR_CCG_Msk (0x1U << GPTIM_EGR_CCG_Pos)
- #define GPTIM_EGR_CCG GPTIM_EGR_CCG_Msk
- #define GPTIM_EGR_UG_Pos (0U)
- #define GPTIM_EGR_UG_Msk (0x1U << GPTIM_EGR_UG_Pos)
- #define GPTIM_EGR_UG GPTIM_EGR_UG_Msk
- #define GPTIM_DCR_DBL_Pos (8U)
- #define GPTIM_DCR_DBL_Msk (0x1fU << GPTIM_DCR_DBL_Pos)
- #define GPTIM_DCR_DBL GPTIM_DCR_DBL_Msk
- #define GPTIM_DCR_DBA_Pos (0U)
- #define GPTIM_DCR_DBA_Msk (0x1fU << GPTIM_DCR_DBA_Pos)
- #define GPTIM_DCR_DBA GPTIM_DCR_DBA_Msk
- #define GPTIM_ITRSEL_Pos (0U)
- #define GPTIM_ITRSEL_Msk (0x3U << GPTIM_ITRSEL_Pos)
- #define GPTIM_ITRSEL GPTIM_ITRSEL_Msk
- #define GPTIM_CCMR_OCCE_Pos (7U)
- #define GPTIM_CCMR_OCCE_Msk (0x1U << GPTIM_CCMR_OCCE_Pos)
- #define GPTIM_CCMR_OCCE GPTIM_CCMR_OCCE_Msk
- #define GPTIM_CCMR_OCM_Pos (4U)
- #define GPTIM_CCMR_OCM_Msk (0x7U << GPTIM_CCMR_OCM_Pos)
- #define GPTIM_CCMR_OCM GPTIM_CCMR_OCM_Msk
- #define GPTIM_CCMR_OCPE_Pos (3U)
- #define GPTIM_CCMR_OCPE_Msk (0x1U << GPTIM_CCMR_OCPE_Pos)
- #define GPTIM_CCMR_OCPE GPTIM_CCMR_OCPE_Msk
- #define GPTIM_CCMR_OCFE_Pos (2U)
- #define GPTIM_CCMR_OCFE_Msk (0x1U << GPTIM_CCMR_OCFE_Pos)
- #define GPTIM_CCMR_OCFE GPTIM_CCMR_OCFE_Msk
- #define GPTIM_CCMR_ICF_Pos (4U)
- #define GPTIM_CCMR_ICF_Msk (0xfU << GPTIM_CCMR_ICF_Pos)
- #define GPTIM_CCMR_ICF GPTIM_CCMR_ICF_Msk
- #define GPTIM_CCMR_ICPSC_Pos (2U)
- #define GPTIM_CCMR_ICPSC_Msk (0x3U << GPTIM_CCMR_ICPSC_Pos)
- #define GPTIM_CCMR_ICPSC GPTIM_CCMR_ICPSC_Msk
- #define GPTIM_CCMR_CCS_Pos (0U)
- #define GPTIM_CCMR_CCS_Msk (0x3U << GPTIM_CCMR_CCS_Pos)
- #define GPTIM_CCMR_CCS GPTIM_CCMR_CCS_Msk
- #define GPTIM_CCER_CCOP_Pos (1U)
- #define GPTIM_CCER_CCOP_Msk (0x1U << GPTIM_CCER_CCOP_Pos)
- #define GPTIM_CCER_CCOP GPTIM_CCER_CCOP_Msk
- #define GPTIM_CCER_CCIP_Pos (1U)
- #define GPTIM_CCER_CCIP_Msk (0x1U << GPTIM_CCER_CCIP_Pos)
- #define GPTIM_CCER_CCIP GPTIM_CCER_CCIP_Msk
- #define GPTIM_CCER_CCE_Pos (0U)
- #define GPTIM_CCER_CCE_Msk (0x1U << GPTIM_CCER_CCE_Pos)
- #define GPTIM_CCER_CCE GPTIM_CCER_CCE_Msk
- #define FL_GPTIM_CHANNEL_1 (0x1U << 0U)
- #define FL_GPTIM_CHANNEL_2 (0x1U << 1U)
- #define FL_GPTIM_CHANNEL_3 (0x1U << 2U)
- #define FL_GPTIM_CHANNEL_4 (0x1U << 3U)
- #define FL_GPTIM_ITR0 (0x1U << 0U)
- #define FL_GPTIM_ITR1 (0x1U << 1U)
- #define FL_GPTIM_ITR2 (0x1U << 2U)
- #define FL_GPTIM_ITR3 (0x1U << 3U)
- #define FL_GPTIM_CLK_DIVISION_DIV1 (0x0U << GPTIM_CR1_CKD_Pos)
- #define FL_GPTIM_CLK_DIVISION_DIV2 (0x1U << GPTIM_CR1_CKD_Pos)
- #define FL_GPTIM_CLK_DIVISION_DIV4 (0x2U << GPTIM_CR1_CKD_Pos)
- #define FL_GPTIM_COUNTER_ALIGNED_EDGE (0x0U << GPTIM_CR1_CMS_Pos)
- #define FL_GPTIM_COUNTER_ALIGNED_CENTER_DOWN (0x1U << GPTIM_CR1_CMS_Pos)
- #define FL_GPTIM_COUNTER_ALIGNED_CENTER_UP (0x2U << GPTIM_CR1_CMS_Pos)
- #define FL_GPTIM_COUNTER_ALIGNED_CENTER_UP_DOWN (0x3U << GPTIM_CR1_CMS_Pos)
- #define FL_GPTIM_COUNTER_DIR_UP (0x0U << GPTIM_CR1_DIR_Pos)
- #define FL_GPTIM_COUNTER_DIR_DOWN (0x1U << GPTIM_CR1_DIR_Pos)
- #define FL_GPTIM_ONE_PULSE_MODE_CONTINUOUS (0x0U << GPTIM_CR1_OPM_Pos)
- #define FL_GPTIM_ONE_PULSE_MODE_SINGLE (0x1U << GPTIM_CR1_OPM_Pos)
- #define FL_GPTIM_UPDATE_SOURCE_REGULAR (0x0U << GPTIM_CR1_URS_Pos)
- #define FL_GPTIM_UPDATE_SOURCE_COUNTER (0x1U << GPTIM_CR1_URS_Pos)
- #define FL_GPTIM_TRGO_RESET (0x0U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_ENABLE (0x1U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_UPDATE (0x2U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_CC1IF (0x3U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_OC1REF (0x4U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_OC2REF (0x5U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_OC3REF (0x6U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_TRGO_OC4REF (0x7U << GPTIM_CR2_MMS_Pos)
- #define FL_GPTIM_DMA_REQ_CC (0x0U << GPTIM_CR2_CCDS_Pos)
- #define FL_GPTIM_DMA_REQ_UPDATE (0x1U << GPTIM_CR2_CCDS_Pos)
- #define FL_GPTIM_ETR_POLARITY_NORMAL (0x0U << GPTIM_SMCR_ETP_Pos)
- #define FL_GPTIM_ETR_POLARITY_INVERT (0x1U << GPTIM_SMCR_ETP_Pos)
- #define FL_GPTIM_ETR_PSC_DIV1 (0x0U << GPTIM_SMCR_ETPS_Pos)
- #define FL_GPTIM_ETR_PSC_DIV2 (0x1U << GPTIM_SMCR_ETPS_Pos)
- #define FL_GPTIM_ETR_PSC_DIV4 (0x2U << GPTIM_SMCR_ETPS_Pos)
- #define FL_GPTIM_ETR_PSC_DIV8 (0x3U << GPTIM_SMCR_ETPS_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV1 (0x0U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV1_N2 (0x1U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV1_N4 (0x2U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV1_N8 (0x3U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV2_N6 (0x4U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV2_N8 (0x5U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV4_N6 (0x6U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV4_N8 (0x7U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV8_N6 (0x8U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV8_N8 (0x9U << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV16_N5 (0xaU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV16_N6 (0xbU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV16_N8 (0xcU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV32_N5 (0xdU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV32_N6 (0xeU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_ETR_FILTER_DIV32_N8 (0xfU << GPTIM_SMCR_ETF_Pos)
- #define FL_GPTIM_TIM_TS_ITR0 (0x0U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_ITR1 (0x1U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_ITR2 (0x2U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_ITR3 (0x3U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_TI1F_ED (0x4U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_TI1FP1 (0x5U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_TI2FP2 (0x6U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_TIM_TS_ETRF (0x7U << GPTIM_SMCR_TS_Pos)
- #define FL_GPTIM_SLAVE_MODE_PROHIBITED (0x0U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI1 (0x1U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI2 (0x2U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_ENCODER_X4_TI1TI2 (0x3U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_TRGI_RISE_RST (0x4U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_TRGI_HIGH_RUN (0x5U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_TRGI_RISE_RUN (0x6U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_SLAVE_MODE_TRGI_CLK (0x7U << GPTIM_SMCR_SMS_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_1 (0x0U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_2 (0x1U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_3 (0x2U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_4 (0x3U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_5 (0x4U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_6 (0x5U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_7 (0x6U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_8 (0x7U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_9 (0x8U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_10 (0x9U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_11 (0xaU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_12 (0xbU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_13 (0xcU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_14 (0xdU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_15 (0xeU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_16 (0xfU << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_17 (0x10U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_LENGTH_18 (0x11U << GPTIM_DCR_DBL_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CR1 (0x0U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CR2 (0x1U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_SMCR (0x2U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_DIER (0x3U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_SR (0x4U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_EGR (0x5U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCMR1 (0x6U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCMR2 (0x7U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCER (0x8U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CNT (0x9U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_PSC (0xaU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_ARR (0xbU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_RCR (0xcU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCR1 (0xdU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCR2 (0xeU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCR3 (0xfU << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_CCR4 (0x10U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_DMA_BURST_ADDR_BDTR (0x11U << GPTIM_DCR_DBA_Pos)
- #define FL_GPTIM_ITRSEL_GROUP0 (0x0U << GPTIM_ITRSEL_Pos)
- #define FL_GPTIM_ITRSEL_GROUP1 (0x1U << GPTIM_ITRSEL_Pos)
- #define FL_GPTIM_ITRSEL_GROUP2 (0x2U << GPTIM_ITRSEL_Pos)
- #define FL_GPTIM_ITRSEL_GROUP3 (0x3U << GPTIM_ITRSEL_Pos)
- #define FL_GPTIM_OC_MODE_FROZEN (0x0U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_ACTIVE (0x1U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_INACTIVE (0x2U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_TOGGLE (0x3U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_FORCED_INACTIVE (0x4U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_FORCED_ACTIVE (0x5U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_PWM1 (0x6U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_OC_MODE_PWM2 (0x7U << GPTIM_CCMR_OCM_Pos)
- #define FL_GPTIM_IC_FILTER_DIV1 (0x0U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV1_N2 (0x1U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV1_N4 (0x2U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV1_N8 (0x3U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV2_N6 (0x4U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV2_N8 (0x5U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV4_N6 (0x6U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV4_N8 (0x7U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV8_N6 (0x8U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV8_N8 (0x9U << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV16_N5 (0xaU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV16_N6 (0xbU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV16_N8 (0xcU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV32_N5 (0xdU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV32_N6 (0xeU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_FILTER_DIV32_N8 (0xfU << GPTIM_CCMR_ICF_Pos)
- #define FL_GPTIM_IC_PSC_DIV1 (0x0U << GPTIM_CCMR_ICPSC_Pos)
- #define FL_GPTIM_IC_PSC_DIV2 (0x1U << GPTIM_CCMR_ICPSC_Pos)
- #define FL_GPTIM_IC_PSC_DIV4 (0x2U << GPTIM_CCMR_ICPSC_Pos)
- #define FL_GPTIM_IC_PSC_DIV8 (0x3U << GPTIM_CCMR_ICPSC_Pos)
- #define FL_GPTIM_CHANNEL_MODE_OUTPUT (0x0U << GPTIM_CCMR_CCS_Pos)
- #define FL_GPTIM_CHANNEL_MODE_INPUT_NORMAL (0x1U << GPTIM_CCMR_CCS_Pos)
- #define FL_GPTIM_CHANNEL_MODE_INPUT_CROSSOVER (0x2U << GPTIM_CCMR_CCS_Pos)
- #define FL_GPTIM_CHANNEL_MODE_INPUT_TRC (0x3U << GPTIM_CCMR_CCS_Pos)
- #define FL_GPTIM_OC_POLARITY_NORMAL (0x0U << GPTIM_CCER_CCOP_Pos)
- #define FL_GPTIM_OC_POLARITY_INVERT (0x1U << GPTIM_CCER_CCOP_Pos)
- #define FL_GPTIM_IC_POLARITY_NORMAL (0x0U << GPTIM_CCER_CCIP_Pos)
- #define FL_GPTIM_IC_POLARITY_INVERT (0x1U << GPTIM_CCER_CCIP_Pos)
- /**
- * @}
- */
- /* Exported functions ---------------------------------------------------------------------------------*/
- /** @defgroup GPTIM_FL_Exported_Functions GPTIM Exported Functions
- * @{
- */
- /**
- * @brief
- * @rmtoll CR1 CKD FL_GPTIM_SetClockDivision
- * @param TIMx TIM instance
- * @param div This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV1
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV2
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetClockDivision(GPTIM_Type *TIMx, uint32_t div)
- {
- MODIFY_REG(TIMx->CR1, GPTIM_CR1_CKD_Msk, div);
- }
- /**
- * @brief
- * @rmtoll CR1 CKD FL_GPTIM_GetClockDivision
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV1
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV2
- * @arg @ref FL_GPTIM_CLK_DIVISION_DIV4
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetClockDivision(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_CKD_Msk));
- }
- /**
- * @brief
- * @rmtoll CR1 ARPE FL_GPTIM_EnableARRPreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableARRPreload(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR1, GPTIM_CR1_ARPE_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 ARPE FL_GPTIM_IsEnabledARRPreload
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledARRPreload(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_ARPE_Msk) == GPTIM_CR1_ARPE_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 ARPE FL_GPTIM_DisableARRPreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableARRPreload(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, GPTIM_CR1_ARPE_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 CMS FL_GPTIM_SetCounterAlignedMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_EDGE
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_DOWN
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_UP
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_UP_DOWN
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetCounterAlignedMode(GPTIM_Type *TIMx, uint32_t mode)
- {
- MODIFY_REG(TIMx->CR1, GPTIM_CR1_CMS_Msk, mode);
- }
- /**
- * @brief
- * @rmtoll CR1 CMS FL_GPTIM_GetCounterAlignedMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_EDGE
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_DOWN
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_UP
- * @arg @ref FL_GPTIM_COUNTER_ALIGNED_CENTER_UP_DOWN
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetCounterAlignedMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_CMS_Msk));
- }
- /**
- * @brief
- * @rmtoll CR1 DIR FL_GPTIM_SetCounterDirection
- * @param TIMx TIM instance
- * @param dir This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_COUNTER_DIR_UP
- * @arg @ref FL_GPTIM_COUNTER_DIR_DOWN
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetCounterDirection(GPTIM_Type *TIMx, uint32_t dir)
- {
- MODIFY_REG(TIMx->CR1, GPTIM_CR1_DIR_Msk, dir);
- }
- /**
- * @brief
- * @rmtoll CR1 DIR FL_GPTIM_GetCounterDirection
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_COUNTER_DIR_UP
- * @arg @ref FL_GPTIM_COUNTER_DIR_DOWN
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetCounterDirection(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_DIR_Msk));
- }
- /**
- * @brief
- * @rmtoll CR1 OPM FL_GPTIM_SetOnePulseMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ONE_PULSE_MODE_CONTINUOUS
- * @arg @ref FL_GPTIM_ONE_PULSE_MODE_SINGLE
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetOnePulseMode(GPTIM_Type *TIMx, uint32_t mode)
- {
- MODIFY_REG(TIMx->CR1, GPTIM_CR1_OPM_Msk, mode);
- }
- /**
- * @brief
- * @rmtoll CR1 OPM FL_GPTIM_GetOnePulseMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_ONE_PULSE_MODE_CONTINUOUS
- * @arg @ref FL_GPTIM_ONE_PULSE_MODE_SINGLE
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetOnePulseMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_OPM_Msk));
- }
- /**
- * @brief
- * @rmtoll CR1 URS FL_GPTIM_SetUpdateSource
- * @param TIMx TIM instance
- * @param source This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_UPDATE_SOURCE_REGULAR
- * @arg @ref FL_GPTIM_UPDATE_SOURCE_COUNTER
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetUpdateSource(GPTIM_Type *TIMx, uint32_t source)
- {
- MODIFY_REG(TIMx->CR1, GPTIM_CR1_URS_Msk, source);
- }
- /**
- * @brief
- * @rmtoll CR1 URS FL_GPTIM_GetUpdateSource
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_UPDATE_SOURCE_REGULAR
- * @arg @ref FL_GPTIM_UPDATE_SOURCE_COUNTER
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetUpdateSource(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_URS_Msk));
- }
- /**
- * @brief
- * @rmtoll CR1 UDIS FL_GPTIM_EnableUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableUpdateEvent(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, GPTIM_CR1_UDIS_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 UDIS FL_GPTIM_IsEnabledUpdateEvent
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledUpdateEvent(GPTIM_Type *TIMx)
- {
- return (uint32_t)!(READ_BIT(TIMx->CR1, GPTIM_CR1_UDIS_Msk) == GPTIM_CR1_UDIS_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 UDIS FL_GPTIM_DisableUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableUpdateEvent(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR1, GPTIM_CR1_UDIS_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 CEN FL_GPTIM_Enable
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_Enable(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR1, GPTIM_CR1_CEN_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 CEN FL_GPTIM_IsEnabled
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabled(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, GPTIM_CR1_CEN_Msk) == GPTIM_CR1_CEN_Msk);
- }
- /**
- * @brief
- * @rmtoll CR1 CEN FL_GPTIM_Disable
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_Disable(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, GPTIM_CR1_CEN_Msk);
- }
- /**
- * @brief
- * @rmtoll CR2 TI1S FL_GPTIM_IC_EnableXORCombination
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_EnableXORCombination(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR2, GPTIM_CR2_TI1S_Msk);
- }
- /**
- * @brief
- * @rmtoll CR2 TI1S FL_GPTIM_IC_IsEnabledXORCombination
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IC_IsEnabledXORCombination(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, GPTIM_CR2_TI1S_Msk) == GPTIM_CR2_TI1S_Msk);
- }
- /**
- * @brief
- * @rmtoll CR2 TI1S FL_GPTIM_IC_DisableXORCombination
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_DisableXORCombination(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR2, GPTIM_CR2_TI1S_Msk);
- }
- /**
- * @brief
- * @rmtoll CR2 MMS FL_GPTIM_SetTriggerOutput
- * @param TIMx TIM instance
- * @param triggerOutput This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_TRGO_RESET
- * @arg @ref FL_GPTIM_TRGO_ENABLE
- * @arg @ref FL_GPTIM_TRGO_UPDATE
- * @arg @ref FL_GPTIM_TRGO_CC1IF
- * @arg @ref FL_GPTIM_TRGO_OC1REF
- * @arg @ref FL_GPTIM_TRGO_OC2REF
- * @arg @ref FL_GPTIM_TRGO_OC3REF
- * @arg @ref FL_GPTIM_TRGO_OC4REF
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetTriggerOutput(GPTIM_Type *TIMx, uint32_t triggerOutput)
- {
- MODIFY_REG(TIMx->CR2, GPTIM_CR2_MMS_Msk, triggerOutput);
- }
- /**
- * @brief
- * @rmtoll CR2 MMS FL_GPTIM_GetTriggerOutput
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_TRGO_RESET
- * @arg @ref FL_GPTIM_TRGO_ENABLE
- * @arg @ref FL_GPTIM_TRGO_UPDATE
- * @arg @ref FL_GPTIM_TRGO_CC1IF
- * @arg @ref FL_GPTIM_TRGO_OC1REF
- * @arg @ref FL_GPTIM_TRGO_OC2REF
- * @arg @ref FL_GPTIM_TRGO_OC3REF
- * @arg @ref FL_GPTIM_TRGO_OC4REF
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetTriggerOutput(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, GPTIM_CR2_MMS_Msk));
- }
- /**
- * @brief
- * @rmtoll CR2 CCDS FL_GPTIM_CC_SetDMAReqTrigger
- * @param TIMx TIM instance
- * @param trigger This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_REQ_CC
- * @arg @ref FL_GPTIM_DMA_REQ_UPDATE
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_CC_SetDMAReqTrigger(GPTIM_Type *TIMx, uint32_t trigger)
- {
- MODIFY_REG(TIMx->CR2, GPTIM_CR2_CCDS_Msk, trigger);
- }
- /**
- * @brief
- * @rmtoll CR2 CCDS FL_GPTIM_CC_GetDMAReqTrigger
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_REQ_CC
- * @arg @ref FL_GPTIM_DMA_REQ_UPDATE
- */
- __STATIC_INLINE uint32_t FL_GPTIM_CC_GetDMAReqTrigger(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, GPTIM_CR2_CCDS_Msk));
- }
- /**
- * @brief
- * @rmtoll SMCR ETP FL_GPTIM_SetETRPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_ETR_POLARITY_INVERT
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetETRPolarity(GPTIM_Type *TIMx, uint32_t polarity)
- {
- MODIFY_REG(TIMx->SMCR, GPTIM_SMCR_ETP_Msk, polarity);
- }
- /**
- * @brief
- * @rmtoll SMCR ETP FL_GPTIM_GetETRPolarity
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_ETR_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetETRPolarity(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_ETP_Msk));
- }
- /**
- * @brief
- * @rmtoll SMCR ECE FL_GPTIM_EnableExternalClock
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableExternalClock(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->SMCR, GPTIM_SMCR_ECE_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR ECE FL_GPTIM_IsEnabledExternalClock
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledExternalClock(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_ECE_Msk) == GPTIM_SMCR_ECE_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR ECE FL_GPTIM_DisableExternalClock
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableExternalClock(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->SMCR, GPTIM_SMCR_ECE_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR ETPS FL_GPTIM_SetETRPrescaler
- * @param TIMx TIM instance
- * @param psc This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_PSC_DIV1
- * @arg @ref FL_GPTIM_ETR_PSC_DIV2
- * @arg @ref FL_GPTIM_ETR_PSC_DIV4
- * @arg @ref FL_GPTIM_ETR_PSC_DIV8
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetETRPrescaler(GPTIM_Type *TIMx, uint32_t psc)
- {
- MODIFY_REG(TIMx->SMCR, GPTIM_SMCR_ETPS_Msk, psc);
- }
- /**
- * @brief
- * @rmtoll SMCR ETPS FL_GPTIM_GetETRPrescaler
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_PSC_DIV1
- * @arg @ref FL_GPTIM_ETR_PSC_DIV2
- * @arg @ref FL_GPTIM_ETR_PSC_DIV4
- * @arg @ref FL_GPTIM_ETR_PSC_DIV8
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetETRPrescaler(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_ETPS_Msk));
- }
- /**
- * @brief
- * @rmtoll SMCR ETF FL_GPTIM_SetETRFilter
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N2
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N4
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV2_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV2_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV4_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV4_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV8_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV8_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N5
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N5
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N8
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetETRFilter(GPTIM_Type *TIMx, uint32_t filter)
- {
- MODIFY_REG(TIMx->SMCR, GPTIM_SMCR_ETF_Msk, filter);
- }
- /**
- * @brief
- * @rmtoll SMCR ETF FL_GPTIM_GetETRFilter
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N2
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N4
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV1_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV2_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV2_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV4_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV4_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV8_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV8_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N5
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV16_N8
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N5
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N6
- * @arg @ref FL_GPTIM_ETR_FILTER_DIV32_N8
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetETRFilter(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_ETF_Msk));
- }
- /**
- * @brief
- * @rmtoll SMCR MSM FL_GPTIM_EnableMasterSlaveMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableMasterSlaveMode(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->SMCR, GPTIM_SMCR_MSM_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR MSM FL_GPTIM_IsEnabledMasterSlaveMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledMasterSlaveMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_MSM_Msk) == GPTIM_SMCR_MSM_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR MSM FL_GPTIM_DisableMasterSlaveMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableMasterSlaveMode(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->SMCR, GPTIM_SMCR_MSM_Msk);
- }
- /**
- * @brief
- * @rmtoll SMCR TS FL_GPTIM_SetTriggerInput
- * @param TIMx TIM instance
- * @param triggerInput This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_TIM_TS_ITR0
- * @arg @ref FL_GPTIM_TIM_TS_ITR1
- * @arg @ref FL_GPTIM_TIM_TS_ITR2
- * @arg @ref FL_GPTIM_TIM_TS_ITR3
- * @arg @ref FL_GPTIM_TIM_TS_TI1F_ED
- * @arg @ref FL_GPTIM_TIM_TS_TI1FP1
- * @arg @ref FL_GPTIM_TIM_TS_TI2FP2
- * @arg @ref FL_GPTIM_TIM_TS_ETRF
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetTriggerInput(GPTIM_Type *TIMx, uint32_t triggerInput)
- {
- MODIFY_REG(TIMx->SMCR, GPTIM_SMCR_TS_Msk, triggerInput);
- }
- /**
- * @brief
- * @rmtoll SMCR TS FL_GPTIM_GetTriggerInput
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_TIM_TS_ITR0
- * @arg @ref FL_GPTIM_TIM_TS_ITR1
- * @arg @ref FL_GPTIM_TIM_TS_ITR2
- * @arg @ref FL_GPTIM_TIM_TS_ITR3
- * @arg @ref FL_GPTIM_TIM_TS_TI1F_ED
- * @arg @ref FL_GPTIM_TIM_TS_TI1FP1
- * @arg @ref FL_GPTIM_TIM_TS_TI2FP2
- * @arg @ref FL_GPTIM_TIM_TS_ETRF
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetTriggerInput(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_TS_Msk));
- }
- /**
- * @brief
- * @rmtoll SMCR SMS FL_GPTIM_SetSlaveMode
- * @param TIMx TIM instance
- * @param encoderMode This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_SLAVE_MODE_PROHIBITED
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI1
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI2
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X4_TI1TI2
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_RISE_RST
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_HIGH_RUN
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_RISE_RUN
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_CLK
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetSlaveMode(GPTIM_Type *TIMx, uint32_t encoderMode)
- {
- MODIFY_REG(TIMx->SMCR, GPTIM_SMCR_SMS_Msk, encoderMode);
- }
- /**
- * @brief
- * @rmtoll SMCR SMS FL_GPTIM_GetSlaveMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_SLAVE_MODE_PROHIBITED
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI1
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X2_TI2
- * @arg @ref FL_GPTIM_SLAVE_MODE_ENCODER_X4_TI1TI2
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_RISE_RST
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_HIGH_RUN
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_RISE_RUN
- * @arg @ref FL_GPTIM_SLAVE_MODE_TRGI_CLK
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetSlaveMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, GPTIM_SMCR_SMS_Msk));
- }
- /**
- * @brief
- * @rmtoll DIER CC1BURSTEN FL_GPTIM_EnableCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableCC1DMABurstMode(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC1BURSTEN FL_GPTIM_IsEnabledCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledCC1DMABurstMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_CC1BURSTEN_Msk) == GPTIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC1BURSTEN FL_GPTIM_DisableCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableCC1DMABurstMode(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC2BURSTEN FL_GPTIM_EnableCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableCC2DMABurstMode(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC2BURSTEN FL_GPTIM_IsEnabledCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledCC2DMABurstMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_CC2BURSTEN_Msk) == GPTIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC2BURSTEN FL_GPTIM_DisableCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableCC2DMABurstMode(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC3BURSTEN FL_GPTIM_EnableCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableCC3DMABurstMode(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC3BURSTEN FL_GPTIM_IsEnabledCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledCC3DMABurstMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_CC3BURSTEN_Msk) == GPTIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC3BURSTEN FL_GPTIM_DisableCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableCC3DMABurstMode(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC4BURSTEN FL_GPTIM_EnableCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableCC4DMABurstMode(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC4BURSTEN FL_GPTIM_IsEnabledCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledCC4DMABurstMode(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_CC4BURSTEN_Msk) == GPTIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CC4BURSTEN FL_GPTIM_DisableCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableCC4DMABurstMode(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TDE FL_GPTIM_EnableDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableDMAReq_Trigger(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_TDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TDE FL_GPTIM_IsEnabledDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledDMAReq_Trigger(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_TDE_Msk) == GPTIM_DIER_TDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TDE FL_GPTIM_DisableDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableDMAReq_Trigger(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_TDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CCDE FL_GPTIM_EnableDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableDMAReq_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->DIER, ((channel & 0xf) << 0x9U));
- }
- /**
- * @brief
- * @rmtoll DIER CCDE FL_GPTIM_IsEnabledDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledDMAReq_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ((channel & 0xf) << 0x9U)) == ((channel & 0xf) << 0x9U));
- }
- /**
- * @brief
- * @rmtoll DIER CCDE FL_GPTIM_DisableDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableDMAReq_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->DIER, ((channel & 0xf) << 0x9U));
- }
- /**
- * @brief
- * @rmtoll DIER UDE FL_GPTIM_EnableDMAReq_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableDMAReq_Update(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_UDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER UDE FL_GPTIM_IsEnabledDMAReq_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledDMAReq_Update(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_UDE_Msk) == GPTIM_DIER_UDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER UDE FL_GPTIM_DisableDMAReq_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableDMAReq_Update(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_UDE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TIE FL_GPTIM_EnableIT_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableIT_Trigger(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_TIE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TIE FL_GPTIM_IsEnabledIT_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledIT_Trigger(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_TIE_Msk) == GPTIM_DIER_TIE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER TIE FL_GPTIM_DisableIT_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableIT_Trigger(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_TIE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER CCIE FL_GPTIM_EnableIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableIT_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->DIER, ((channel & 0xf) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll DIER CCIE FL_GPTIM_IsEnabledIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledIT_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ((channel & 0xf) << 0x1U)) == ((channel & 0xf) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll DIER CCIE FL_GPTIM_DisableIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableIT_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->DIER, ((channel & 0xf) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll DIER UIE FL_GPTIM_EnableIT_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_EnableIT_Update(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, GPTIM_DIER_UIE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER UIE FL_GPTIM_IsEnabledIT_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsEnabledIT_Update(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, GPTIM_DIER_UIE_Msk) == GPTIM_DIER_UIE_Msk);
- }
- /**
- * @brief
- * @rmtoll DIER UIE FL_GPTIM_DisableIT_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_DisableIT_Update(GPTIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, GPTIM_DIER_UIE_Msk);
- }
- /**
- * @brief
- * @rmtoll ISR CCOF FL_GPTIM_IsActiveFlag_CCOverflow
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsActiveFlag_CCOverflow(GPTIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ((channel & 0xf) << 0x9U)) == ((channel & 0xf) << 0x9U));
- }
- /**
- * @brief
- * @rmtoll ISR CCOF FL_GPTIM_ClearFlag_CCOverflow
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_ClearFlag_CCOverflow(GPTIM_Type *TIMx, uint32_t channel)
- {
- WRITE_REG(TIMx->ISR, ((channel & 0xf) << 0x9U));
- }
- /**
- * @brief
- * @rmtoll ISR TIF FL_GPTIM_IsActiveFlag_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsActiveFlag_Trigger(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, GPTIM_ISR_TIF_Msk) == (GPTIM_ISR_TIF_Msk));
- }
- /**
- * @brief
- * @rmtoll ISR TIF FL_GPTIM_ClearFlag_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_ClearFlag_Trigger(GPTIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, GPTIM_ISR_TIF_Msk);
- }
- /**
- * @brief
- * @rmtoll ISR CCIF FL_GPTIM_IsActiveFlag_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsActiveFlag_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ((channel & 0xf) << 0x1U)) == ((channel & 0xf) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll ISR CCIF FL_GPTIM_ClearFlag_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_ClearFlag_CC(GPTIM_Type *TIMx, uint32_t channel)
- {
- WRITE_REG(TIMx->ISR, ((channel & 0xf) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll ISR UIF FL_GPTIM_IsActiveFlag_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IsActiveFlag_Update(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, GPTIM_ISR_UIF_Msk) == (GPTIM_ISR_UIF_Msk));
- }
- /**
- * @brief
- * @rmtoll ISR UIF FL_GPTIM_ClearFlag_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_ClearFlag_Update(GPTIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, GPTIM_ISR_UIF_Msk);
- }
- /**
- * @brief
- * @rmtoll EGR TG FL_GPTIM_GenerateTriggerEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_GenerateTriggerEvent(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, GPTIM_EGR_TG_Msk);
- }
- /**
- * @brief
- * @rmtoll EGR CCG FL_GPTIM_GenerateCCEvent
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_GenerateCCEvent(GPTIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->EGR, ((channel & 0x3) << 0x1U));
- }
- /**
- * @brief
- * @rmtoll EGR UG FL_GPTIM_GenerateUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_GenerateUpdateEvent(GPTIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, GPTIM_EGR_UG_Msk);
- }
- /**
- * @brief
- * @rmtoll CNT FL_GPTIM_WriteCounter
- * @param TIMx TIM instance
- * @param counter
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteCounter(GPTIM_Type *TIMx, uint32_t counter)
- {
- MODIFY_REG(TIMx->CNT, (0xffffU << 0U), (counter << 0U));
- }
- /**
- * @brief
- * @rmtoll CNT FL_GPTIM_ReadCounter
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadCounter(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CNT, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll PSC FL_GPTIM_WritePrescaler
- * @param TIMx TIM instance
- * @param psc
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WritePrescaler(GPTIM_Type *TIMx, uint32_t psc)
- {
- MODIFY_REG(TIMx->PSC, (0xffffU << 0U), (psc << 0U));
- }
- /**
- * @brief
- * @rmtoll PSC FL_GPTIM_ReadPrescaler
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadPrescaler(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->PSC, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll ARR FL_GPTIM_WriteAutoReload
- * @param TIMx TIM instance
- * @param autoReload
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteAutoReload(GPTIM_Type *TIMx, uint32_t autoReload)
- {
- MODIFY_REG(TIMx->ARR, (0xffffU << 0U), (autoReload << 0U));
- }
- /**
- * @brief
- * @rmtoll ARR FL_GPTIM_ReadAutoReload
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadAutoReload(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ARR, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll CCR1 FL_GPTIM_WriteCompareCH1
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteCompareCH1(GPTIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR1, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief
- * @rmtoll CCR1 FL_GPTIM_ReadCompareCH1
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadCompareCH1(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR1, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll CCR2 FL_GPTIM_WriteCompareCH2
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteCompareCH2(GPTIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR2, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief
- * @rmtoll CCR2 FL_GPTIM_ReadCompareCH2
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadCompareCH2(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR2, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll CCR3 FL_GPTIM_WriteCompareCH3
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteCompareCH3(GPTIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR3, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief
- * @rmtoll CCR3 FL_GPTIM_ReadCompareCH3
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadCompareCH3(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR3, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll CCR4 FL_GPTIM_WriteCompareCH4
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteCompareCH4(GPTIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR4, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief
- * @rmtoll CCR4 FL_GPTIM_ReadCompareCH4
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadCompareCH4(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR4, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll DCR DBL FL_GPTIM_SetDMABurstLength
- * @param TIMx TIM instance
- * @param length This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_1
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_2
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_3
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_4
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_5
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_6
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_7
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_8
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_9
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_10
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_11
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_12
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_13
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_14
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_15
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_16
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_17
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_18
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetDMABurstLength(GPTIM_Type *TIMx, uint32_t length)
- {
- MODIFY_REG(TIMx->DCR, GPTIM_DCR_DBL_Msk, length);
- }
- /**
- * @brief
- * @rmtoll DCR DBL FL_GPTIM_GetDMABurstLength
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_1
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_2
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_3
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_4
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_5
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_6
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_7
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_8
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_9
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_10
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_11
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_12
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_13
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_14
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_15
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_16
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_17
- * @arg @ref FL_GPTIM_DMA_BURST_LENGTH_18
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetDMABurstLength(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DCR, GPTIM_DCR_DBL_Msk));
- }
- /**
- * @brief
- * @rmtoll DCR DBA FL_GPTIM_SetDMABurstAddress
- * @param TIMx TIM instance
- * @param address This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_SMCR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_DIER
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_SR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_EGR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCMR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCMR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCER
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CNT
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_PSC
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_ARR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_RCR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR3
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR4
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_BDTR
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetDMABurstAddress(GPTIM_Type *TIMx, uint32_t address)
- {
- MODIFY_REG(TIMx->DCR, GPTIM_DCR_DBA_Msk, address);
- }
- /**
- * @brief
- * @rmtoll DCR DBA FL_GPTIM_GetDMABurstAddress
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_SMCR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_DIER
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_SR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_EGR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCMR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCMR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCER
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CNT
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_PSC
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_ARR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_RCR
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR1
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR2
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR3
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_CCR4
- * @arg @ref FL_GPTIM_DMA_BURST_ADDR_BDTR
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetDMABurstAddress(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DCR, GPTIM_DCR_DBA_Msk));
- }
- /**
- * @brief
- * @rmtoll DMAR FL_GPTIM_WriteDMAAddress
- * @param TIMx TIM instance
- * @param address
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_WriteDMAAddress(GPTIM_Type *TIMx, uint32_t address)
- {
- MODIFY_REG(TIMx->DMAR, (0xffffU << 0U), (address << 0U));
- }
- /**
- * @brief
- * @rmtoll DMAR FL_GPTIM_ReadDMAAddress
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_GPTIM_ReadDMAAddress(GPTIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DMAR, 0xffffU) >> 0U);
- }
- /**
- * @brief
- * @rmtoll ITRSEL FL_GPTIM_SetITRInput
- * @param TIMx TIM instance
- * @param ITRx This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ITR0
- * @arg @ref FL_GPTIM_ITR1
- * @arg @ref FL_GPTIM_ITR2
- * @arg @ref FL_GPTIM_ITR3
- * @param input This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ITRSEL_GROUP0
- * @arg @ref FL_GPTIM_ITRSEL_GROUP1
- * @arg @ref FL_GPTIM_ITRSEL_GROUP2
- * @arg @ref FL_GPTIM_ITRSEL_GROUP3
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_SetITRInput(GPTIM_Type *TIMx, uint32_t ITRx, uint32_t input)
- {
- MODIFY_REG(TIMx->ITRSEL, ((ITRx * ITRx) * GPTIM_ITRSEL), ((ITRx * ITRx) * input));
- }
- /**
- * @brief
- * @rmtoll ITRSEL FL_GPTIM_GetITRInput
- * @param TIMx TIM instance
- * @param ITRx This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_ITR0
- * @arg @ref FL_GPTIM_ITR1
- * @arg @ref FL_GPTIM_ITR2
- * @arg @ref FL_GPTIM_ITR3
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_ITRSEL_GROUP0
- * @arg @ref FL_GPTIM_ITRSEL_GROUP1
- * @arg @ref FL_GPTIM_ITRSEL_GROUP2
- * @arg @ref FL_GPTIM_ITRSEL_GROUP3
- */
- __STATIC_INLINE uint32_t FL_GPTIM_GetITRInput(GPTIM_Type *TIMx, uint32_t ITRx)
- {
- return (uint32_t)(READ_BIT(TIMx->ITRSEL, ((ITRx * ITRx) * GPTIM_ITRSEL)) / (ITRx * ITRx));
- }
- /**
- * @brief OCx clear enable
- * @rmtoll CCMR OCCE FL_GPTIM_OC_EnableClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_EnableClear(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCMR1, (0x1U << 7U), (0x1U << 7U));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCMR1, (0x1U << 15U), (0x1U << 15U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCMR2, (0x1U << 7U), (0x1U << 7U));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCMR2, (0x1U << 15U), (0x1U << 15U));
- break;
- }
- }
- /**
- * @brief Get OCx Clear enable status
- * @rmtoll CCMR OCCE FL_GPTIM_OC_IsEnabledClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_IsEnabledClear(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 7U)) >> 7U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 15U)) >> 15U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 7U)) >> 7U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 15U)) >> 15U);
- default:
- return 0;
- }
- }
- /**
- * @brief OCx clear disable
- * @rmtoll CCMR OCCE FL_GPTIM_OC_DisableClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_DisableClear(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 7U));
- break;
- case FL_GPTIM_CHANNEL_2:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 15U));
- break;
- case FL_GPTIM_CHANNEL_3:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 7U));
- break;
- case FL_GPTIM_CHANNEL_4:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 15U));
- break;
- }
- }
- /**
- * @brief Set OCx mode
- * @rmtoll CCMR OCM FL_GPTIM_OC_SetMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_OC_MODE_FROZEN
- * @arg @ref FL_GPTIM_OC_MODE_ACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_INACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_TOGGLE
- * @arg @ref FL_GPTIM_OC_MODE_FORCED_INACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_FORCED_ACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_PWM1
- * @arg @ref FL_GPTIM_OC_MODE_PWM2
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_SetMode(GPTIM_Type *TIMx, uint32_t mode, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCMR1, (0x7U << 4U), (mode));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCMR1, (0x7U << 12U), (mode << 8U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCMR2, (0x7U << 4U), (mode));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCMR2, (0x7U << 12U), (mode << 8U));
- break;
- }
- }
- /**
- * @brief Get OCx mode value
- * @rmtoll CCMR OCM FL_GPTIM_OC_GetMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_OC_MODE_FROZEN
- * @arg @ref FL_GPTIM_OC_MODE_ACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_INACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_TOGGLE
- * @arg @ref FL_GPTIM_OC_MODE_FORCED_INACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_FORCED_ACTIVE
- * @arg @ref FL_GPTIM_OC_MODE_PWM1
- * @arg @ref FL_GPTIM_OC_MODE_PWM2
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_GetMode(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x7U << 4U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x7U << 12U)) >> 8U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x7U << 4U)) >> 0U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x7U << 12U)) >> 8U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCPE FL_GPTIM_OC_EnablePreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_EnablePreload(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- SET_BIT(TIMx->CCMR1, (0x1U << 3U));
- break;
- case FL_GPTIM_CHANNEL_2:
- SET_BIT(TIMx->CCMR1, (0x1U << 11U));
- break;
- case FL_GPTIM_CHANNEL_3:
- SET_BIT(TIMx->CCMR2, (0x1U << 3U));
- break;
- case FL_GPTIM_CHANNEL_4:
- SET_BIT(TIMx->CCMR2, (0x1U << 11U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCPE FL_GPTIM_OC_IsEnabledPreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_IsEnabledPreload(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 3U)) >> 3U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 11U)) >> 11U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 3U)) >> 3U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 11U)) >> 11U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCPE FL_GPTIM_OC_DisablePreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_DisablePreload(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 3U));
- break;
- case FL_GPTIM_CHANNEL_2:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 11U));
- break;
- case FL_GPTIM_CHANNEL_3:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 3U));
- break;
- case FL_GPTIM_CHANNEL_4:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 11U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCFE FL_GPTIM_OC_EnableFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_EnableFastMode(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- SET_BIT(TIMx->CCMR1, (0x1U << 2U));
- break;
- case FL_GPTIM_CHANNEL_2:
- SET_BIT(TIMx->CCMR1, (0x1U << 10U));
- break;
- case FL_GPTIM_CHANNEL_3:
- SET_BIT(TIMx->CCMR2, (0x1U << 2U));
- break;
- case FL_GPTIM_CHANNEL_4:
- SET_BIT(TIMx->CCMR2, (0x1U << 10U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCFE FL_GPTIM_OC_IsEnabledFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_IsEnabledFastMode(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 2U)) >> 2U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x1U << 10U)) >> 10U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 2U)) >> 2U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x1U << 10U)) >> 10U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR OCFE FL_GPTIM_OC_DisableFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_DisableFastMode(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 2U));
- break;
- case FL_GPTIM_CHANNEL_2:
- CLEAR_BIT(TIMx->CCMR1, (0x1U << 10U));
- break;
- case FL_GPTIM_CHANNEL_3:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 2U));
- break;
- case FL_GPTIM_CHANNEL_4:
- CLEAR_BIT(TIMx->CCMR2, (0x1U << 10U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR ICF FL_GPTIM_IC_SetFilter
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N2
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N4
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV2_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV2_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV4_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV4_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV8_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV8_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N5
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N5
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N8
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_SetFilter(GPTIM_Type *TIMx, uint32_t filter, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCMR1, (0xFU << 4U), (filter));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCMR1, (0xFU << 12U), (filter << 8U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCMR2, (0xFU << 4U), (filter));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCMR2, (0xFU << 12U), (filter << 8U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR ICF FL_GPTIM_IC_GetFilter
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N2
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N4
- * @arg @ref FL_GPTIM_IC_FILTER_DIV1_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV2_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV2_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV4_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV4_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV8_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV8_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N5
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV16_N8
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N5
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N6
- * @arg @ref FL_GPTIM_IC_FILTER_DIV32_N8
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IC_GetFilter(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0xFU << 4U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0xFU << 12U)) >> 8U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0xFU << 4U)) >> 0U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0xFU << 12U)) >> 8U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR ICPSC FL_GPTIM_IC_SetPrescaler
- * @param TIMx TIM instance
- * @param psc This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_IC_PSC_DIV1
- * @arg @ref FL_GPTIM_IC_PSC_DIV2
- * @arg @ref FL_GPTIM_IC_PSC_DIV4
- * @arg @ref FL_GPTIM_IC_PSC_DIV8
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_SetPrescaler(GPTIM_Type *TIMx, uint32_t psc, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCMR1, (0x3U << 2U), (psc));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCMR1, (0x3U << 10U), (psc << 8U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCMR2, (0x3U << 2U), (psc));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCMR2, (0x3U << 10U), (psc << 8U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR ICPSC FL_GPTIM_IC_GetPrescaler
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_IC_PSC_DIV1
- * @arg @ref FL_GPTIM_IC_PSC_DIV2
- * @arg @ref FL_GPTIM_IC_PSC_DIV4
- * @arg @ref FL_GPTIM_IC_PSC_DIV8
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IC_GetPrescaler(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x3U << 2U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x3U << 10U)) >> 8U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x3U << 2U)) >> 0U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x3U << 10U)) >> 8U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR CCS FL_GPTIM_CC_SetChannelMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_MODE_OUTPUT
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_NORMAL
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_CROSSOVER
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_TRC
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_CC_SetChannelMode(GPTIM_Type *TIMx, uint32_t mode, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCMR1, (0x3U << 0U), (mode));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCMR1, (0x3U << 8U), (mode << 8U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCMR2, (0x3U << 0U), (mode));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCMR2, (0x3U << 8U), (mode << 8U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCMR CCS FL_GPTIM_CC_GetChannelMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_MODE_OUTPUT
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_NORMAL
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_CROSSOVER
- * @arg @ref FL_GPTIM_CHANNEL_MODE_INPUT_TRC
- */
- __STATIC_INLINE uint32_t FL_GPTIM_CC_GetChannelMode(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x3U << 0U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (0x3U << 8U)) >> 8U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x3U << 0U)) >> 0U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (0x3U << 8U)) >> 8U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCOP FL_GPTIM_OC_SetChannelPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_OC_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_OC_POLARITY_INVERT
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_SetChannelPolarity(GPTIM_Type *TIMx, uint32_t polarity, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCER, (0x1U << 1U), (polarity));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCER, (0x1U << 5U), (polarity << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCER, (0x1U << 9U), (polarity << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCER, (0x1U << 13U), (polarity << 12U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCOP FL_GPTIM_OC_GetChannelPolarity
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_OC_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_OC_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_GetChannelPolarity(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 1U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 5U)) >> 4U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 9U)) >> 8U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 13U)) >> 12U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCIP FL_GPTIM_IC_SetChannelPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_IC_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_IC_POLARITY_INVERT
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_SetChannelPolarity(GPTIM_Type *TIMx, uint32_t polarity, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- MODIFY_REG(TIMx->CCER, (0x1U << 1U), (polarity));
- break;
- case FL_GPTIM_CHANNEL_2:
- MODIFY_REG(TIMx->CCER, (0x1U << 5U), (polarity << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- MODIFY_REG(TIMx->CCER, (0x1U << 9U), (polarity << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- MODIFY_REG(TIMx->CCER, (0x1U << 13U), (polarity << 12U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCIP FL_GPTIM_IC_GetChannelPolarity
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_GPTIM_IC_POLARITY_NORMAL
- * @arg @ref FL_GPTIM_IC_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IC_GetChannelPolarity(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 1U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 5U)) >> 4U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 9U)) >> 8U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 13U)) >> 12U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_OC_EnableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_EnableChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- SET_BIT(TIMx->CCER, (0x1U << 0U));
- break;
- case FL_GPTIM_CHANNEL_2:
- SET_BIT(TIMx->CCER, (0x1U << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- SET_BIT(TIMx->CCER, (0x1U << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- SET_BIT(TIMx->CCER, (0x1U << 12U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_OC_IsEnabledChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_OC_IsEnabledChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 0U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 4U)) >> 4U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 8U)) >> 8U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 12U)) >> 12U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_OC_DisableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_OC_DisableChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- CLEAR_BIT(TIMx->CCER, (0x1U << 0U));
- break;
- case FL_GPTIM_CHANNEL_2:
- CLEAR_BIT(TIMx->CCER, (0x1U << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- CLEAR_BIT(TIMx->CCER, (0x1U << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- CLEAR_BIT(TIMx->CCER, (0x1U << 12U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_IC_EnableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_EnableChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- SET_BIT(TIMx->CCER, (0x1U << 0U));
- break;
- case FL_GPTIM_CHANNEL_2:
- SET_BIT(TIMx->CCER, (0x1U << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- SET_BIT(TIMx->CCER, (0x1U << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- SET_BIT(TIMx->CCER, (0x1U << 12U));
- break;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_IC_IsEnabledChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_GPTIM_IC_IsEnabledChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 0U)) >> 0U);
- case FL_GPTIM_CHANNEL_2:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 4U)) >> 4U);
- case FL_GPTIM_CHANNEL_3:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 8U)) >> 8U);
- case FL_GPTIM_CHANNEL_4:
- return (uint32_t)(READ_BIT(TIMx->CCER, (0x1U << 12U)) >> 12U);
- default:
- return 0;
- }
- }
- /**
- * @brief
- * @rmtoll CCER CCE FL_GPTIM_IC_DisableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_GPTIM_CHANNEL_1
- * @arg @ref FL_GPTIM_CHANNEL_2
- * @arg @ref FL_GPTIM_CHANNEL_3
- * @arg @ref FL_GPTIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_GPTIM_IC_DisableChannel(GPTIM_Type *TIMx, uint32_t channel)
- {
- switch(channel)
- {
- case FL_GPTIM_CHANNEL_1:
- CLEAR_BIT(TIMx->CCER, (0x1U << 0U));
- break;
- case FL_GPTIM_CHANNEL_2:
- CLEAR_BIT(TIMx->CCER, (0x1U << 4U));
- break;
- case FL_GPTIM_CHANNEL_3:
- CLEAR_BIT(TIMx->CCER, (0x1U << 8U));
- break;
- case FL_GPTIM_CHANNEL_4:
- CLEAR_BIT(TIMx->CCER, (0x1U << 12U));
- break;
- }
- }
- /**
- * @}
- */
- /** @defgroup GPTIM_FL_EF_Init Initialization and de-initialization functions
- * @{
- */
- FL_ErrorStatus FL_GPTIM_DeInit(GPTIM_Type *TIMx);
- void FL_GPTIM_StructInit(FL_GPTIM_InitTypeDef *init);
- void FL_GPTIM_SlaveMode_StructInit(FL_GPTIM_SlaveInitTypeDef *slave_init);
- void FL_GPTIM_OC_StructInit(FL_GPTIM_OC_InitTypeDef *oc_init);
- void FL_GPTIM_IC_StructInit(FL_GPTIM_IC_InitTypeDef *ic_init);
- void FL_GPTIM_ETR_StructInit(FL_GPTIM_ETR_InitTypeDef *etr_init);
- FL_ErrorStatus FL_GPTIM_Init(GPTIM_Type *TIMx, FL_GPTIM_InitTypeDef *init);
- FL_ErrorStatus FL_GPTIM_SlaveMode_Init(GPTIM_Type *TIMx, FL_GPTIM_SlaveInitTypeDef *slave_init);
- FL_ErrorStatus FL_GPTIM_OC_Init(GPTIM_Type *TIMx, uint32_t channel, FL_GPTIM_OC_InitTypeDef *oc_init);
- FL_ErrorStatus FL_GPTIM_IC_Init(GPTIM_Type *TIMx, uint32_t channel, FL_GPTIM_IC_InitTypeDef *ic_init);
- FL_ErrorStatus FL_GPTIM_ETR_Init(GPTIM_Type *TIMx, FL_GPTIM_ETR_InitTypeDef *etr_init);
- /**
- * @}
- */
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __FM33LC0XX_FL_GPTIM_H*/
- /*************************Py_Code_Generator Version: 0.1-0.11-0.1 @ 2020-09-23*************************/
- /********************** (C) COPYRIGHT Fudan Microelectronics **** END OF FILE ***********************/
|