1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790 |
- /**
- *******************************************************************************************************
- * @file fm33lc0xx_fl_atim.h
- * @author FMSH Application Team
- * @brief Head file of ATIM 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_ATIM_H
- #define __FM33LC0XX_FL_ATIM_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* Includes -------------------------------------------------------------------------------------------*/
- #include "fm33lc0xx_fl_def.h"
- /** @addtogroup FM33LC0XX_FL_Driver
- * @{
- */
- /** @defgroup ATIM ATIM
- * @brief ATIM FL driver
- * @{
- */
- /* Exported types -------------------------------------------------------------------------------------*/
- /** @defgroup ATIM_FL_ES_INIT ATIM Exported Init structures
- * @{
- */
- /**
- * @brief ATIM Init Sturcture Definition
- */
- typedef struct
- {
- /** 时钟源选择 */
- uint32_t clockSource;
- /** 预分频系数 */
- uint32_t prescaler;
- /** 计数模式 */
- uint32_t counterMode;
- /** 自动重装载值 */
- uint32_t autoReload;
- /** 预装载使能 */
- uint32_t autoReloadState;
- /** 定时器分频系数与数字滤波器所使用的采样时钟分频比 */
- uint32_t clockDivision;
- /** 重复计数次数 */
- uint32_t repetitionCounter;
- } FL_ATIM_InitTypeDef;
- /**
- * @brief ATIM Slave Init Sturcture Definition
- */
- typedef struct
- {
- /** 外部时钟源模式 */
- uint32_t slaveMode;
- /** 输入触发信号选择 */
- uint32_t triggerSrc;
- /** Trigger 延迟*/
- uint32_t triggerDelay;
- } FL_ATIM_SlaveInitTypeDef;
- /**
- * @brief ATIM ETR Init Structure Definition
- */
- typedef struct
- {
- /** 外部触发使能 */
- uint32_t useExternalTrigger;
- /** 外部时钟滤波 */
- uint32_t ETRFilter;
- /** 外部时钟分频 */
- uint32_t ETRClockDivision;
- /** 外部时钟触发极性 */
- uint32_t ETRPolarity;
- } FL_ATIM_ETR_InitTypeDef;
- /**
- * @brief TIM Output Compare Init Structure Definition
- */
- typedef struct
- {
- /** 比较输出模式 */
- uint32_t OCMode;
- /** 比较正向通道输出使能 */
- uint32_t OCState;
- /** 比较互补通道输出使能 */
- uint32_t OCNState;
- /** 比较输出极性 */
- uint32_t OCPolarity;
- /** 比较互补输出极性 */
- uint32_t OCNPolarity;
- /** 比较输出通道快速模式使能 */
- uint32_t OCFastMode;
- /** 输出比较预装载 */
- uint32_t OCPreload;
- /** 通道比较值 */
- uint32_t compareValue;
- /** 输出空闲状态电平 */
- uint32_t OCIdleState;
- /** ETR清0使能 */
- uint32_t OCETRFStatus;
- /** 互补输出空闲状态电平 */
- uint32_t OCNIdleState;
- } FL_ATIM_OC_InitTypeDef;
- /**
- * @brief TIM Input Capture Init Structure Definition
- */
- typedef struct
- {
- /** 输入捕获使能 */
- uint32_t captureState;
- /** 输入捕获极性 */
- uint32_t ICPolarity;
- /** 通道映射激活的输入选择 */
- uint32_t ICActiveInput;
- /** 输入分频 */
- uint32_t ICPrescaler;
- /** 输入滤波 */
- uint32_t ICFilter;
- } FL_ATIM_IC_InitTypeDef;
- /**
- * @brief BDTR (Break and Dead Time) Init Structure Definition
- */
- typedef struct
- {
- /** 运行状态下的输出关闭状态 */
- uint32_t OSSRState;
- /** 空闲状态下的输出关闭状态 */
- uint32_t OSSIState;
- /** 寄存器写保护等级 */
- uint32_t lockLevel;
- /** 死区时间 */
- uint32_t deadTime;
- /** 刹车使能 */
- uint32_t breakState;
- /** 刹车信号滤波 */
- uint32_t breakFilter;
- /** 刹车信号极性 */
- uint32_t breakPolarity;
- /** 刹车后计数器重装后自动输出使能*/
- uint32_t automaticOutput;
- /** 刹车信号1门控 */
- uint32_t gatedBrakeSignal_1;
- /** 刹车信号2门控 */
- uint32_t gatedBrakeSignal_2;
- /** 两路刹车信号控制逻辑 */
- uint32_t brakeSignalCombined;
- } FL_ATIM_BDTR_InitTypeDef;
- /**
- * @}
- */
- /* Exported constants ---------------------------------------------------------------------------------*/
- /** @defgroup ATIM_FL_Exported_Constants ATIM Exported Constants
- * @{
- */
- #define ATIM_CR1_CKD_Pos (8U)
- #define ATIM_CR1_CKD_Msk (0x3U << ATIM_CR1_CKD_Pos)
- #define ATIM_CR1_CKD ATIM_CR1_CKD_Msk
- #define ATIM_CR1_ARPE_Pos (7U)
- #define ATIM_CR1_ARPE_Msk (0x1U << ATIM_CR1_ARPE_Pos)
- #define ATIM_CR1_ARPE ATIM_CR1_ARPE_Msk
- #define ATIM_CR1_CMS_Pos (5U)
- #define ATIM_CR1_CMS_Msk (0x3U << ATIM_CR1_CMS_Pos)
- #define ATIM_CR1_CMS ATIM_CR1_CMS_Msk
- #define ATIM_CR1_DIR_Pos (4U)
- #define ATIM_CR1_DIR_Msk (0x1U << ATIM_CR1_DIR_Pos)
- #define ATIM_CR1_DIR ATIM_CR1_DIR_Msk
- #define ATIM_CR1_OPM_Pos (3U)
- #define ATIM_CR1_OPM_Msk (0x1U << ATIM_CR1_OPM_Pos)
- #define ATIM_CR1_OPM ATIM_CR1_OPM_Msk
- #define ATIM_CR1_URS_Pos (2U)
- #define ATIM_CR1_URS_Msk (0x1U << ATIM_CR1_URS_Pos)
- #define ATIM_CR1_URS ATIM_CR1_URS_Msk
- #define ATIM_CR1_UDIS_Pos (1U)
- #define ATIM_CR1_UDIS_Msk (0x1U << ATIM_CR1_UDIS_Pos)
- #define ATIM_CR1_UDIS ATIM_CR1_UDIS_Msk
- #define ATIM_CR1_CEN_Pos (0U)
- #define ATIM_CR1_CEN_Msk (0x1U << ATIM_CR1_CEN_Pos)
- #define ATIM_CR1_CEN ATIM_CR1_CEN_Msk
- #define ATIM_CR2_OISN_Pos (9U)
- #define ATIM_CR2_OISN_Msk (0x1U << ATIM_CR2_OISN_Pos)
- #define ATIM_CR2_OISN ATIM_CR2_OISN_Msk
- #define ATIM_CR2_OIS_Pos (8U)
- #define ATIM_CR2_OIS_Msk (0x1U << ATIM_CR2_OIS_Pos)
- #define ATIM_CR2_OIS ATIM_CR2_OIS_Msk
- #define ATIM_CR2_TI1S_Pos (7U)
- #define ATIM_CR2_TI1S_Msk (0x1U << ATIM_CR2_TI1S_Pos)
- #define ATIM_CR2_TI1S ATIM_CR2_TI1S_Msk
- #define ATIM_CR2_MMS_Pos (4U)
- #define ATIM_CR2_MMS_Msk (0x7U << ATIM_CR2_MMS_Pos)
- #define ATIM_CR2_MMS ATIM_CR2_MMS_Msk
- #define ATIM_CR2_CCDS_Pos (3U)
- #define ATIM_CR2_CCDS_Msk (0x1U << ATIM_CR2_CCDS_Pos)
- #define ATIM_CR2_CCDS ATIM_CR2_CCDS_Msk
- #define ATIM_CR2_CCUS_Pos (2U)
- #define ATIM_CR2_CCUS_Msk (0x1U << ATIM_CR2_CCUS_Pos)
- #define ATIM_CR2_CCUS ATIM_CR2_CCUS_Msk
- #define ATIM_CR2_CCPC_Pos (0U)
- #define ATIM_CR2_CCPC_Msk (0x1U << ATIM_CR2_CCPC_Pos)
- #define ATIM_CR2_CCPC ATIM_CR2_CCPC_Msk
- #define ATIM_SMCR_ETP_Pos (15U)
- #define ATIM_SMCR_ETP_Msk (0x1U << ATIM_SMCR_ETP_Pos)
- #define ATIM_SMCR_ETP ATIM_SMCR_ETP_Msk
- #define ATIM_SMCR_ECE_Pos (14U)
- #define ATIM_SMCR_ECE_Msk (0x1U << ATIM_SMCR_ECE_Pos)
- #define ATIM_SMCR_ECE ATIM_SMCR_ECE_Msk
- #define ATIM_SMCR_ETPS_Pos (12U)
- #define ATIM_SMCR_ETPS_Msk (0x3U << ATIM_SMCR_ETPS_Pos)
- #define ATIM_SMCR_ETPS ATIM_SMCR_ETPS_Msk
- #define ATIM_SMCR_ETF_Pos (8U)
- #define ATIM_SMCR_ETF_Msk (0xfU << ATIM_SMCR_ETF_Pos)
- #define ATIM_SMCR_ETF ATIM_SMCR_ETF_Msk
- #define ATIM_SMCR_MSM_Pos (7U)
- #define ATIM_SMCR_MSM_Msk (0x1U << ATIM_SMCR_MSM_Pos)
- #define ATIM_SMCR_MSM ATIM_SMCR_MSM_Msk
- #define ATIM_SMCR_TS_Pos (4U)
- #define ATIM_SMCR_TS_Msk (0x7U << ATIM_SMCR_TS_Pos)
- #define ATIM_SMCR_TS ATIM_SMCR_TS_Msk
- #define ATIM_SMCR_SMS_Pos (0U)
- #define ATIM_SMCR_SMS_Msk (0x7U << ATIM_SMCR_SMS_Pos)
- #define ATIM_SMCR_SMS ATIM_SMCR_SMS_Msk
- #define ATIM_DIER_CC1BURSTEN_Pos (16U)
- #define ATIM_DIER_CC1BURSTEN_Msk (0x1U << ATIM_DIER_CC1BURSTEN_Pos)
- #define ATIM_DIER_CC1BURSTEN ATIM_DIER_CC1BURSTEN_Msk
- #define ATIM_DIER_CC2BURSTEN_Pos (17U)
- #define ATIM_DIER_CC2BURSTEN_Msk (0x1U << ATIM_DIER_CC2BURSTEN_Pos)
- #define ATIM_DIER_CC2BURSTEN ATIM_DIER_CC2BURSTEN_Msk
- #define ATIM_DIER_CC3BURSTEN_Pos (18U)
- #define ATIM_DIER_CC3BURSTEN_Msk (0x1U << ATIM_DIER_CC3BURSTEN_Pos)
- #define ATIM_DIER_CC3BURSTEN ATIM_DIER_CC3BURSTEN_Msk
- #define ATIM_DIER_CC4BURSTEN_Pos (19U)
- #define ATIM_DIER_CC4BURSTEN_Msk (0x1U << ATIM_DIER_CC4BURSTEN_Pos)
- #define ATIM_DIER_CC4BURSTEN ATIM_DIER_CC4BURSTEN_Msk
- #define ATIM_DIER_TDE_Pos (14U)
- #define ATIM_DIER_TDE_Msk (0x1U << ATIM_DIER_TDE_Pos)
- #define ATIM_DIER_TDE ATIM_DIER_TDE_Msk
- #define ATIM_DIER_COMDE_Pos (13U)
- #define ATIM_DIER_COMDE_Msk (0x1U << ATIM_DIER_COMDE_Pos)
- #define ATIM_DIER_COMDE ATIM_DIER_COMDE_Msk
- #define ATIM_DIER_CCDE_Pos (9U)
- #define ATIM_DIER_CCDE_Msk (0x1U << ATIM_DIER_CCDE_Pos)
- #define ATIM_DIER_CCDE ATIM_DIER_CCDE_Msk
- #define ATIM_DIER_UDE_Pos (8U)
- #define ATIM_DIER_UDE_Msk (0x1U << ATIM_DIER_UDE_Pos)
- #define ATIM_DIER_UDE ATIM_DIER_UDE_Msk
- #define ATIM_DIER_BIE_Pos (7U)
- #define ATIM_DIER_BIE_Msk (0x1U << ATIM_DIER_BIE_Pos)
- #define ATIM_DIER_BIE ATIM_DIER_BIE_Msk
- #define ATIM_DIER_TIE_Pos (6U)
- #define ATIM_DIER_TIE_Msk (0x1U << ATIM_DIER_TIE_Pos)
- #define ATIM_DIER_TIE ATIM_DIER_TIE_Msk
- #define ATIM_DIER_COMIE_Pos (5U)
- #define ATIM_DIER_COMIE_Msk (0x1U << ATIM_DIER_COMIE_Pos)
- #define ATIM_DIER_COMIE ATIM_DIER_COMIE_Msk
- #define ATIM_DIER_CCIE_Pos (1U)
- #define ATIM_DIER_CCIE_Msk (0x1U << ATIM_DIER_CCIE_Pos)
- #define ATIM_DIER_CCIE ATIM_DIER_CCIE_Msk
- #define ATIM_DIER_UIE_Pos (0U)
- #define ATIM_DIER_UIE_Msk (0x1U << ATIM_DIER_UIE_Pos)
- #define ATIM_DIER_UIE ATIM_DIER_UIE_Msk
- #define ATIM_ISR_CCOF_Pos (9U)
- #define ATIM_ISR_CCOF_Msk (0x1U << ATIM_ISR_CCOF_Pos)
- #define ATIM_ISR_CCOF ATIM_ISR_CCOF_Msk
- #define ATIM_ISR_BIF_Pos (7U)
- #define ATIM_ISR_BIF_Msk (0x1U << ATIM_ISR_BIF_Pos)
- #define ATIM_ISR_BIF ATIM_ISR_BIF_Msk
- #define ATIM_ISR_TIF_Pos (6U)
- #define ATIM_ISR_TIF_Msk (0x1U << ATIM_ISR_TIF_Pos)
- #define ATIM_ISR_TIF ATIM_ISR_TIF_Msk
- #define ATIM_ISR_COMIF_Pos (5U)
- #define ATIM_ISR_COMIF_Msk (0x1U << ATIM_ISR_COMIF_Pos)
- #define ATIM_ISR_COMIF ATIM_ISR_COMIF_Msk
- #define ATIM_ISR_CCIF_Pos (1U)
- #define ATIM_ISR_CCIF_Msk (0x1U << ATIM_ISR_CCIF_Pos)
- #define ATIM_ISR_CCIF ATIM_ISR_CCIF_Msk
- #define ATIM_ISR_UIF_Pos (0U)
- #define ATIM_ISR_UIF_Msk (0x1U << ATIM_ISR_UIF_Pos)
- #define ATIM_ISR_UIF ATIM_ISR_UIF_Msk
- #define ATIM_EGR_BG_Pos (7U)
- #define ATIM_EGR_BG_Msk (0x1U << ATIM_EGR_BG_Pos)
- #define ATIM_EGR_BG ATIM_EGR_BG_Msk
- #define ATIM_EGR_TG_Pos (6U)
- #define ATIM_EGR_TG_Msk (0x1U << ATIM_EGR_TG_Pos)
- #define ATIM_EGR_TG ATIM_EGR_TG_Msk
- #define ATIM_EGR_COMG_Pos (5U)
- #define ATIM_EGR_COMG_Msk (0x1U << ATIM_EGR_COMG_Pos)
- #define ATIM_EGR_COMG ATIM_EGR_COMG_Msk
- #define ATIM_EGR_CCG_Pos (1U)
- #define ATIM_EGR_CCG_Msk (0x1U << ATIM_EGR_CCG_Pos)
- #define ATIM_EGR_CCG ATIM_EGR_CCG_Msk
- #define ATIM_EGR_UG_Pos (0U)
- #define ATIM_EGR_UG_Msk (0x1U << ATIM_EGR_UG_Pos)
- #define ATIM_EGR_UG ATIM_EGR_UG_Msk
- #define ATIM_DCR_DBL_Pos (8U)
- #define ATIM_DCR_DBL_Msk (0x1fU << ATIM_DCR_DBL_Pos)
- #define ATIM_DCR_DBL ATIM_DCR_DBL_Msk
- #define ATIM_DCR_DBA_Pos (0U)
- #define ATIM_DCR_DBA_Msk (0x1fU << ATIM_DCR_DBA_Pos)
- #define ATIM_DCR_DBA ATIM_DCR_DBA_Msk
- #define ATIM_CCMR_OCCE_Pos (7U)
- #define ATIM_CCMR_OCCE_Msk (0x1U << ATIM_CCMR_OCCE_Pos)
- #define ATIM_CCMR_OCCE ATIM_CCMR_OCCE_Msk
- #define ATIM_CCMR_OCM_Pos (4U)
- #define ATIM_CCMR_OCM_Msk (0x7U << ATIM_CCMR_OCM_Pos)
- #define ATIM_CCMR_OCM ATIM_CCMR_OCM_Msk
- #define ATIM_CCMR_OCPE_Pos (3U)
- #define ATIM_CCMR_OCPE_Msk (0x1U << ATIM_CCMR_OCPE_Pos)
- #define ATIM_CCMR_OCPE ATIM_CCMR_OCPE_Msk
- #define ATIM_CCMR_OCFE_Pos (2U)
- #define ATIM_CCMR_OCFE_Msk (0x1U << ATIM_CCMR_OCFE_Pos)
- #define ATIM_CCMR_OCFE ATIM_CCMR_OCFE_Msk
- #define ATIM_CCMR_ICF_Pos (4U)
- #define ATIM_CCMR_ICF_Msk (0xfU << ATIM_CCMR_ICF_Pos)
- #define ATIM_CCMR_ICF ATIM_CCMR_ICF_Msk
- #define ATIM_CCMR_ICPSC_Pos (2U)
- #define ATIM_CCMR_ICPSC_Msk (0x3U << ATIM_CCMR_ICPSC_Pos)
- #define ATIM_CCMR_ICPSC ATIM_CCMR_ICPSC_Msk
- #define ATIM_CCMR_CCS_Pos (0U)
- #define ATIM_CCMR_CCS_Msk (0x3U << ATIM_CCMR_CCS_Pos)
- #define ATIM_CCMR_CCS ATIM_CCMR_CCS_Msk
- #define ATIM_CCER_CCNP_Pos (3U)
- #define ATIM_CCER_CCNP_Msk (0x1U << ATIM_CCER_CCNP_Pos)
- #define ATIM_CCER_CCNP ATIM_CCER_CCNP_Msk
- #define ATIM_CCER_CCNE_Pos (2U)
- #define ATIM_CCER_CCNE_Msk (0x1U << ATIM_CCER_CCNE_Pos)
- #define ATIM_CCER_CCNE ATIM_CCER_CCNE_Msk
- #define ATIM_CCER_CCOP_Pos (1U)
- #define ATIM_CCER_CCOP_Msk (0x1U << ATIM_CCER_CCOP_Pos)
- #define ATIM_CCER_CCOP ATIM_CCER_CCOP_Msk
- #define ATIM_CCER_CCIP_Pos (1U)
- #define ATIM_CCER_CCIP_Msk (0x1U << ATIM_CCER_CCIP_Pos)
- #define ATIM_CCER_CCIP ATIM_CCER_CCIP_Msk
- #define ATIM_CCER_CCOE_Pos (0U)
- #define ATIM_CCER_CCOE_Msk (0x1U << ATIM_CCER_CCOE_Pos)
- #define ATIM_CCER_CCOE ATIM_CCER_CCOE_Msk
- #define ATIM_CCER_CCIE_Pos (0U)
- #define ATIM_CCER_CCIE_Msk (0x1U << ATIM_CCER_CCIE_Pos)
- #define ATIM_CCER_CCIE ATIM_CCER_CCIE_Msk
- #define ATIM_BDTR_MOE_Pos (15U)
- #define ATIM_BDTR_MOE_Msk (0x1U << ATIM_BDTR_MOE_Pos)
- #define ATIM_BDTR_MOE ATIM_BDTR_MOE_Msk
- #define ATIM_BDTR_AOE_Pos (14U)
- #define ATIM_BDTR_AOE_Msk (0x1U << ATIM_BDTR_AOE_Pos)
- #define ATIM_BDTR_AOE ATIM_BDTR_AOE_Msk
- #define ATIM_BDTR_BKP_Pos (13U)
- #define ATIM_BDTR_BKP_Msk (0x1U << ATIM_BDTR_BKP_Pos)
- #define ATIM_BDTR_BKP ATIM_BDTR_BKP_Msk
- #define ATIM_BDTR_BKE_Pos (12U)
- #define ATIM_BDTR_BKE_Msk (0x1U << ATIM_BDTR_BKE_Pos)
- #define ATIM_BDTR_BKE ATIM_BDTR_BKE_Msk
- #define ATIM_BDTR_OSSR_Pos (11U)
- #define ATIM_BDTR_OSSR_Msk (0x1U << ATIM_BDTR_OSSR_Pos)
- #define ATIM_BDTR_OSSR ATIM_BDTR_OSSR_Msk
- #define ATIM_BDTR_OSSI_Pos (10U)
- #define ATIM_BDTR_OSSI_Msk (0x1U << ATIM_BDTR_OSSI_Pos)
- #define ATIM_BDTR_OSSI ATIM_BDTR_OSSI_Msk
- #define ATIM_BDTR_LOCK_Pos (8U)
- #define ATIM_BDTR_LOCK_Msk (0x3U << ATIM_BDTR_LOCK_Pos)
- #define ATIM_BDTR_LOCK ATIM_BDTR_LOCK_Msk
- #define ATIM_BDTR_DTG_Pos (0U)
- #define ATIM_BDTR_DTG_Msk (0xffU << ATIM_BDTR_DTG_Pos)
- #define ATIM_BDTR_DTG ATIM_BDTR_DTG_Msk
- #define ATIM_BKCR_BRK1GATE_Pos (8U)
- #define ATIM_BKCR_BRK1GATE_Msk (0x1U << ATIM_BKCR_BRK1GATE_Pos)
- #define ATIM_BKCR_BRK1GATE ATIM_BKCR_BRK1GATE_Msk
- #define ATIM_BKCR_BRK2GATE_Pos (9U)
- #define ATIM_BKCR_BRK2GATE_Msk (0x1U << ATIM_BKCR_BRK2GATE_Pos)
- #define ATIM_BKCR_BRK2GATE ATIM_BKCR_BRK2GATE_Msk
- #define ATIM_BKCR_BRKF_Pos (4U)
- #define ATIM_BKCR_BRKF_Msk (0xfU << ATIM_BKCR_BRKF_Pos)
- #define ATIM_BKCR_BRKF ATIM_BKCR_BRKF_Msk
- #define ATIM_BKCR_BRKCOMB_Pos (3U)
- #define ATIM_BKCR_BRKCOMB_Msk (0x1U << ATIM_BKCR_BRKCOMB_Pos)
- #define ATIM_BKCR_BRKCOMB ATIM_BKCR_BRKCOMB_Msk
- #define ATIM_BKCR_HFDET_BRKEN_Pos (2U)
- #define ATIM_BKCR_HFDET_BRKEN_Msk (0x1U << ATIM_BKCR_HFDET_BRKEN_Pos)
- #define ATIM_BKCR_HFDET_BRKEN ATIM_BKCR_HFDET_BRKEN_Msk
- #define ATIM_BKCR_SVD_BRKEN_Pos (1U)
- #define ATIM_BKCR_SVD_BRKEN_Msk (0x1U << ATIM_BKCR_SVD_BRKEN_Pos)
- #define ATIM_BKCR_SVD_BRKEN ATIM_BKCR_SVD_BRKEN_Msk
- #define ATIM_BKCR_COMP_BRKEN_Pos (0U)
- #define ATIM_BKCR_COMP_BRKEN_Msk (0x1U << ATIM_BKCR_COMP_BRKEN_Pos)
- #define ATIM_BKCR_COMP_BRKEN ATIM_BKCR_COMP_BRKEN_Msk
- #define FL_ATIM_CHANNEL_1 0x0U
- #define FL_ATIM_CHANNEL_2 0x1U
- #define FL_ATIM_CHANNEL_3 0x2U
- #define FL_ATIM_CHANNEL_4 0x3U
- #define FL_ATIM_CLK_DIVISION_DIV1 (0x0U << ATIM_CR1_CKD_Pos)
- #define FL_ATIM_CLK_DIVISION_DIV2 (0x1U << ATIM_CR1_CKD_Pos)
- #define FL_ATIM_CLK_DIVISION_DIV4 (0x2U << ATIM_CR1_CKD_Pos)
- #define FL_ATIM_COUNTER_ALIGNED_EDGE (0x0U << ATIM_CR1_CMS_Pos)
- #define FL_ATIM_COUNTER_ALIGNED_CENTER_DOWN (0x1U << ATIM_CR1_CMS_Pos)
- #define FL_ATIM_COUNTER_ALIGNED_CENTER_UP (0x2U << ATIM_CR1_CMS_Pos)
- #define FL_ATIM_COUNTER_ALIGNED_CENTER_UP_DOWN (0x3U << ATIM_CR1_CMS_Pos)
- #define FL_ATIM_COUNTER_DIR_UP (0x0U << ATIM_CR1_DIR_Pos)
- #define FL_ATIM_COUNTER_DIR_DOWN (0x1U << ATIM_CR1_DIR_Pos)
- #define FL_ATIM_ONE_PULSE_MODE_CONTINUOUS (0x0U << ATIM_CR1_OPM_Pos)
- #define FL_ATIM_ONE_PULSE_MODE_SINGLE (0x1U << ATIM_CR1_OPM_Pos)
- #define FL_ATIM_UPDATE_SOURCE_REGULAR (0x0U << ATIM_CR1_URS_Pos)
- #define FL_ATIM_UPDATE_SOURCE_COUNTER (0x1U << ATIM_CR1_URS_Pos)
- #define FL_ATIM_OCN_IDLE_STATE_LOW (0x0U << ATIM_CR2_OISN_Pos)
- #define FL_ATIM_OCN_IDLE_STATE_HIGH (0x1U << ATIM_CR2_OISN_Pos)
- #define FL_ATIM_OC_IDLE_STATE_LOW (0x0U << ATIM_CR2_OIS_Pos)
- #define FL_ATIM_OC_IDLE_STATE_HIGH (0x1U << ATIM_CR2_OIS_Pos)
- #define FL_ATIM_TRGO_RESET (0x0U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_ENABLE (0x1U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_UPDATE (0x2U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_CC1IF (0x3U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_OC1REF (0x4U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_OC2REF (0x5U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_OC3REF (0x6U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_TRGO_OC4REF (0x7U << ATIM_CR2_MMS_Pos)
- #define FL_ATIM_DMA_REQ_CC (0x0U << ATIM_CR2_CCDS_Pos)
- #define FL_ATIM_DMA_REQ_UPDATE (0x1U << ATIM_CR2_CCDS_Pos)
- #define FL_ATIM_UPDATE_SOURCE_COMG_ONLY (0x0U << ATIM_CR2_CCUS_Pos)
- #define FL_ATIM_UPDATE_SOURCE_COMG_AND_TRGI (0x1U << ATIM_CR2_CCUS_Pos)
- #define FL_ATIM_ETR_POLARITY_NORMAL (0x0U << ATIM_SMCR_ETP_Pos)
- #define FL_ATIM_ETR_POLARITY_INVERT (0x1U << ATIM_SMCR_ETP_Pos)
- #define FL_ATIM_ETR_PSC_DIV1 (0x0U << ATIM_SMCR_ETPS_Pos)
- #define FL_ATIM_ETR_PSC_DIV2 (0x1U << ATIM_SMCR_ETPS_Pos)
- #define FL_ATIM_ETR_PSC_DIV4 (0x2U << ATIM_SMCR_ETPS_Pos)
- #define FL_ATIM_ETR_PSC_DIV8 (0x3U << ATIM_SMCR_ETPS_Pos)
- #define FL_ATIM_ETR_FILTER_DIV1 (0x0U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV1_N2 (0x1U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV1_N4 (0x2U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV1_N8 (0x3U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV2_N6 (0x4U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV2_N8 (0x5U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV4_N6 (0x6U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV4_N8 (0x7U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV8_N6 (0x8U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV8_N8 (0x9U << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV16_N5 (0xaU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV16_N6 (0xbU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV16_N8 (0xcU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV32_N5 (0xdU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV32_N6 (0xeU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_ETR_FILTER_DIV32_N8 (0xfU << ATIM_SMCR_ETF_Pos)
- #define FL_ATIM_TRGI_ITR0 (0x0U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_ITR1 (0x1U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_ITR2 (0x2U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_ITR3 (0x3U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_TI1F_EDGE (0x4U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_TI1FP1 (0x5U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_TI2FP2 (0x6U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_TRGI_ETRF (0x7U << ATIM_SMCR_TS_Pos)
- #define FL_ATIM_SLAVE_MODE_PROHIBITED (0x0U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_ENCODER_X2_TI1 (0x1U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_ENCODER_X2_TI2 (0x2U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_ENCODER_X4_TI1TI2 (0x3U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_TRGI_RISE_RST (0x4U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_TRGI_HIGH_RUN (0x5U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_TRGI_RISE_RUN (0x6U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_SLAVE_MODE_TRGI_CLK (0x7U << ATIM_SMCR_SMS_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_1 (0x0U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_2 (0x1U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_3 (0x2U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_4 (0x3U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_5 (0x4U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_6 (0x5U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_7 (0x6U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_8 (0x7U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_9 (0x8U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_10 (0x9U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_11 (0xaU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_12 (0xbU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_13 (0xcU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_14 (0xdU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_15 (0xeU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_16 (0xfU << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_17 (0x10U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_LENGTH_18 (0x11U << ATIM_DCR_DBL_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CR1 (0x0U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CR2 (0x1U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_SMCR (0x2U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_DIER (0x3U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_SR (0x4U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_EGR (0x5U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCMR1 (0x6U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCMR2 (0x7U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCER (0x8U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CNT (0x9U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_PSC (0xaU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_ARR (0xbU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_RCR (0xcU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCR1 (0xdU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCR2 (0xeU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCR3 (0xfU << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_CCR4 (0x10U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_DMA_BURST_ADDR_BDTR (0x11U << ATIM_DCR_DBA_Pos)
- #define FL_ATIM_OC_MODE_FROZEN (0x0U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_ACTIVE (0x1U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_INACTIVE (0x2U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_TOGGLE (0x3U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_FORCED_INACTIVE (0x4U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_FORCED_ACTIVE (0x5U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_PWM1 (0x6U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_OC_MODE_PWM2 (0x7U << ATIM_CCMR_OCM_Pos)
- #define FL_ATIM_IC_FILTER_DIV1 (0x0U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV1_N2 (0x1U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV1_N4 (0x2U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV1_N8 (0x3U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV2_N6 (0x4U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV2_N8 (0x5U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV4_N6 (0x6U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV4_N8 (0x7U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV8_N6 (0x8U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV8_N8 (0x9U << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV16_N5 (0xaU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV16_N6 (0xbU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV16_N8 (0xcU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV32_N5 (0xdU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV32_N6 (0xeU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_FILTER_DIV32_N8 (0xfU << ATIM_CCMR_ICF_Pos)
- #define FL_ATIM_IC_PSC_DIV1 (0x0U << ATIM_CCMR_ICPSC_Pos)
- #define FL_ATIM_IC_PSC_DIV2 (0x1U << ATIM_CCMR_ICPSC_Pos)
- #define FL_ATIM_IC_PSC_DIV4 (0x2U << ATIM_CCMR_ICPSC_Pos)
- #define FL_ATIM_IC_PSC_DIV8 (0x3U << ATIM_CCMR_ICPSC_Pos)
- #define FL_ATIM_CHANNEL_MODE_OUTPUT (0x0U << ATIM_CCMR_CCS_Pos)
- #define FL_ATIM_CHANNEL_MODE_INPUT_NORMAL (0x1U << ATIM_CCMR_CCS_Pos)
- #define FL_ATIM_CHANNEL_MODE_INPUT_CROSSOVER (0x2U << ATIM_CCMR_CCS_Pos)
- #define FL_ATIM_CHANNEL_MODE_INPUT_TRC (0x3U << ATIM_CCMR_CCS_Pos)
- #define FL_ATIM_OCN_POLARITY_NORMAL (0x0U << ATIM_CCER_CCNP_Pos)
- #define FL_ATIM_OCN_POLARITY_INVERT (0x1U << ATIM_CCER_CCNP_Pos)
- #define FL_ATIM_OC_POLARITY_NORMAL (0x0U << ATIM_CCER_CCOP_Pos)
- #define FL_ATIM_OC_POLARITY_INVERT (0x1U << ATIM_CCER_CCOP_Pos)
- #define FL_ATIM_IC_POLARITY_NORMAL (0x0U << ATIM_CCER_CCIP_Pos)
- #define FL_ATIM_IC_POLARITY_INVERT (0x1U << ATIM_CCER_CCIP_Pos)
- #define FL_ATIM_BREAK_POLARITY_LOW (0x0U << ATIM_BDTR_BKP_Pos)
- #define FL_ATIM_BREAK_POLARITY_HIGH (0x1U << ATIM_BDTR_BKP_Pos)
- #define FL_ATIM_OSSR_DISABLE (0x0U << ATIM_BDTR_OSSR_Pos)
- #define FL_ATIM_OSSR_ENABLE (0x1U << ATIM_BDTR_OSSR_Pos)
- #define FL_ATIM_OSSI_DISABLE (0x0U << ATIM_BDTR_OSSI_Pos)
- #define FL_ATIM_OSSI_ENABLE (0x1U << ATIM_BDTR_OSSI_Pos)
- #define FL_ATIM_LOCK_LEVEL_OFF (0x0U << ATIM_BDTR_LOCK_Pos)
- #define FL_ATIM_LOCK_LEVEL_1 (0x1U << ATIM_BDTR_LOCK_Pos)
- #define FL_ATIM_LOCK_LEVEL_2 (0x2U << ATIM_BDTR_LOCK_Pos)
- #define FL_ATIM_LOCK_LEVEL_3 (0x3U << ATIM_BDTR_LOCK_Pos)
- #define FL_ATIM_BREAK1_GATE_LOW (0x0U << ATIM_BKCR_BRK1GATE_Pos)
- #define FL_ATIM_BREAK1_GATE_AUTO (0x1U << ATIM_BKCR_BRK1GATE_Pos)
- #define FL_ATIM_BREAK2_GATE_LOW (0x0U << ATIM_BKCR_BRK2GATE_Pos)
- #define FL_ATIM_BREAK2_GATE_AUTO (0x1U << ATIM_BKCR_BRK2GATE_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV1 (0x0U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV1_N2 (0x1U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV1_N4 (0x2U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV1_N8 (0x3U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV2_N6 (0x4U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV2_N8 (0x5U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV4_N6 (0x6U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV4_N8 (0x7U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV8_N6 (0x8U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV8_N8 (0x9U << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV16_N5 (0xaU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV16_N6 (0xbU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV16_N8 (0xcU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV32_N5 (0xdU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV32_N6 (0xeU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_FILTER_DIV32_N8 (0xfU << ATIM_BKCR_BRKF_Pos)
- #define FL_ATIM_BREAK_COMBINATION_OR (0x0U << ATIM_BKCR_BRKCOMB_Pos)
- #define FL_ATIM_BREAK_COMBINATION_AND (0x1U << ATIM_BKCR_BRKCOMB_Pos)
- /**
- * @}
- */
- /* Exported functions ---------------------------------------------------------------------------------*/
- /** @defgroup ATIM_FL_Exported_Functions ATIM Exported Functions
- * @{
- */
- /**
- * @brief 设置时钟分频因子
- * @rmtoll CR1 CKD FL_ATIM_SetClockDivision
- * @param TIMx TIM instance
- * @param div This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV1
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV2
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetClockDivision(ATIM_Type *TIMx, uint32_t div)
- {
- MODIFY_REG(TIMx->CR1, ATIM_CR1_CKD_Msk, div);
- }
- /**
- * @brief 读取时钟分频因子
- * @rmtoll CR1 CKD FL_ATIM_GetClockDivision
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV1
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV2
- * @arg @ref FL_ATIM_CLK_DIVISION_DIV4
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetClockDivision(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_CKD_Msk));
- }
- /**
- * @brief 自动重装载使能
- * @rmtoll CR1 ARPE FL_ATIM_EnableARRPreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableARRPreload(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR1, ATIM_CR1_ARPE_Msk);
- }
- /**
- * @brief 获取自动重装载使能状态
- * @rmtoll CR1 ARPE FL_ATIM_IsEnabledARRPreload
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledARRPreload(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_ARPE_Msk) == ATIM_CR1_ARPE_Msk);
- }
- /**
- * @brief 自动重装载禁用
- * @rmtoll CR1 ARPE FL_ATIM_DisableARRPreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableARRPreload(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, ATIM_CR1_ARPE_Msk);
- }
- /**
- * @brief 计数器对齐模式设置
- * @rmtoll CR1 CMS FL_ATIM_SetCounterAlignedMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_EDGE
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_DOWN
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_UP
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_UP_DOWN
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetCounterAlignedMode(ATIM_Type *TIMx, uint32_t mode)
- {
- MODIFY_REG(TIMx->CR1, ATIM_CR1_CMS_Msk, mode);
- }
- /**
- * @brief 读取计数器对齐模式
- * @rmtoll CR1 CMS FL_ATIM_GetCounterAlignedMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_EDGE
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_DOWN
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_UP
- * @arg @ref FL_ATIM_COUNTER_ALIGNED_CENTER_UP_DOWN
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetCounterAlignedMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_CMS_Msk));
- }
- /**
- * @brief 设置记数方向
- * @rmtoll CR1 DIR FL_ATIM_SetCounterDirection
- * @param TIMx TIM instance
- * @param dir This parameter can be one of the following values:
- * @arg @ref FL_ATIM_COUNTER_DIR_UP
- * @arg @ref FL_ATIM_COUNTER_DIR_DOWN
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetCounterDirection(ATIM_Type *TIMx, uint32_t dir)
- {
- MODIFY_REG(TIMx->CR1, ATIM_CR1_DIR_Msk, dir);
- }
- /**
- * @brief 读取记数方向
- * @rmtoll CR1 DIR FL_ATIM_GetCounterDirection
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_COUNTER_DIR_UP
- * @arg @ref FL_ATIM_COUNTER_DIR_DOWN
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetCounterDirection(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_DIR_Msk));
- }
- /**
- * @brief 设置单脉冲输出模式
- * @rmtoll CR1 OPM FL_ATIM_SetOnePulseMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_ATIM_ONE_PULSE_MODE_CONTINUOUS
- * @arg @ref FL_ATIM_ONE_PULSE_MODE_SINGLE
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetOnePulseMode(ATIM_Type *TIMx, uint32_t mode)
- {
- MODIFY_REG(TIMx->CR1, ATIM_CR1_OPM_Msk, mode);
- }
- /**
- * @brief 读取单脉冲输出的模式
- * @rmtoll CR1 OPM FL_ATIM_GetOnePulseMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_ONE_PULSE_MODE_CONTINUOUS
- * @arg @ref FL_ATIM_ONE_PULSE_MODE_SINGLE
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetOnePulseMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_OPM_Msk));
- }
- /**
- * @brief 设置更新请求源
- * @rmtoll CR1 URS FL_ATIM_SetUpdateSource
- * @param TIMx TIM instance
- * @param source This parameter can be one of the following values:
- * @arg @ref FL_ATIM_UPDATE_SOURCE_REGULAR
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COUNTER
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetUpdateSource(ATIM_Type *TIMx, uint32_t source)
- {
- MODIFY_REG(TIMx->CR1, ATIM_CR1_URS_Msk, source);
- }
- /**
- * @brief 读取更新请求源
- * @rmtoll CR1 URS FL_ATIM_GetUpdateSource
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_UPDATE_SOURCE_REGULAR
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COUNTER
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetUpdateSource(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_URS_Msk));
- }
- /**
- * @brief 使能更新事件
- * @rmtoll CR1 UDIS FL_ATIM_EnableUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableUpdateEvent(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, ATIM_CR1_UDIS_Msk);
- }
- /**
- * @brief 读取更新事件状态
- * @rmtoll CR1 UDIS FL_ATIM_IsEnabledUpdateEvent
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledUpdateEvent(ATIM_Type *TIMx)
- {
- return (uint32_t)!(READ_BIT(TIMx->CR1, ATIM_CR1_UDIS_Msk) == ATIM_CR1_UDIS_Msk);
- }
- /**
- * @brief 禁用更新事件
- * @rmtoll CR1 UDIS FL_ATIM_DisableUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableUpdateEvent(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, ATIM_CR1_UDIS_Msk);
- }
- /**
- * @brief 计数器使能
- * @rmtoll CR1 CEN FL_ATIM_Enable
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_Enable(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR1, ATIM_CR1_CEN_Msk);
- }
- /**
- * @brief 读取计数器使能状态
- * @rmtoll CR1 CEN FL_ATIM_IsEnabled
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabled(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR1, ATIM_CR1_CEN_Msk) == ATIM_CR1_CEN_Msk);
- }
- /**
- * @brief 计数器关闭
- * @rmtoll CR1 CEN FL_ATIM_Disable
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_Disable(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR1, ATIM_CR1_CEN_Msk);
- }
- /**
- * @brief 设置OCN的输出空闲状态
- * @note
- * @rmtoll CR2 OISN FL_ATIM_OC_SetReverseChannelIdleState
- * @param TIMx TIM instance
- * @param OCNIdleState This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OCN_IDLE_STATE_LOW
- * @arg @ref FL_ATIM_OCN_IDLE_STATE_HIGH
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_SetReverseChannelIdleState(ATIM_Type *TIMx, uint32_t OCNIdleState, uint32_t channel)
- {
- MODIFY_REG(TIMx->CR2, ATIM_CR2_OISN_Msk << (channel * 2), OCNIdleState << (channel * 2));
- }
- /**
- * @brief 读取OCN的输出空闲状态
- * @note
- * @rmtoll CR2 OISN FL_ATIM_OC_GetReverseChannelIdleState
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OCN_IDLE_STATE_LOW
- * @arg @ref FL_ATIM_OCN_IDLE_STATE_HIGH
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_GetReverseChannelIdleState(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, (ATIM_CR2_OISN_Msk << (channel * 2))));
- }
- /**
- * @brief 设置OC的输出空闲状态
- * @note
- * @rmtoll CR2 OIS FL_ATIM_OC_SetChannelIdleState
- * @param TIMx TIM instance
- * @param OCIdleState This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OC_IDLE_STATE_LOW
- * @arg @ref FL_ATIM_OC_IDLE_STATE_HIGH
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_SetChannelIdleState(ATIM_Type *TIMx, uint32_t OCIdleState, uint32_t channel)
- {
- MODIFY_REG(TIMx->CR2, (ATIM_CR2_OIS_Msk << (channel * 2)), OCIdleState << (channel * 2));
- }
- /**
- * @brief 读取OC的输出空闲状态
- * @note
- * @rmtoll CR2 OIS FL_ATIM_OC_GetChannelIdleState
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OC_IDLE_STATE_LOW
- * @arg @ref FL_ATIM_OC_IDLE_STATE_HIGH
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_GetChannelIdleState(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, (ATIM_CR2_OIS_Msk << (channel * 2))));
- }
- /**
- * @brief 通道1输入源选择
- * @rmtoll CR2 TI1S FL_ATIM_IC_EnableXORCombination
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_EnableXORCombination(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR2, ATIM_CR2_TI1S_Msk);
- }
- /**
- * @brief 读取通道1输入源
- * @rmtoll CR2 TI1S FL_ATIM_IC_IsEnabledXORCombination
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IC_IsEnabledXORCombination(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, ATIM_CR2_TI1S_Msk) == ATIM_CR2_TI1S_Msk);
- }
- /**
- * @brief 通道1输入源禁用XOR组合
- * @rmtoll CR2 TI1S FL_ATIM_IC_DisableXORCombination
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_DisableXORCombination(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR2, ATIM_CR2_TI1S_Msk);
- }
- /**
- * @brief 设置同步触发信号源
- * @rmtoll CR2 MMS FL_ATIM_SetTriggerOutput
- * @param TIMx TIM instance
- * @param triggerOutput This parameter can be one of the following values:
- * @arg @ref FL_ATIM_TRGO_RESET
- * @arg @ref FL_ATIM_TRGO_ENABLE
- * @arg @ref FL_ATIM_TRGO_UPDATE
- * @arg @ref FL_ATIM_TRGO_CC1IF
- * @arg @ref FL_ATIM_TRGO_OC1REF
- * @arg @ref FL_ATIM_TRGO_OC2REF
- * @arg @ref FL_ATIM_TRGO_OC3REF
- * @arg @ref FL_ATIM_TRGO_OC4REF
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetTriggerOutput(ATIM_Type *TIMx, uint32_t triggerOutput)
- {
- MODIFY_REG(TIMx->CR2, ATIM_CR2_MMS_Msk, triggerOutput);
- }
- /**
- * @brief 读取同步触发源
- * @rmtoll CR2 MMS FL_ATIM_GetTriggerOutput
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_TRGO_RESET
- * @arg @ref FL_ATIM_TRGO_ENABLE
- * @arg @ref FL_ATIM_TRGO_UPDATE
- * @arg @ref FL_ATIM_TRGO_CC1IF
- * @arg @ref FL_ATIM_TRGO_OC1REF
- * @arg @ref FL_ATIM_TRGO_OC2REF
- * @arg @ref FL_ATIM_TRGO_OC3REF
- * @arg @ref FL_ATIM_TRGO_OC4REF
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetTriggerOutput(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, ATIM_CR2_MMS_Msk));
- }
- /**
- * @brief 设置DMA请求触发
- * @rmtoll CR2 CCDS FL_ATIM_CC_SetDMAReqTrigger
- * @param TIMx TIM instance
- * @param trigger This parameter can be one of the following values:
- * @arg @ref FL_ATIM_DMA_REQ_CC
- * @arg @ref FL_ATIM_DMA_REQ_UPDATE
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_CC_SetDMAReqTrigger(ATIM_Type *TIMx, uint32_t trigger)
- {
- MODIFY_REG(TIMx->CR2, ATIM_CR2_CCDS_Msk, trigger);
- }
- /**
- * @brief 读取DMA请求触发
- * @rmtoll CR2 CCDS FL_ATIM_CC_GetDMAReqTrigger
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_DMA_REQ_CC
- * @arg @ref FL_ATIM_DMA_REQ_UPDATE
- */
- __STATIC_INLINE uint32_t FL_ATIM_CC_GetDMAReqTrigger(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, ATIM_CR2_CCDS_Msk));
- }
- /**
- * @brief 设置捕捉比较寄存器更新选择
- * @rmtoll CR2 CCUS FL_ATIM_CC_SetUpdateSource
- * @param TIMx TIM instance
- * @param updateSource This parameter can be one of the following values:
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COMG_ONLY
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COMG_AND_TRGI?
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_CC_SetUpdateSource(ATIM_Type *TIMx, uint32_t updateSource)
- {
- MODIFY_REG(TIMx->CR2, ATIM_CR2_CCUS_Msk, updateSource);
- }
- /**
- * @brief 读取捕捉比较寄存器更新源
- * @rmtoll CR2 CCUS FL_ATIM_CC_GetUpdateSource
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COMG_ONLY
- * @arg @ref FL_ATIM_UPDATE_SOURCE_COMG_AND_TRGI?
- */
- __STATIC_INLINE uint32_t FL_ATIM_CC_GetUpdateSource(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, ATIM_CR2_CCUS_Msk));
- }
- /**
- * @brief 捕捉比较预装载使能
- * @rmtoll CR2 CCPC FL_ATIM_CC_EnablePreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_CC_EnablePreload(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->CR2, ATIM_CR2_CCPC_Msk);
- }
- /**
- * @brief 读取捕捉比较预装载使能状态
- * @rmtoll CR2 CCPC FL_ATIM_CC_IsEnabledPreload
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_CC_IsEnabledPreload(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CR2, ATIM_CR2_CCPC_Msk) == ATIM_CR2_CCPC_Msk);
- }
- /**
- * @brief 捕捉比较预装载失能
- * @rmtoll CR2 CCPC FL_ATIM_CC_DisablePreload
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_CC_DisablePreload(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->CR2, ATIM_CR2_CCPC_Msk);
- }
- /**
- * @brief 设置外部触发信号极性
- * @rmtoll SMCR ETP FL_ATIM_SetETRPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_ATIM_ETR_POLARITY_NORMAL
- * @arg @ref FL_ATIM_ETR_POLARITY_INVERT
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetETRPolarity(ATIM_Type *TIMx, uint32_t polarity)
- {
- MODIFY_REG(TIMx->SMCR, ATIM_SMCR_ETP_Msk, polarity);
- }
- /**
- * @brief 读取外部触发信号极性
- * @rmtoll SMCR ETP FL_ATIM_GetETRPolarity
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_ETR_POLARITY_NORMAL
- * @arg @ref FL_ATIM_ETR_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetETRPolarity(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_ETP_Msk));
- }
- /**
- * @brief 外部时钟使能
- * @rmtoll SMCR ECE FL_ATIM_EnableExternalClock
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableExternalClock(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->SMCR, ATIM_SMCR_ECE_Msk);
- }
- /**
- * @brief 读取外部时钟使能状态
- * @rmtoll SMCR ECE FL_ATIM_IsEnabledExternalClock
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledExternalClock(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_ECE_Msk) == ATIM_SMCR_ECE_Msk);
- }
- /**
- * @brief 外部时钟禁用
- * @rmtoll SMCR ECE FL_ATIM_DisableExternalClock
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableExternalClock(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->SMCR, ATIM_SMCR_ECE_Msk);
- }
- /**
- * @brief 设置外部触发信号预分频
- * @rmtoll SMCR ETPS FL_ATIM_SetETRPrescaler
- * @param TIMx TIM instance
- * @param psc This parameter can be one of the following values:
- * @arg @ref FL_ATIM_ETR_PSC_DIV1
- * @arg @ref FL_ATIM_ETR_PSC_DIV2
- * @arg @ref FL_ATIM_ETR_PSC_DIV4
- * @arg @ref FL_ATIM_ETR_PSC_DIV8
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetETRPrescaler(ATIM_Type *TIMx, uint32_t psc)
- {
- MODIFY_REG(TIMx->SMCR, ATIM_SMCR_ETPS_Msk, psc);
- }
- /**
- * @brief 读取外部触发信号预分频
- * @rmtoll SMCR ETPS FL_ATIM_GetETRPrescaler
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_ETR_PSC_DIV1
- * @arg @ref FL_ATIM_ETR_PSC_DIV2
- * @arg @ref FL_ATIM_ETR_PSC_DIV4
- * @arg @ref FL_ATIM_ETR_PSC_DIV8
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetETRPrescaler(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_ETPS_Msk));
- }
- /**
- * @brief 设置外部触发信号滤波时钟和长度
- * @rmtoll SMCR ETF FL_ATIM_SetETRFilter
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N8
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetETRFilter(ATIM_Type *TIMx, uint32_t filter)
- {
- MODIFY_REG(TIMx->SMCR, ATIM_SMCR_ETF_Msk, filter);
- }
- /**
- * @brief 读取外部触发信号滤波时钟和长度
- * @rmtoll SMCR ETF FL_ATIM_GetETRFilter
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_ETR_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_ETR_FILTER_DIV32_N8
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetETRFilter(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_ETF_Msk));
- }
- /**
- * @brief 主/从模式使能
- * @rmtoll SMCR MSM FL_ATIM_EnableMasterSlaveMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableMasterSlaveMode(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->SMCR, ATIM_SMCR_MSM_Msk);
- }
- /**
- * @brief 读取主/从模式使能状态
- * @rmtoll SMCR MSM FL_ATIM_IsEnabledMasterSlaveMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledMasterSlaveMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_MSM_Msk) == ATIM_SMCR_MSM_Msk);
- }
- /**
- * @brief 定时器主/从模式禁用
- * @rmtoll SMCR MSM FL_ATIM_DisableMasterSlaveMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableMasterSlaveMode(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->SMCR, ATIM_SMCR_MSM_Msk);
- }
- /**
- * @brief 设置同步计数器触发源
- * @rmtoll SMCR TS FL_ATIM_SetTriggerInput
- * @param TIMx TIM instance
- * @param triggerInput This parameter can be one of the following values:
- * @arg @ref FL_ATIM_TRGI_ITR0
- * @arg @ref FL_ATIM_TRGI_ITR1
- * @arg @ref FL_ATIM_TRGI_ITR2
- * @arg @ref FL_ATIM_TRGI_ITR3
- * @arg @ref FL_ATIM_TRGI_TI1F_EDGE
- * @arg @ref FL_ATIM_TRGI_TI1FP1
- * @arg @ref FL_ATIM_TRGI_TI2FP2
- * @arg @ref FL_ATIM_TRGI_ETRF
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetTriggerInput(ATIM_Type *TIMx, uint32_t triggerInput)
- {
- MODIFY_REG(TIMx->SMCR, ATIM_SMCR_TS_Msk, triggerInput);
- }
- /**
- * @brief 读取同步计数器的触发源
- * @rmtoll SMCR TS FL_ATIM_GetTriggerInput
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_TRGI_ITR0
- * @arg @ref FL_ATIM_TRGI_ITR1
- * @arg @ref FL_ATIM_TRGI_ITR2
- * @arg @ref FL_ATIM_TRGI_ITR3
- * @arg @ref FL_ATIM_TRGI_TI1F_EDGE
- * @arg @ref FL_ATIM_TRGI_TI1FP1
- * @arg @ref FL_ATIM_TRGI_TI2FP2
- * @arg @ref FL_ATIM_TRGI_ETRF
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetTriggerInput(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_TS_Msk));
- }
- /**
- * @brief 从机模式设置
- * @rmtoll SMCR SMS FL_ATIM_SetSlaveMode
- * @param TIMx TIM instance
- * @param encoderMode This parameter can be one of the following values:
- * @arg @ref FL_ATIM_SLAVE_MODE_PROHIBITED
- * @arg @ref FL_ATIM_SLAVE_MODE_ENCODER_X2_TI1
- * @arg @ref FL_ATIM_SLAVE_MODE_ENCODER_X2_TI2
- * @arg @ref FL_ATIM_SLAVE_MODE_ENCODER_X4_TI1TI2
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_RISE_RST
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_HIGH_RUN
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_RISE_RUN
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_CLK
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetSlaveMode(ATIM_Type *TIMx, uint32_t encoderMode)
- {
- MODIFY_REG(TIMx->SMCR, ATIM_SMCR_SMS_Msk, encoderMode);
- }
- /**
- * @brief 读取从机模式
- * @rmtoll SMCR SMS FL_ATIM_GetSlaveMode
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_SLAVE_MODE_PROHIBITED
- * @arg @ref FL_ATIM_SLAVE_MODE_ENCODER_X2_TI1
- * @arg @ref FL_ATIM_SLAVE_MODE_ENCODER_X2_TI2
- * @arg @ref FL_ATIM_SLAVE_MODE_NCODER_X4_TI1TI2
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_RISE_RST
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_HIGH_RUN
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_RISE_RUN
- * @arg @ref FL_ATIM_SLAVE_MODE_TRGI_CLK
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetSlaveMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->SMCR, ATIM_SMCR_SMS_Msk));
- }
- /**
- * @brief 通道1的模式配置为Burst模式
- * @rmtoll DIER CC1BURSTEN FL_ATIM_EnableCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableCC1DMABurstMode(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief 读取通道1的模式配置
- * @rmtoll DIER CC1BURSTEN FL_ATIM_IsEnabledCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledCC1DMABurstMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_CC1BURSTEN_Msk) == ATIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief 通道1的Burst模式禁用
- * @rmtoll DIER CC1BURSTEN FL_ATIM_DisableCC1DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableCC1DMABurstMode(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CC1BURSTEN_Msk);
- }
- /**
- * @brief 通道2的模式配置为Burst模式
- * @rmtoll DIER CC2BURSTEN FL_ATIM_EnableCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableCC2DMABurstMode(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief 读取通道2的模式配置
- * @rmtoll DIER CC2BURSTEN FL_ATIM_IsEnabledCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledCC2DMABurstMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_CC2BURSTEN_Msk) == ATIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief 通道2的Burst模式禁用
- * @rmtoll DIER CC2BURSTEN FL_ATIM_DisableCC2DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableCC2DMABurstMode(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CC2BURSTEN_Msk);
- }
- /**
- * @brief 通道3的模式配置为Burst模式
- * @rmtoll DIER CC3BURSTEN FL_ATIM_EnableCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableCC3DMABurstMode(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief 读取通道3的模式配置
- * @rmtoll DIER CC3BURSTEN FL_ATIM_IsEnabledCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledCC3DMABurstMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_CC3BURSTEN_Msk) == ATIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief 通道3的Burst模式禁用
- * @rmtoll DIER CC3BURSTEN FL_ATIM_DisableCC3DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableCC3DMABurstMode(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CC3BURSTEN_Msk);
- }
- /**
- * @brief 通道4的模式配置为Burst模式
- * @rmtoll DIER CC4BURSTEN FL_ATIM_EnableCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableCC4DMABurstMode(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief 读取通道4的模式配置
- * @rmtoll DIER CC4BURSTEN FL_ATIM_IsEnabledCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledCC4DMABurstMode(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_CC4BURSTEN_Msk) == ATIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief 通道4的Burst模式禁用
- * @rmtoll DIER CC4BURSTEN FL_ATIM_DisableCC4DMABurstMode
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableCC4DMABurstMode(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CC4BURSTEN_Msk);
- }
- /**
- * @brief 外部触发DMA请求使能
- * @rmtoll DIER TDE FL_ATIM_EnableDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableDMAReq_Trigger(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_TDE_Msk);
- }
- /**
- * @brief 读取外部触发DMA请求使能状态
- * @rmtoll DIER TDE FL_ATIM_IsEnabledDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledDMAReq_Trigger(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_TDE_Msk) == ATIM_DIER_TDE_Msk);
- }
- /**
- * @brief 外部触发DMA请求禁用
- * @rmtoll DIER TDE FL_ATIM_DisableDMAReq_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableDMAReq_Trigger(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_TDE_Msk);
- }
- /**
- * @brief COM事件DMA请求使能
- * @note
- * @rmtoll DIER COMDE FL_ATIM_EnableDMAReq_COM
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableDMAReq_COM(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_COMDE_Msk);
- }
- /**
- * @brief 读取COM事件DMA请求使能状态
- * @note
- * @rmtoll DIER COMDE FL_ATIM_IsEnabledDMAReq_COM
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledDMAReq_COM(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_COMDE_Msk) == ATIM_DIER_COMDE_Msk);
- }
- /**
- * @brief COM事件DMA请求禁用
- * @note
- * @rmtoll DIER COMDE FL_ATIM_DisableDMAReq_COM
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableDMAReq_COM(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_COMDE_Msk);
- }
- /**
- * @brief 捕捉比较通道的DMA请求使能
- * @rmtoll DIER CCDE FL_ATIM_EnableDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableDMAReq_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CCDE_Msk << channel);
- }
- /**
- * @brief 读取捕捉比较通道的DMA请求使能
- * @rmtoll DIER CCDE FL_ATIM_IsEnabledDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledDMAReq_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, (ATIM_DIER_CCDE_Msk << channel)) == (ATIM_DIER_CCDE_Msk << channel));
- }
- /**
- * @brief 捕捉比较通道的DMA请求禁用
- * @rmtoll DIER CCDE FL_ATIM_DisableDMAReq_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableDMAReq_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CCDE_Msk << channel);
- }
- /**
- * @brief 更新事件DMA请求使能
- * @rmtoll DIER UDE FL_ATIM_EnableDMAReq_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableDMAReq_Update(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_UDE_Msk);
- }
- /**
- * @brief 读取更新事件DMA请求使能状态
- * @rmtoll DIER UDE FL_ATIM_IsEnabledDMAReq_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledDMAReq_Update(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_UDE_Msk) == ATIM_DIER_UDE_Msk);
- }
- /**
- * @brief 更新事件DMA请求禁用
- * @rmtoll DIER UDE FL_ATIM_DisableDMAReq_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableDMAReq_Update(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_UDE_Msk);
- }
- /**
- * @brief 刹车事件中断使能
- * @note
- * @rmtoll DIER BIE FL_ATIM_EnableIT_Break
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableIT_Break(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_BIE_Msk);
- }
- /**
- * @brief 读取刹车事件中断使能状态
- * @note
- * @rmtoll DIER BIE FL_ATIM_IsEnabledIT_Break
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledIT_Break(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_BIE_Msk) == ATIM_DIER_BIE_Msk);
- }
- /**
- * @brief 刹车事件中断禁用
- * @note
- * @rmtoll DIER BIE FL_ATIM_DisableIT_Break
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableIT_Break(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_BIE_Msk);
- }
- /**
- * @brief 触发事件中断使能
- * @rmtoll DIER TIE FL_ATIM_EnableIT_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableIT_Trigger(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_TIE_Msk);
- }
- /**
- * @brief 读取触发事件中断使能
- * @rmtoll DIER TIE FL_ATIM_IsEnabledIT_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledIT_Trigger(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_TIE_Msk) == ATIM_DIER_TIE_Msk);
- }
- /**
- * @brief 触发事件中断禁用
- * @rmtoll DIER TIE FL_ATIM_DisableIT_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableIT_Trigger(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_TIE_Msk);
- }
- /**
- * @brief COM事件中断使能
- * @note
- * @rmtoll DIER COMIE FL_ATIM_EnableIT_COM
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableIT_COM(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_COMIE_Msk);
- }
- /**
- * @brief 读取COM事件中断使能状态
- * @note
- * @rmtoll DIER COMIE FL_ATIM_IsEnabledIT_COM
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledIT_COM(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_COMIE_Msk) == ATIM_DIER_COMIE_Msk);
- }
- /**
- * @brief COM事件中断禁用
- * @note
- * @rmtoll DIER COMIE FL_ATIM_DisableIT_COM
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableIT_COM(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_COMIE_Msk);
- }
- /**
- * @brief 捕捉/比较通道中断使能
- * @rmtoll DIER CCIE FL_ATIM_EnableIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableIT_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_CCIE_Msk << channel);
- }
- /**
- * @brief 读取捕捉/比较通道中断使能状态
- * @rmtoll DIER CCIE FL_ATIM_IsEnabledIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledIT_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, (ATIM_DIER_CCIE_Msk << channel)) == (ATIM_DIER_CCIE_Msk << channel));
- }
- /**
- * @brief 捕捉/比较通道中断禁用
- * @rmtoll DIER CCIE FL_ATIM_DisableIT_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableIT_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_CCIE_Msk << channel);
- }
- /**
- * @brief 更新事件中断使能
- * @rmtoll DIER UIE FL_ATIM_EnableIT_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableIT_Update(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->DIER, ATIM_DIER_UIE_Msk);
- }
- /**
- * @brief 读取更新事件中断使能状态
- * @rmtoll DIER UIE FL_ATIM_IsEnabledIT_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledIT_Update(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DIER, ATIM_DIER_UIE_Msk) == ATIM_DIER_UIE_Msk);
- }
- /**
- * @brief 更新事件中断禁用
- * @rmtoll DIER UIE FL_ATIM_DisableIT_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableIT_Update(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->DIER, ATIM_DIER_UIE_Msk);
- }
- /**
- * @brief 捕捉/比较通道的Overcapture中断标志
- * @rmtoll ISR CCOF FL_ATIM_IsActiveFlag_CCOverflow
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_CCOverflow(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, (ATIM_ISR_CCOF_Msk << channel)) == (ATIM_ISR_CCOF_Msk << channel));
- }
- /**
- * @brief 清除Overcapture中断标志
- * @rmtoll ISR CCOF FL_ATIM_ClearFlag_CCOverflow
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_CCOverflow(ATIM_Type *TIMx, uint32_t channel)
- {
- WRITE_REG(TIMx->ISR, (ATIM_ISR_CCOF_Msk << channel));
- }
- /**
- * @brief 读取刹车事件中断标志
- * @note
- * @rmtoll ISR BIF FL_ATIM_IsActiveFlag_Break
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_Break(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ATIM_ISR_BIF_Msk) == (ATIM_ISR_BIF_Msk));
- }
- /**
- * @brief 清除刹车事件中断标志
- * @note
- * @rmtoll ISR BIF FL_ATIM_ClearFlag_Break
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_Break(ATIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, ATIM_ISR_BIF_Msk);
- }
- /**
- * @brief 触发事件中断标志
- * @rmtoll ISR TIF FL_ATIM_IsActiveFlag_Trigger
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_Trigger(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ATIM_ISR_TIF_Msk) == (ATIM_ISR_TIF_Msk));
- }
- /**
- * @brief 清除触发事件中断标志
- * @rmtoll ISR TIF FL_ATIM_ClearFlag_Trigger
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_Trigger(ATIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, ATIM_ISR_TIF_Msk);
- }
- /**
- * @brief 读取COM事件中断标志
- * @note
- * @rmtoll ISR COMIF FL_ATIM_IsActiveFlag_COM
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_COM(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ATIM_ISR_COMIF_Msk) == (ATIM_ISR_COMIF_Msk));
- }
- /**
- * @brief 清除COM事件中断标志
- * @note
- * @rmtoll ISR COMIF FL_ATIM_ClearFlag_COM
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_COM(ATIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, ATIM_ISR_COMIF_Msk);
- }
- /**
- * @brief 读取捕捉/比较通道中断标志
- * @rmtoll ISR CCIF FL_ATIM_IsActiveFlag_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, (ATIM_ISR_CCIF_Msk << channel)) == (ATIM_ISR_CCIF_Msk << channel));
- }
- /**
- * @brief 清除捕捉/比较通道中断标志
- * @rmtoll ISR CCIF FL_ATIM_ClearFlag_CC
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_CC(ATIM_Type *TIMx, uint32_t channel)
- {
- WRITE_REG(TIMx->ISR, (ATIM_ISR_CCIF_Msk << channel));
- }
- /**
- * @brief 读取更新事件中断标志
- * @rmtoll ISR UIF FL_ATIM_IsActiveFlag_Update
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsActiveFlag_Update(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ISR, ATIM_ISR_UIF_Msk) == (ATIM_ISR_UIF_Msk));
- }
- /**
- * @brief 清除更新事件中断标志
- * @rmtoll ISR UIF FL_ATIM_ClearFlag_Update
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_ClearFlag_Update(ATIM_Type *TIMx)
- {
- WRITE_REG(TIMx->ISR, ATIM_ISR_UIF_Msk);
- }
- /**
- * @brief 软件刹车使能
- * @note
- * @rmtoll EGR BG FL_ATIM_GenerateBreakEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_GenerateBreakEvent(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, ATIM_EGR_BG_Msk);
- }
- /**
- * @brief 软件触发使能
- * @rmtoll EGR TG FL_ATIM_GenerateTriggerEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_GenerateTriggerEvent(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, ATIM_EGR_TG_Msk);
- }
- /**
- * @brief 软件COM事件使能
- * @note
- * @rmtoll EGR COMG FL_ATIM_GenerateCOMEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_GenerateCOMEvent(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, ATIM_EGR_COMG_Msk);
- }
- /**
- * @brief 捕捉/比较通道软件触发使能
- * @rmtoll EGR CCG FL_ATIM_GenerateCCEvent
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_GenerateCCEvent(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->EGR, ATIM_EGR_CCG_Msk << channel);
- }
- /**
- * @brief 软件更新事件使能
- * @rmtoll EGR UG FL_ATIM_GenerateUpdateEvent
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_GenerateUpdateEvent(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->EGR, ATIM_EGR_UG_Msk);
- }
- /**
- * @brief 设置计数器值
- * @rmtoll CNT FL_ATIM_WriteCounter
- * @param TIMx TIM instance
- * @param counter
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteCounter(ATIM_Type *TIMx, uint32_t counter)
- {
- MODIFY_REG(TIMx->CNT, (0xffffU << 0U), (counter << 0U));
- }
- /**
- * @brief 读取计数器值
- * @rmtoll CNT FL_ATIM_ReadCounter
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadCounter(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CNT, 0xffffU) >> 0U);
- }
- /**
- * @brief 设置计数器时钟预分频值
- * @rmtoll PSC FL_ATIM_WritePrescaler
- * @param TIMx TIM instance
- * @param psc
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WritePrescaler(ATIM_Type *TIMx, uint32_t psc)
- {
- MODIFY_REG(TIMx->PSC, (0xffffU << 0U), (psc << 0U));
- }
- /**
- * @brief 读取计数器时钟预分频值
- * @rmtoll PSC FL_ATIM_ReadPrescaler
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadPrescaler(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->PSC, 0xffffU) >> 0U);
- }
- /**
- * @brief 设置计数溢出时的自动重载值
- * @rmtoll ARR FL_ATIM_WriteAutoReload
- * @param TIMx TIM instance
- * @param autoReload
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteAutoReload(ATIM_Type *TIMx, uint32_t autoReload)
- {
- MODIFY_REG(TIMx->ARR, (0xffffU << 0U), (autoReload << 0U));
- }
- /**
- * @brief 读取计数溢出时的自动重载值
- * @rmtoll ARR FL_ATIM_ReadAutoReload
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadAutoReload(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->ARR, 0xffffU) >> 0U);
- }
- /**
- * @brief 捕捉/比较通道1寄存器配置
- * @rmtoll CCR1 FL_ATIM_WriteCompareCH1
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteCompareCH1(ATIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR1, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief 读取捕捉/比较通道1寄存器值
- * @rmtoll CCR1 FL_ATIM_ReadCompareCH1
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadCompareCH1(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR1, 0xffffU) >> 0U);
- }
- /**
- * @brief 捕捉/比较通道2寄存器配置
- * @rmtoll CCR2 FL_ATIM_WriteCompareCH2
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteCompareCH2(ATIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR2, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief 读取捕捉/比较通道2寄存器值
- * @rmtoll CCR2 FL_ATIM_ReadCompareCH2
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadCompareCH2(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR2, 0xffffU) >> 0U);
- }
- /**
- * @brief 捕捉/比较通道3寄存器配置
- * @rmtoll CCR3 FL_ATIM_WriteCompareCH3
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteCompareCH3(ATIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR3, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief 读取捕捉/比较通道3寄存器值
- * @rmtoll CCR3 FL_ATIM_ReadCompareCH3
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadCompareCH3(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR3, 0xffffU) >> 0U);
- }
- /**
- * @brief 捕捉/比较通道4寄存器配置
- * @rmtoll CCR4 FL_ATIM_WriteCompareCH4
- * @param TIMx TIM instance
- * @param compareValue
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteCompareCH4(ATIM_Type *TIMx, uint32_t compareValue)
- {
- MODIFY_REG(TIMx->CCR4, (0xffffU << 0U), (compareValue << 0U));
- }
- /**
- * @brief 读取捕捉/比较通道4寄存器值
- * @rmtoll CCR4 FL_ATIM_ReadCompareCH4
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadCompareCH4(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->CCR4, 0xffffU) >> 0U);
- }
- /**
- * @brief 设置DMA Burst长度
- * @rmtoll DCR DBL FL_ATIM_SetDMABurstLength
- * @param TIMx TIM instance
- * @param length This parameter can be one of the following values:
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_1
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_2
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_3
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_4
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_5
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_6
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_7
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_8
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_9
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_10
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_11
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_12
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_13
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_14
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_15
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_16
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_17
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_18
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetDMABurstLength(ATIM_Type *TIMx, uint32_t length)
- {
- MODIFY_REG(TIMx->DCR, ATIM_DCR_DBL_Msk, length);
- }
- /**
- * @brief 读取DMA Burst长度
- * @rmtoll DCR DBL FL_ATIM_GetDMABurstLength
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_1
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_2
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_3
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_4
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_5
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_6
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_7
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_8
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_9
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_10
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_11
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_12
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_13
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_14
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_15
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_16
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_17
- * @arg @ref FL_ATIM_DMA_BURST_LENGTH_18
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetDMABurstLength(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DCR, ATIM_DCR_DBL_Msk));
- }
- /**
- * @brief 设置指向DMA寄存器的偏移地址
- * @rmtoll DCR DBA FL_ATIM_SetDMABurstAddress
- * @param TIMx TIM instance
- * @param address This parameter can be one of the following values:
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_SMCR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_DIER
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_SR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_EGR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCMR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCMR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCER
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CNT
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_PSC
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_ARR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_RCR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR3
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR4
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_BDTR
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetDMABurstAddress(ATIM_Type *TIMx, uint32_t address)
- {
- MODIFY_REG(TIMx->DCR, ATIM_DCR_DBA_Msk, address);
- }
- /**
- * @brief 读取指向DMA寄存器的偏移地址
- * @rmtoll DCR DBA FL_ATIM_GetDMABurstAddress
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_SMCR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_DIER
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_SR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_EGR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCMR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCMR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCER
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CNT
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_PSC
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_ARR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_RCR
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR1
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR2
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR3
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_CCR4
- * @arg @ref FL_ATIM_DMA_BURST_ADDR_BDTR
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetDMABurstAddress(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DCR, ATIM_DCR_DBA_Msk));
- }
- /**
- * @brief 配置DMA burst访问寄存器
- * @rmtoll DMAR FL_ATIM_WriteDMAAddress
- * @param TIMx TIM instance
- * @param address
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteDMAAddress(ATIM_Type *TIMx, uint32_t address)
- {
- MODIFY_REG(TIMx->DMAR, (0xffffU << 0U), (address << 0U));
- }
- /**
- * @brief 读取DMA burst访问寄存器值
- * @rmtoll DMAR FL_ATIM_ReadDMAAddress
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadDMAAddress(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->DMAR, 0xffffU) >> 0U);
- }
- /**
- * @brief 输出比较清零使能
- * @rmtoll CCMR OCCE FL_ATIM_OC_EnableClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_EnableClear(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- SET_BIT(TIMx->CCMR1, (ATIM_CCMR_OCCE_Msk << (channel * 8)));
- }
- else
- {
- SET_BIT(TIMx->CCMR2, (ATIM_CCMR_OCCE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 读取输出比较清零使能状态
- * @rmtoll CCMR OCCE FL_ATIM_OC_IsEnabledClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_IsEnabledClear(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_OCCE_Msk << (channel * 8))) == (ATIM_CCMR_OCCE_Msk << (channel * 8)));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_OCCE_Msk << ((channel - 2) * 8))) == (ATIM_CCMR_OCCE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 输出比较清零禁用
- * @rmtoll CCMR OCCE FL_ATIM_OC_DisableClear
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_DisableClear(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- CLEAR_BIT(TIMx->CCMR1, (ATIM_CCMR_OCCE_Msk << (channel * 8)));
- }
- else
- {
- CLEAR_BIT(TIMx->CCMR2, (ATIM_CCMR_OCCE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 输出比较模式配置
- * @rmtoll CCMR OCM FL_ATIM_OC_SetMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OC_MODE_FROZEN
- * @arg @ref FL_ATIM_OC_MODE_ACTIVE
- * @arg @ref FL_ATIM_OC_MODE_INACTIVE
- * @arg @ref FL_ATIM_OC_MODE_TOGGLE
- * @arg @ref FL_ATIM_OC_MODE_FORCED_INACTIVE
- * @arg @ref FL_ATIM_OC_MODE_FORCED_ACTIVE
- * @arg @ref FL_ATIM_OC_MODE_PWM1
- * @arg @ref FL_ATIM_OC_MODE_PWM2
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_SetMode(ATIM_Type *TIMx, uint32_t mode, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- MODIFY_REG(TIMx->CCMR1, (ATIM_CCMR_OCM_Msk << (channel * 8)), (mode << (channel * 8)));
- }
- else
- {
- MODIFY_REG(TIMx->CCMR2, (ATIM_CCMR_OCM_Msk << ((channel - 2) * 8)), (mode << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 读取输出比较模式配置值
- * @rmtoll CCMR OCM FL_ATIM_OC_GetMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OC_MODE_FROZEN
- * @arg @ref FL_ATIM_OC_MODE_ACTIVE
- * @arg @ref FL_ATIM_OC_MODE_INACTIVE
- * @arg @ref FL_ATIM_OC_MODE_TOGGLE
- * @arg @ref FL_ATIM_OC_MODE_FORCED_INACTIVE
- * @arg @ref FL_ATIM_OC_MODE_FORCED_ACTIVE
- * @arg @ref FL_ATIM_OC_MODE_PWM1
- * @arg @ref FL_ATIM_OC_MODE_PWM2
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_GetMode(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_OCM_Msk << (channel * 8))));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_OCM_Msk << ((channel - 2) * 8))));
- }
- }
- /**
- * @brief 输出比较预装载使能
- * @rmtoll CCMR OCPE FL_ATIM_OC_EnablePreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_EnablePreload(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- SET_BIT(TIMx->CCMR1, (ATIM_CCMR_OCPE_Msk << (channel * 8)));
- }
- else
- {
- SET_BIT(TIMx->CCMR2, (ATIM_CCMR_OCPE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 读取输出比较预装载使能状态
- * @rmtoll CCMR OCPE FL_ATIM_OC_IsEnabledPreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_IsEnabledPreload(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_OCPE_Msk << (channel * 8))) == (ATIM_CCMR_OCPE_Msk << (channel * 8)));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_OCPE_Msk << ((channel - 2) * 8))) == (ATIM_CCMR_OCPE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 输出比较预装载禁用
- * @rmtoll CCMR OCPE FL_ATIM_OC_DisablePreload
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_DisablePreload(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- CLEAR_BIT(TIMx->CCMR1, (ATIM_CCMR_OCPE_Msk << (channel * 8)));
- }
- else
- {
- CLEAR_BIT(TIMx->CCMR2, (ATIM_CCMR_OCPE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 输出比较快速使能
- * @rmtoll CCMR OCFE FL_ATIM_OC_EnableFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_EnableFastMode(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- SET_BIT(TIMx->CCMR1, (ATIM_CCMR_OCFE_Msk << (channel * 8)));
- }
- else
- {
- SET_BIT(TIMx->CCMR2, (ATIM_CCMR_OCFE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 获取输出比较快速使能状态
- * @rmtoll CCMR OCFE FL_ATIM_OC_IsEnabledFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_IsEnabledFastMode(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_OCFE_Msk << (channel * 8))) == (ATIM_CCMR_OCFE_Msk << (channel * 8)));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_OCFE_Msk << ((channel - 2) * 8))) == (ATIM_CCMR_OCFE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 输出比较快速禁用
- * @rmtoll CCMR OCFE FL_ATIM_OC_DisableFastMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_DisableFastMode(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- CLEAR_BIT(TIMx->CCMR1, (ATIM_CCMR_OCFE_Msk << (channel * 8)));
- }
- else
- {
- CLEAR_BIT(TIMx->CCMR2, (ATIM_CCMR_OCFE_Msk << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 设置输入捕捉滤波器
- * @rmtoll CCMR ICF FL_ATIM_IC_SetFilter
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_ATIM_IC_FILTER_DIV1
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N8
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_SetFilter(ATIM_Type *TIMx, uint32_t filter, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- MODIFY_REG(TIMx->CCMR1, (ATIM_CCMR_ICF_Msk << (channel * 8)), (filter << (channel * 8)));
- }
- else
- {
- MODIFY_REG(TIMx->CCMR2, (ATIM_CCMR_ICF_Msk << ((channel - 2) * 8)), (filter << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 读取输入滤波器值
- * @rmtoll CCMR ICF FL_ATIM_IC_GetFilter
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_IC_FILTER_DIV1
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_IC_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_IC_FILTER_DIV32_N8
- */
- __STATIC_INLINE uint32_t FL_ATIM_IC_GetFilter(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_ICF_Msk << (channel * 8))));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_ICF_Msk << ((channel - 2) * 8))));
- }
- }
- /**
- * @brief 设置输入捕捉预分频
- * @rmtoll CCMR ICPSC FL_ATIM_IC_SetPrescaler
- * @param TIMx TIM instance
- * @param psc This parameter can be one of the following values:
- * @arg @ref FL_ATIM_IC_PSC_DIV1
- * @arg @ref FL_ATIM_IC_PSC_DIV2
- * @arg @ref FL_ATIM_IC_PSC_DIV4
- * @arg @ref FL_ATIM_IC_PSC_DIV8
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_SetPrescaler(ATIM_Type *TIMx, uint32_t psc, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- MODIFY_REG(TIMx->CCMR1, (ATIM_CCMR_ICPSC_Msk << (channel * 8)), (psc << (channel * 8)));
- }
- else
- {
- MODIFY_REG(TIMx->CCMR2, (ATIM_CCMR_ICPSC_Msk << ((channel - 2) * 8)), (psc << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 读取输入捕捉预分频值
- * @rmtoll CCMR ICPSC FL_ATIM_IC_GetPrescaler
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_IC_PSC_DIV1
- * @arg @ref FL_ATIM_IC_PSC_DIV2
- * @arg @ref FL_ATIM_IC_PSC_DIV4
- * @arg @ref FL_ATIM_IC_PSC_DIV8
- */
- __STATIC_INLINE uint32_t FL_ATIM_IC_GetPrescaler(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_ICPSC_Msk << (channel * 8))));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_ICPSC_Msk << ((channel - 2) * 8))));
- }
- }
- /**
- * @brief 捕捉/比较通道选择
- * @rmtoll CCMR CCS FL_ATIM_CC_SetChannelMode
- * @param TIMx TIM instance
- * @param mode This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_MODE_OUTPUT
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_NORMAL
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_CROSSOVER
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_TRC
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_CC_SetChannelMode(ATIM_Type *TIMx, uint32_t mode, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- MODIFY_REG(TIMx->CCMR1, (ATIM_CCMR_CCS_Msk << (channel * 8)), (mode << (channel * 8)));
- }
- else
- {
- MODIFY_REG(TIMx->CCMR2, (ATIM_CCMR_CCS_Msk << ((channel - 2) * 8)), (mode << ((channel - 2) * 8)));
- }
- }
- /**
- * @brief 获取捕捉/比较通道
- * @rmtoll CCMR CCS FL_ATIM_CC_GetChannelMode
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_MODE_OUTPUT
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_NORMAL
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_CROSSOVER
- * @arg @ref FL_ATIM_CHANNEL_MODE_INPUT_TRC
- */
- __STATIC_INLINE uint32_t FL_ATIM_CC_GetChannelMode(ATIM_Type *TIMx, uint32_t channel)
- {
- if(channel < FL_ATIM_CHANNEL_3)
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR1, (ATIM_CCMR_CCS_Msk << (channel * 8))));
- }
- else
- {
- return (uint32_t)(READ_BIT(TIMx->CCMR2, (ATIM_CCMR_CCS_Msk << ((channel - 2) * 8))));
- }
- }
- /**
- * @brief 设置捕捉/比较互补输出极性
- * @note
- * @rmtoll CCER CCNP FL_ATIM_OC_SetReverseChannelPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OCN_POLARITY_NORMAL
- * @arg @ref FL_ATIM_OCN_POLARITY_INVERT
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_SetReverseChannelPolarity(ATIM_Type *TIMx, uint32_t polarity, uint32_t channel)
- {
- MODIFY_REG(TIMx->CCER, (ATIM_CCER_CCNP_Msk << (channel * 4)), (polarity << (channel * 4)));
- }
- /**
- * @brief 读取捕捉/比较互补输出极性
- * @note
- * @rmtoll CCER CCNP FL_ATIM_OC_GetReverseChannelPolarty
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OCN_POLARITY_NORMAL
- * @arg @ref FL_ATIM_OCN_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_GetReverseChannelPolarity(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCNP_Msk << (channel * 4))));
- }
- /**
- * @brief 捕捉/比较互补输出使能
- * @note
- * @rmtoll CCER CCNE FL_ATIM_OC_EnableReverseChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_EnableReverseChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->CCER, (ATIM_CCER_CCNE_Msk << (channel * 4)));
- }
- /**
- * @brief 读取捕捉/比较互补输出使能状态
- * @note
- * @rmtoll CCER CCNE FL_ATIM_OC_IsEnabledReverseChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_IsEnabledReverseChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCNE_Msk << (channel * 4))) == (ATIM_CCER_CCNE_Msk << (channel * 4)));
- }
- /**
- * @brief 捕捉/比较互补输出禁用
- * @note
- * @rmtoll CCER CCNE FL_ATIM_OC_DisableReverseChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_DisableReverseChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->CCER, (ATIM_CCER_CCNE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输出时,设置捕捉/比较输出极性
- * @rmtoll CCER CCOP FL_ATIM_OC_SetChannelPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OC_POLARITY_NORMAL
- * @arg @ref FL_ATIM_OC_POLARITY_INVERT
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_SetChannelPolarity(ATIM_Type *TIMx, uint32_t polarity, uint32_t channel)
- {
- MODIFY_REG(TIMx->CCER, (ATIM_CCER_CCOP_Msk << (channel * 4)), (polarity << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输出时,读取捕捉/比较输出极性
- * @rmtoll CCER CCOP FL_ATIM_OC_GetChannelPolarity
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OC_POLARITY_NORMAL
- * @arg @ref FL_ATIM_OC_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_GetChannelPolarity(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCOP_Msk << (channel * 4))));
- }
- /**
- * @brief CC1通道配置为输入时,设置捕捉/比较输出极性
- * @rmtoll CCER CCIP FL_ATIM_IC_SetChannelPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_ATIM_IC_POLARITY_NORMAL
- * @arg @ref FL_ATIM_IC_POLARITY_INVERT
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_SetChannelPolarity(ATIM_Type *TIMx, uint32_t polarity, uint32_t channel)
- {
- MODIFY_REG(TIMx->CCER, (ATIM_CCER_CCIP_Msk << (channel * 4)), (polarity << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输入时,设置捕捉/比较输出极性
- * @rmtoll CCER CCIP FL_ATIM_IC_GetChannelPolarity
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_IC_POLARITY_NORMAL
- * @arg @ref FL_ATIM_IC_POLARITY_INVERT
- */
- __STATIC_INLINE uint32_t FL_ATIM_IC_GetChannelPolarity(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCIP_Msk << (channel * 4))));
- }
- /**
- * @brief CC1通道配置为输出时,捕捉/比较输出使能
- * @rmtoll CCER CCOE FL_ATIM_OC_EnableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_EnableChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->CCER, (ATIM_CCER_CCOE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输出时,读取捕捉/比较输出使能状态
- * @rmtoll CCER CCOE FL_ATIM_OC_IsEnabledChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_OC_IsEnabledChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCOE_Msk << (channel * 4))) == (ATIM_CCER_CCOE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输出时,捕捉/比较输出禁用
- * @rmtoll CCER CCOE FL_ATIM_OC_DisableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_OC_DisableChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->CCER, (ATIM_CCER_CCOE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输入时,捕捉/比较输出使能
- * @rmtoll CCER CCIE FL_ATIM_IC_EnableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_EnableChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- SET_BIT(TIMx->CCER, (ATIM_CCER_CCIE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输入时,读取捕捉/比较输出使能状态
- * @rmtoll CCER CCIE FL_ATIM_IC_IsEnabledChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IC_IsEnabledChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- return (uint32_t)(READ_BIT(TIMx->CCER, (ATIM_CCER_CCIE_Msk << (channel * 4))) == (ATIM_CCER_CCIE_Msk << (channel * 4)));
- }
- /**
- * @brief CC1通道配置为输入时,捕捉/比较输出禁用
- * @rmtoll CCER CCIE FL_ATIM_IC_DisableChannel
- * @param TIMx TIM instance
- * @param channel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_CHANNEL_1
- * @arg @ref FL_ATIM_CHANNEL_2
- * @arg @ref FL_ATIM_CHANNEL_3
- * @arg @ref FL_ATIM_CHANNEL_4
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_IC_DisableChannel(ATIM_Type *TIMx, uint32_t channel)
- {
- CLEAR_BIT(TIMx->CCER, (ATIM_CCER_CCIE_Msk << (channel * 4)));
- }
- /**
- * @brief 设置重复计数值
- * @note
- * @rmtoll RCR FL_ATIM_WriteRepetitionCounter
- * @param TIMx TIM instance
- * @param repeatCounter
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteRepetitionCounter(ATIM_Type *TIMx, uint32_t repeatCounter)
- {
- MODIFY_REG(TIMx->RCR, (0xffU << 0U), (repeatCounter << 0U));
- }
- /**
- * @brief 读取重复计数值
- * @note
- * @rmtoll RCR FL_ATIM_ReadRepetitionCounter
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadRepetitionCounter(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->RCR, 0xffU) >> 0U);
- }
- /**
- * @brief 主控输出使能
- * @note
- * @rmtoll BDTR MOE FL_ATIM_EnableALLOutput
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableALLOutput(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BDTR, ATIM_BDTR_MOE_Msk);
- }
- /**
- * @brief 读取主控输出使能状态
- * @note
- * @rmtoll BDTR MOE FL_ATIM_IsEnabledALLOutput
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledALLOutput(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_MOE_Msk) == ATIM_BDTR_MOE_Msk);
- }
- /**
- * @brief 主控输出禁用
- * @note
- * @rmtoll BDTR MOE FL_ATIM_DisableALLOutput
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableALLOutput(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BDTR, ATIM_BDTR_MOE_Msk);
- }
- /**
- * @brief 自动输出使能
- * @note
- * @rmtoll BDTR AOE FL_ATIM_EnableAutomaticOutput
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableAutomaticOutput(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BDTR, ATIM_BDTR_AOE_Msk);
- }
- /**
- * @brief 读取自动输出使能状态
- * @note
- * @rmtoll BDTR AOE FL_ATIM_IsEnabledAutomaticOutput
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledAutomaticOutput(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_AOE_Msk) == ATIM_BDTR_AOE_Msk);
- }
- /**
- * @brief 自动输出禁用
- * @note
- * @rmtoll BDTR AOE FL_ATIM_DisableAutomaticOutput
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableAutomaticOutput(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BDTR, ATIM_BDTR_AOE_Msk);
- }
- /**
- * @brief 设置刹车极性
- * @note
- * @rmtoll BDTR BKP FL_ATIM_SetBreakPolarity
- * @param TIMx TIM instance
- * @param polarity This parameter can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_POLARITY_LOW
- * @arg @ref FL_ATIM_BREAK_POLARITY_HIGH
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetBreakPolarity(ATIM_Type *TIMx, uint32_t polarity)
- {
- MODIFY_REG(TIMx->BDTR, ATIM_BDTR_BKP_Msk, polarity);
- }
- /**
- * @brief 读取刹车极性
- * @note
- * @rmtoll BDTR BKP FL_ATIM_GetBreakPolarity
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_POLARITY_LOW
- * @arg @ref FL_ATIM_BREAK_POLARITY_HIGH
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetBreakPolarity(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_BKP_Msk));
- }
- /**
- * @brief 刹车使能
- * @note
- * @rmtoll BDTR BKE FL_ATIM_EnableBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableBreak(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BDTR, ATIM_BDTR_BKE_Msk);
- }
- /**
- * @brief 读取刹车使能状态
- * @note
- * @rmtoll BDTR BKE FL_ATIM_IsEnabledBreak
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledBreak(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_BKE_Msk) == ATIM_BDTR_BKE_Msk);
- }
- /**
- * @brief 刹车禁用
- * @note
- * @rmtoll BDTR BKE FL_ATIM_DisableBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableBreak(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BDTR, ATIM_BDTR_BKE_Msk);
- }
- /**
- * @brief 运行状态下的输出关闭状态选择
- * @note
- * @rmtoll BDTR OSSR FL_ATIM_SetOffStateRun
- * @param TIMx TIM instance
- * @param state This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OSSR_DISABLE
- * @arg @ref FL_ATIM_OSSR_ENABLE
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetOffStateRun(ATIM_Type *TIMx, uint32_t state)
- {
- MODIFY_REG(TIMx->BDTR, ATIM_BDTR_OSSR_Msk, state);
- }
- /**
- * @brief 读取运行状态下的输出关闭状态选择
- * @note
- * @rmtoll BDTR OSSR FL_ATIM_GetOffStateRun
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OSSR_DISABLE
- * @arg @ref FL_ATIM_OSSR_ENABLE
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetOffStateRun(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_OSSR_Msk));
- }
- /**
- * @brief IDLE状态下的输出关闭状态选择
- * @note
- * @rmtoll BDTR OSSI FL_ATIM_SetOffStateIdle
- * @param TIMx TIM instance
- * @param state This parameter can be one of the following values:
- * @arg @ref FL_ATIM_OSSI_DISABLE
- * @arg @ref FL_ATIM_OSSI_ENABLE
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetOffStateIdle(ATIM_Type *TIMx, uint32_t state)
- {
- MODIFY_REG(TIMx->BDTR, ATIM_BDTR_OSSI_Msk, state);
- }
- /**
- * @brief IDLE状态下的输出关闭状态选择
- * @note
- * @rmtoll BDTR OSSI FL_ATIM_GetOffStateIdle
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_OSSI_DISABLE
- * @arg @ref FL_ATIM_OSSI_ENABLE
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetOffStateIdle(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_OSSI_Msk));
- }
- /**
- * @brief 设置寄存器写保护等级
- * @note
- * @rmtoll BDTR LOCK FL_ATIM_SetLockLevel
- * @param TIMx TIM instance
- * @param lockLevel This parameter can be one of the following values:
- * @arg @ref FL_ATIM_LOCK_LEVEL_OFF
- * @arg @ref FL_ATIM_LOCK_LEVEL_1
- * @arg @ref FL_ATIM_LOCK_LEVEL_2
- * @arg @ref FL_ATIM_LOCK_LEVEL_3
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetLockLevel(ATIM_Type *TIMx, uint32_t lockLevel)
- {
- MODIFY_REG(TIMx->BDTR, ATIM_BDTR_LOCK_Msk, lockLevel);
- }
- /**
- * @brief 读取寄存器写保护配置状态
- * @note
- * @rmtoll BDTR LOCK FL_ATIM_GetLockLevel
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_LOCK_LEVEL_OFF
- * @arg @ref FL_ATIM_LOCK_LEVEL_1
- * @arg @ref FL_ATIM_LOCK_LEVEL_2
- * @arg @ref FL_ATIM_LOCK_LEVEL_3
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetLockLevel(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, ATIM_BDTR_LOCK_Msk));
- }
- /**
- * @brief 设置死区时间长度
- * @note
- * @rmtoll BDTR DTG FL_ATIM_WriteDeadTime
- * @param TIMx TIM instance
- * @param deadTime
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_WriteDeadTime(ATIM_Type *TIMx, uint32_t deadTime)
- {
- MODIFY_REG(TIMx->BDTR, (0xffU << 0U), (deadTime << 0U));
- }
- /**
- * @brief 读取死区时间长度
- * @note
- * @rmtoll BDTR DTG FL_ATIM_ReadDeadTime
- * @param TIMx TIM instance
- * @retval
- */
- __STATIC_INLINE uint32_t FL_ATIM_ReadDeadTime(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BDTR, 0xffU) >> 0U);
- }
- /**
- * @brief 设置ATIM_BRK1引脚输入门控信号
- * @note
- * @rmtoll BKCR BRK1GATE FL_ATIM_SetBreak1GateState
- * @param TIMx TIM instance
- * @param state This parameter can be one of the following values:
- * @arg @ref FL_ATIM_BREAK1_GATE_LOW
- * @arg @ref FL_ATIM_BREAK1_GATE_AUTO
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetBreak1GateState(ATIM_Type *TIMx, uint32_t state)
- {
- MODIFY_REG(TIMx->BKCR, ATIM_BKCR_BRK1GATE_Msk, state);
- }
- /**
- * @brief 读取ATIM_BRK1引脚输入门控信号
- * @note
- * @rmtoll BKCR BRK1GATE FL_ATIM_GetBreak1GateState
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_BREAK1_GATE_LOW
- * @arg @ref FL_ATIM_BREAK1_GATE_AUTO
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetBreak1GateState(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_BRK1GATE_Msk));
- }
- /**
- * @brief 设置ATIM_BRK2引脚输入门控信号
- * @note
- * @rmtoll BKCR BRK2GATE FL_ATIM_SetBreak2GateState
- * @param TIMx TIM instance
- * @param state This parameter can be one of the following values:
- * @arg @ref FL_ATIM_BREAK2_GATE_LOW
- * @arg @ref FL_ATIM_BREAK2_GATE_AUTO
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetBreak2GateState(ATIM_Type *TIMx, uint32_t state)
- {
- MODIFY_REG(TIMx->BKCR, ATIM_BKCR_BRK2GATE_Msk, state);
- }
- /**
- * @brief 读取ATIM_BRK2引脚输入门控信号
- * @note
- * @rmtoll BKCR BRK2GATE FL_ATIM_GetBreak2GateState
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_BREAK2_GATE_LOW
- * @arg @ref FL_ATIM_BREAK2_GATE_AUTO
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetBreak2GateState(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_BRK2GATE_Msk));
- }
- /**
- * @brief 设置刹车信号的滤波时钟和长度选择
- * @note
- * @rmtoll BKCR BRKF FL_ATIM_SetBreakFilter
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N8
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetBreakFilter(ATIM_Type *TIMx, uint32_t filter)
- {
- MODIFY_REG(TIMx->BKCR, ATIM_BKCR_BRKF_Msk, filter);
- }
- /**
- * @brief 读取刹车信号的滤波时钟和长度选择
- * @note
- * @rmtoll BKCR BRKF FL_ATIM_GetBreakFilter
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N2
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N4
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV1_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV2_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV2_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV4_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV4_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV8_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV8_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N5
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV16_N8
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N5
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N6
- * @arg @ref FL_ATIM_BREAK_FILTER_DIV32_N8
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetBreakFilter(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_BRKF_Msk));
- }
- /**
- * @brief 刹车组合控制
- * @note
- * @rmtoll BKCR BRKCOMB FL_ATIM_SetBreakSignalCombination
- * @param TIMx TIM instance
- * @param filter This parameter can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_COMBINATION_OR
- * @arg @ref FL_ATIM_BREAK_COMBINATION_AND
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_SetBreakSignalCombination(ATIM_Type *TIMx, uint32_t filter)
- {
- MODIFY_REG(TIMx->BKCR, ATIM_BKCR_BRKCOMB_Msk, filter);
- }
- /**
- * @brief 读取刹车组合控制状态
- * @note
- * @rmtoll BKCR BRKCOMB FL_ATIM_GetBreakSignalCombination
- * @param TIMx TIM instance
- * @retval Returned value can be one of the following values:
- * @arg @ref FL_ATIM_BREAK_COMBINATION_OR
- * @arg @ref FL_ATIM_BREAK_COMBINATION_AND
- */
- __STATIC_INLINE uint32_t FL_ATIM_GetBreakSignalCombination(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_BRKCOMB_Msk));
- }
- /**
- * @brief XTHF停振检测刹车信号使能
- * @note
- * @rmtoll BKCR HFDET_BRKEN FL_ATIM_EnableHFDETBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableHFDETBreak(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BKCR, ATIM_BKCR_HFDET_BRKEN_Msk);
- }
- /**
- * @brief 读取XTHF停振检测刹车信号使能状态
- * @note
- * @rmtoll BKCR HFDET_BRKEN FL_ATIM_IsEnabledHFDETBreak
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledHFDETBreak(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_HFDET_BRKEN_Msk) == ATIM_BKCR_HFDET_BRKEN_Msk);
- }
- /**
- * @brief XTHF停振检测刹车信号禁用
- * @note
- * @rmtoll BKCR HFDET_BRKEN FL_ATIM_DisableHFDETBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableHFDETBreak(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BKCR, ATIM_BKCR_HFDET_BRKEN_Msk);
- }
- /**
- * @brief SVD刹车信号使能
- * @note
- * @rmtoll BKCR SVD_BRKEN FL_ATIM_EnableSVDBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableSVDBreak(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BKCR, ATIM_BKCR_SVD_BRKEN_Msk);
- }
- /**
- * @brief 读取SVD刹车信号使能状态
- * @note
- * @rmtoll BKCR SVD_BRKEN FL_ATIM_IsEnabledSVDBreak
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledSVDBreak(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_SVD_BRKEN_Msk) == ATIM_BKCR_SVD_BRKEN_Msk);
- }
- /**
- * @brief SVD刹车信号禁用
- * @note
- * @rmtoll BKCR SVD_BRKEN FL_ATIM_DisableSVDBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableSVDBreak(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BKCR, ATIM_BKCR_SVD_BRKEN_Msk);
- }
- /**
- * @brief 比较器输出刹车信号使能
- * @note
- * @rmtoll BKCR COMP_BRKEN FL_ATIM_EnableCOMPBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_EnableCOMPBreak(ATIM_Type *TIMx)
- {
- SET_BIT(TIMx->BKCR, ATIM_BKCR_COMP_BRKEN_Msk);
- }
- /**
- * @brief 读取比较器输出刹车信号使能状态
- * @note
- * @rmtoll BKCR COMP_BRKEN FL_ATIM_IsEnabledCOMPBreak
- * @param TIMx TIM instance
- * @retval State of bit (1 or 0).
- */
- __STATIC_INLINE uint32_t FL_ATIM_IsEnabledCOMPBreak(ATIM_Type *TIMx)
- {
- return (uint32_t)(READ_BIT(TIMx->BKCR, ATIM_BKCR_COMP_BRKEN_Msk) == ATIM_BKCR_COMP_BRKEN_Msk);
- }
- /**
- * @brief 比较器输出刹车信号禁用
- * @note
- * @rmtoll BKCR COMP_BRKEN FL_ATIM_DisableCOMPBreak
- * @param TIMx TIM instance
- * @retval None
- */
- __STATIC_INLINE void FL_ATIM_DisableCOMPBreak(ATIM_Type *TIMx)
- {
- CLEAR_BIT(TIMx->BKCR, ATIM_BKCR_COMP_BRKEN_Msk);
- }
- /**
- * @}
- */
- /** @defgroup ATIM_FL_EF_Init Initialization and de-initialization functions
- * @{
- */
- FL_ErrorStatus FL_ATIM_DeInit(ATIM_Type *TIMx);
- void FL_ATIM_StructInit(FL_ATIM_InitTypeDef *TIM_InitStruct);
- void FL_ATIM_SlaveModeStructInit(FL_ATIM_SlaveInitTypeDef *TIM_InitStruct);
- void FL_ATIM_IC_StructInit(FL_ATIM_IC_InitTypeDef *TIM_ICInitStruct);
- void FL_ATIM_OC_StructInit(FL_ATIM_OC_InitTypeDef *TIM_OC_InitStruct);
- void FL_ATIM_ETRStructInit(FL_ATIM_ETR_InitTypeDef *TIM_InitStruct);
- void FL_ATIM_BDTR_StructInit(FL_ATIM_BDTR_InitTypeDef *TIM_BDTR_InitStruct);
- FL_ErrorStatus FL_ATIM_Init(ATIM_Type *TIMx, FL_ATIM_InitTypeDef *TIM_InitStruct);
- FL_ErrorStatus FL_ATIM_IC_Init(ATIM_Type *TIMx, uint32_t Channel, FL_ATIM_IC_InitTypeDef *IC_InitStruct);
- FL_ErrorStatus FL_ATIM_ETR_Init(ATIM_Type *TIMx, FL_ATIM_ETR_InitTypeDef *TIM_InitStruct);
- FL_ErrorStatus FL_ATIM_SlaveMode_Init(ATIM_Type *TIMx, FL_ATIM_SlaveInitTypeDef *TIM_InitStruct);
- FL_ErrorStatus FL_ATIM_OC_Init(ATIM_Type *TIMx, uint32_t Channel, FL_ATIM_OC_InitTypeDef *TIM_OC_InitStruct);
- FL_ErrorStatus FL_ATIM_BDTR_Init(ATIM_Type *TIMx, FL_ATIM_BDTR_InitTypeDef *TIM_BDTR_InitStruct);
- /**
- * @}
- */
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __FM33LC0XX_FL_ATIM_H*/
- /*************************Py_Code_Generator Version: 0.1-0.11-0.1 @ 2020-09-12*************************/
- /********************** (C) COPYRIGHT Fudan Microelectronics **** END OF FILE ***********************/
|