12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033 |
- /**
- ******************************************************************************
- * @brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File..
- ******************************************************************************
- */
- /** @addtogroup CMSIS
- * @{
- */
- /** @addtogroup GD32f10X
- * @{
- */
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __GD32F10X_H
- #define __GD32F10X_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** @addtogroup Library_configuration_section
- * @{
- */
- /* Uncomment the line below according to the target gd32f10x device used in your
- application
- */
- #if !defined (GD32F10X_MD)&&!defined (GD32F10X_HD)&&!defined (GD32F10X_XD)&&!defined (GD32F10X_CL)
- /* #define GD32F10X_MD */ /*!< GD32F10X_MD: GD32 Medium density devices */
- #define GD32F10X_HD /*!< GD32F10X_HD: GD32 High density Value Line devices */
- /* #define GD32F10X_XD */ /*!< GD32F10X_XD: GD32 Extra density devices */
- /* #define GD32F10X_CL */ /*!< GD32F10X_CL: GD32 Connectivity line devices */
- #endif
- #if !defined (GD32F10X_MD)&&!defined (GD32F10X_HD)&&!defined (GD32F10X_XD)&&!defined (GD32F10X_CL)
- #error "Please select first the target gd32f10x device used in your application (in gd32f10x.h file)"
- #endif /* GD32F10X */
- #if !defined USE_STDPERIPH_DRIVER
- /**
- * @brief Comment the line below if you will not use the peripherals drivers.
- In this case, these drivers will not be included and the application code will
- be based on direct access to peripherals registers
- */
- /*#define USE_STDPERIPH_DRIVER*/
- #endif /* USE_STDPERIPH_DRIVER */
- /**
- * @brief In the following line adjust the value of External High Speed oscillator (HSE)
- used in your application
- Tip: To avoid modifying this file each time you need to use different HSE, you
- can define the HSE value in your toolchain compiler preprocessor.
- */
- #if !defined HSE_VALUE
- #ifdef GD32F10X_CL
- #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
- #else
- #define HSE_VALUE ((uint32_t)8000000) /* !< From 4M to 16M *!< Value of the External oscillator in Hz*/
- #endif /* HSE_VALUE */
- #endif
- #define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF) /*!< Time out for HSI start up */
- /* define value of high speed crystal oscillator (HXTAL) in Hz */
- #if !defined HXTAL_VALUE
- #define HXTAL_VALUE ((uint32_t)8000000) /* !< from 4M to 16M *!< value of the external oscillator in Hz*/
- #endif /* high speed crystal oscillator value */
- /* define startup timeout value of high speed crystal oscillator (HXTAL) */
- #if !defined (HXTAL_STARTUP_TIMEOUT)
- #define HXTAL_STARTUP_TIMEOUT ((uint16_t)0x0800)
- #endif /* high speed crystal oscillator startup timeout */
- /* define startup timeout value of internal 8MHz RC oscillator (IRC8M) */
- #if !defined (IRC8M_STARTUP_TIMEOUT)
- #define IRC8M_STARTUP_TIMEOUT ((uint16_t)0x0500)
- #endif /* internal 8MHz RC oscillator startup timeout */
- #if !defined (HSI_VALUE)
- #define HSI_VALUE ((uint32_t)8000000) /*!< Value of the Internal High Speed oscillator in Hz.
- The real value may vary depending on the variations
- in voltage and temperature. */
- #endif /* HSI_VALUE */
- /* define value of internal 48MHz RC oscillator (IRC48M) in Hz */
- #if !defined (IRC48M_VALUE)
- #define IRC48M_VALUE ((uint32_t)48000000)
- #endif /* internal 48MHz RC oscillator value */
- /* define value of internal 8MHz RC oscillator (IRC8M) in Hz */
- #if !defined (IRC8M_VALUE)
- #define IRC8M_VALUE ((uint32_t)8000000)
- #endif /* internal 8MHz RC oscillator value */
- #if !defined (LSI_VALUE)
- #define LSI_VALUE ((uint32_t)40000) /*!< Value of the Internal Low Speed oscillator in Hz
- The real value may vary depending on the variations
- in voltage and temperature. */
- #endif /* LSI_VALUE */
- #if !defined (LSE_VALUE)
- #define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */
- #endif /* LSE_VALUE */
- /**
- * @brief GD32F10X Firmware Library version number V1.0
- */
- #define __GD32F10X_STDPERIPH_VERSION_MAIN (0x01) /*!< [31:24] main version */
- #define __GD32F10X_STDPERIPH_VERSION_SUB1 (0x00) /*!< [23:16] sub1 version */
- #define __GD32F10X_STDPERIPH_VERSION_SUB2 (0x01) /*!< [15:8] sub2 version */
- #define __GD32F10X_STDPERIPH_VERSION_RC (0x00) /*!< [7:0] release candidate */
- #define __GD32F10X_STDPERIPH_VERSION ((__GD32F10X_STDPERIPH_VERSION_MAIN << 24)\
- |(__GD32F10X_STDPERIPH_VERSION_SUB1 << 16)\
- |(__GD32F10X_STDPERIPH_VERSION_SUB2 << 8)\
- |(__GD32F10X_STDPERIPH_VERSION_RC))
- /**
- * @}
- */
- /** @addtogroup Configuration_section_for_CMSIS
- * @{
- */
- /**
- * @brief Configuration of the Cortex-M3 Processor and Core Peripherals
- */
- #define __MPU_PRESENT 0 /*!< GD32 devices does not provide an MPU */
- #define __NVIC_PRIO_BITS 4 /*!< GD32F10X uses 4 Bits for the Priority Levels */
- #define __VENDOR_SYSTICKCONFIG 0 /*!< Set to 1 if different SysTick Config is used */
- /*!< Interrupt Number Definition */
- typedef enum IRQn {
- /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/
- NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
- MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */
- BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */
- UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */
- SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */
- DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */
- PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */
- SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */
- /****** GD32 specific Interrupt Numbers *********************************************************/
- WWDG_IRQn = 0, /*!< Window WatchDog Interrupt */
- LVD_IRQn = 1, /*!< PVD through EXTI Line detection Interrupt */
- TAMPER_IRQn = 2, /*!< Tamper Interrupt */
- RTC_IRQn = 3, /*!< RTC global Interrupt */
- FLASH_IRQn = 4, /*!< FLASH global Interrupt */
- RCC_IRQn = 5, /*!< RCC global Interrupt */
- EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */
- EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */
- EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */
- EXTI3_IRQn = 9, /*!< EXTI Line3 Interrupt */
- EXTI4_IRQn = 10, /*!< EXTI Line4 Interrupt */
- DMA1_Channel1_IRQn = 11, /*!< DMA1 Channel 1 global Interrupt */
- DMA1_Channel2_IRQn = 12, /*!< DMA1 Channel 2 global Interrupt */
- DMA1_Channel3_IRQn = 13, /*!< DMA1 Channel 3 global Interrupt */
- DMA1_Channel4_IRQn = 14, /*!< DMA1 Channel 4 global Interrupt */
- DMA1_Channel5_IRQn = 15, /*!< DMA1 Channel 5 global Interrupt */
- DMA1_Channel6_IRQn = 16, /*!< DMA1 Channel 6 global Interrupt */
- DMA1_Channel7_IRQn = 17, /*!< DMA1 Channel 7 global Interrupt */
- #ifdef GD32F10X_MD
- ADC0_1_IRQn = 18, /*!< ADC0 and ADC1 global Interrupt */
- USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */
- USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */
- CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */
- CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- TIMER0_BRK_IRQn = 24, /*!< TIMER0 Break Interrupt */
- TIMER0_UP_IRQn = 25, /*!< TIMER0 Update Interrupt */
- TIMER0_TRG_COM_IRQn = 26, /*!< TIMER0 Trigger and Commutation Interrupt */
- TIMER0_CC_IRQn = 27, /*!< TIMER0 Capture Compare Interrupt */
- TIMER1_IRQn = 28, /*!< TIMER1 global Interrupt */
- TIMER2_IRQn = 29, /*!< TIMER2 global Interrupt */
- TIMER3_IRQn = 30, /*!< TIMER3 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART1_IRQn = 37, /*!< USART1 global Interrupt */
- USART2_IRQn = 38, /*!< USART2 global Interrupt */
- USART3_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- USBWakeUp_IRQn = 42, /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */
- EXMC_IRQn = 48 /*!< EXMC global Interrupt */
- #endif /* GD32F10X_MD */
- #ifdef GD32F10X_HD
- ADC0_1_IRQn = 18, /*!< ADC0 and ADC1 global Interrupt */
- USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */
- USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */
- CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */
- CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- TIMER0_BRK_IRQn = 24, /*!< TIMER0 Break Interrupt */
- TIMER0_UP_IRQn = 25, /*!< TIMER0 Update Interrupt */
- TIMER0_TRG_COM_IRQn = 26, /*!< TIMER0 Trigger and Commutation Interrupt */
- TIMER0_CC_IRQn = 27, /*!< TIMER0 Capture Compare Interrupt */
- TIMER1_IRQn = 28, /*!< TIMER1 global Interrupt */
- TIMER2_IRQn = 29, /*!< TIMER2 global Interrupt */
- TIMER3_IRQn = 30, /*!< TIMER3 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART0_IRQn = 37, /*!< USART1 global Interrupt */
- USART1_IRQn = 38, /*!< USART2 global Interrupt */
- USART2_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- USBWakeUp_IRQn = 42, /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */
- TIMER7_BRK_IRQn = 43, /*!< TIMER7 Break Interrupt */
- TIMER7_UP_IRQn = 44, /*!< TIMER7 Update Interrupt */
- TIMER7_TRG_COM_IRQn = 45, /*!< TIMER7 Trigger and Commutation Interrupt */
- TIMER7_CC_IRQn = 46, /*!< TIMER7 Capture Compare Interrupt */
- ADC3_IRQn = 47, /*!< ADC3 global Interrupt */
- EXMC_IRQn = 48, /*!< EXMC global Interrupt */
- SDIO_IRQn = 49, /*!< SDIO global Interrupt */
- TIMER4_IRQn = 50, /*!< TIMER4 global Interrupt */
- SPI3_IRQn = 51, /*!< SPI3 global Interrupt */
- UART3_IRQn = 52, /*!< UART4 global Interrupt */
- UART4_IRQn = 53, /*!< UART5 global Interrupt */
- TIMER5_IRQn = 54, /*!< TIMER5 global Interrupt */
- TIMER6_IRQn = 55, /*!< TIMER6 global Interrupt */
- DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_5_IRQn = 59 /*!< DMA2 Channel 4 and Channel 5 global Interrupt */
- #endif /* GD32F10X_HD */
- #ifdef GD32F10X_XD
- ADC0_1_IRQn = 18, /*!< ADC0 and ADC1 global Interrupt */
- USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */
- USB_LP_CAN1_RX0_IRQn = 20, /*!< USB Device Low Priority or CAN1 RX0 Interrupts */
- CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */
- CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- TIMER0_BRK_TIMER8_IRQn = 24, /*!< TIMER0 Break Interrupt and TIMER8 global Interrupt */
- TIMER0_UP_TIMER9_IRQn = 25, /*!< TIMER0 Update Interrupt and TIMER9 global Interrupt */
- TIMER0_TRG_COM_TIMER10_IRQn = 26, /*!< TIMER0 Trigger and Commutation Interrupt and TIMER10 global interrupt */
- TIMER0_CC_IRQn = 27, /*!< TIMER0 Capture Compare Interrupt */
- TIMER1_IRQn = 28, /*!< TIMER1 global Interrupt */
- TIMER2_IRQn = 29, /*!< TIMER2 global Interrupt */
- TIMER3_IRQn = 30, /*!< TIMER3 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART1_IRQn = 37, /*!< USART1 global Interrupt */
- USART2_IRQn = 38, /*!< USART2 global Interrupt */
- USART3_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- USBWakeUp_IRQn = 42, /*!< USB Device WakeUp from suspend through EXTI Line Interrupt */
- TIMER7_BRK_TIMER11_IRQn = 43, /*!< TIMER7 Break Interrupt and TIMER11 global Interrupt */
- TIMER7_UP_TIMER12_IRQn = 44, /*!< TIMER7 Update Interrupt and TIMER12 global Interrupt */
- TIMER7_TRG_COM_TIMER13_IRQn = 45, /*!< TIMER7 Trigger and Commutation Interrupt and TIMER13 global interrupt */
- TIMER7_CC_IRQn = 46, /*!< TIMER7 Capture Compare Interrupt */
- ADC3_IRQn = 47, /*!< ADC3 global Interrupt */
- EXMC_IRQn = 48, /*!< EXMC global Interrupt */
- SDIO_IRQn = 49, /*!< SDIO global Interrupt */
- TIMER4_IRQn = 50, /*!< TIMER4 global Interrupt */
- SPI3_IRQn = 51, /*!< SPI3 global Interrupt */
- UART4_IRQn = 52, /*!< UART4 global Interrupt */
- UART5_IRQn = 53, /*!< UART5 global Interrupt */
- TIMER5_IRQn = 54, /*!< TIMER5 global Interrupt */
- TIMER6_IRQn = 55, /*!< TIMER6 global Interrupt */
- DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_5_IRQn = 59 /*!< DMA2 Channel 4 and Channel 5 global Interrupt */
- #endif /* GD32F10X_XD */
- #ifdef GD32F10X_CL
- ADC0_1_IRQn = 18, /*!< ADC0 and ADC1 global Interrupt */
- CAN1_TX_IRQn = 19, /*!< CAN1 TX Interrupts */
- CAN1_RX0_IRQn = 20, /*!< CAN1 RX0 Interrupts */
- CAN1_RX1_IRQn = 21, /*!< CAN1 RX1 Interrupt */
- CAN1_SCE_IRQn = 22, /*!< CAN1 SCE Interrupt */
- EXTI9_5_IRQn = 23, /*!< External Line[9:5] Interrupts */
- TIMER0_BRK_TIMER8_IRQn = 24, /*!< TIMER0 Break Interrupt and TIMER8 global Interrupt */
- TIMER0_UP_TIMER9_IRQn = 25, /*!< TIMER0 Update Interrupt and TIMER9 global Interrupt */
- TIMER0_TRG_COM_TIMER10_IRQn = 26, /*!< TIMER0 Trigger and Commutation Interrupt and TIMER10 global interrupt */
- TIMER0_CC_IRQn = 27, /*!< TIMER0 Capture Compare Interrupt */
- TIMER1_IRQn = 28, /*!< TIMER1 global Interrupt */
- TIMER2_IRQn = 29, /*!< TIMER2 global Interrupt */
- TIMER3_IRQn = 30, /*!< TIMER3 global Interrupt */
- I2C1_EV_IRQn = 31, /*!< I2C1 Event Interrupt */
- I2C1_ER_IRQn = 32, /*!< I2C1 Error Interrupt */
- I2C2_EV_IRQn = 33, /*!< I2C2 Event Interrupt */
- I2C2_ER_IRQn = 34, /*!< I2C2 Error Interrupt */
- SPI1_IRQn = 35, /*!< SPI1 global Interrupt */
- SPI2_IRQn = 36, /*!< SPI2 global Interrupt */
- USART1_IRQn = 37, /*!< USART1 global Interrupt */
- USART2_IRQn = 38, /*!< USART2 global Interrupt */
- USART3_IRQn = 39, /*!< USART3 global Interrupt */
- EXTI15_10_IRQn = 40, /*!< External Line[15:10] Interrupts */
- RTCAlarm_IRQn = 41, /*!< RTC Alarm through EXTI Line Interrupt */
- OTG_FS_WKUP_IRQn = 42, /*!< USB OTG FS WakeUp from suspend through EXTI Line Interrupt */
- TIMER7_BRK_TIMER11_IRQn = 43, /*!< TIMER7 Break Interrupt and TIMER11 global Interrupt */
- TIMER7_UP_TIMER12_IRQn = 44, /*!< TIMER7 Update Interrupt and TIMER12 global Interrupt */
- TIMER7_TRG_COM_TIMER13_IRQn = 45, /*!< TIMER7 Trigger and Commutation Interrupt and TIMER13 global interrupt */
- TIMER7_CC_IRQn = 46, /*!< TIMER7 Capture Compare Interrupt */
- ADC3_IRQn = 47, /*!< ADC3 global Interrupt */
- EXMC_IRQn = 48, /*!< EXMC global Interrupt */
- TIMER4_IRQn = 50, /*!< TIMER4 global Interrupt */
- SPI3_IRQn = 51, /*!< SPI3 global Interrupt */
- UART4_IRQn = 52, /*!< UART4 global Interrupt */
- UART5_IRQn = 53, /*!< UART5 global Interrupt */
- TIMER5_IRQn = 54, /*!< TIMER5 global Interrupt */
- TIMER6_IRQn = 55, /*!< TIMER6 global Interrupt */
- DMA2_Channel1_IRQn = 56, /*!< DMA2 Channel 1 global Interrupt */
- DMA2_Channel2_IRQn = 57, /*!< DMA2 Channel 2 global Interrupt */
- DMA2_Channel3_IRQn = 58, /*!< DMA2 Channel 3 global Interrupt */
- DMA2_Channel4_IRQn = 59, /*!< DMA2 Channel 4 global Interrupt */
- DMA2_Channel5_IRQn = 60, /*!< DMA2 Channel 5 global Interrupt */
- ETH_IRQn = 61, /*!< Ethernet global Interrupt */
- ETH_WKUP_IRQn = 62, /*!< Ethernet Wakeup through EXTI line Interrupt */
- CAN2_TX_IRQn = 63, /*!< CAN2 TX Interrupt */
- CAN2_RX0_IRQn = 64, /*!< CAN2 RX0 Interrupt */
- CAN2_RX1_IRQn = 65, /*!< CAN2 RX1 Interrupt */
- CAN2_SCE_IRQn = 66, /*!< CAN2 SCE Interrupt */
- OTG_FS_IRQn = 67 /*!< USB OTG FS global Interrupt */
- #endif /* GD32F10X_CL */
- } IRQn_Type;
- /**
- * @}
- */
- /* Includes ------------------------------------------------------------------*/
- #include "core_cm3.h"
- #include "system_gd32f10x.h"
- #include <stdint.h>
- /** @addtogroup Exported_types
- * @{
- */
- typedef enum {ERROR = 0, SUCCESS = !ERROR, RESET = 0, SET = !RESET, DISABLE = 0, ENABLE = !DISABLE} TypeState, EventStatus, ControlStatus, FlagStatus, ErrStatus;
- #define REG32(addr) (*(volatile uint32_t *)(uint32_t)(addr))
- #define REG16(addr) (*(volatile uint16_t *)(uint32_t)(addr))
- #define REG8(addr) (*(volatile uint8_t *)(uint32_t)(addr))
- #define BIT(x) ((uint32_t)((uint32_t)0x01U<<(x)))
- #define BITS(start, end) ((0xFFFFFFFFUL << (start)) & (0xFFFFFFFFUL >> (31U - (uint32_t)(end))))
- #define GET_BITS(regval, start, end) (((regval) & BITS((start),(end))) >> (start))
- typedef int32_t s32;
- typedef int16_t s16;
- typedef int8_t s8;
- typedef const int32_t sc32; /*!< Read Only */
- typedef const int16_t sc16; /*!< Read Only */
- typedef const int8_t sc8; /*!< Read Only */
- typedef __IO int32_t vs32;
- typedef __IO int16_t vs16;
- typedef __IO int8_t vs8;
- typedef __I int32_t vsc32; /*!< Read Only */
- typedef __I int16_t vsc16; /*!< Read Only */
- typedef __I int8_t vsc8; /*!< Read Only */
- typedef uint32_t u32;
- typedef uint16_t u16;
- typedef uint8_t u8;
- typedef const uint32_t uc32; /*!< Read Only */
- typedef const uint16_t uc16; /*!< Read Only */
- typedef const uint8_t uc8; /*!< Read Only */
- typedef __IO uint32_t vu32;
- typedef __IO uint16_t vu16;
- typedef __IO uint8_t vu8;
- typedef __I uint32_t vuc32; /*!< Read Only */
- typedef __I uint16_t vuc16; /*!< Read Only */
- typedef __I uint8_t vuc8; /*!< Read Only */
- /** @addtogroup Peripheral_registers_structures
- * @{
- */
- /**
- * @brief Analog to Digital Converter
- */
- typedef struct {
- __IO uint32_t STR;
- __IO uint32_t CTLR1;
- __IO uint32_t CTLR2;
- __IO uint32_t SPT1;
- __IO uint32_t SPT2;
- __IO uint32_t ICOS1;
- __IO uint32_t ICOS2;
- __IO uint32_t ICOS3;
- __IO uint32_t ICOS4;
- __IO uint32_t AWHT;
- __IO uint32_t AWLT;
- __IO uint32_t RSQ1;
- __IO uint32_t RSQ2;
- __IO uint32_t RSQ3;
- __IO uint32_t ISQ;
- __IO uint32_t IDTR1;
- __IO uint32_t IDTR2;
- __IO uint32_t IDTR3;
- __IO uint32_t IDTR4;
- __IO uint32_t RDTR;
- } ADC_TypeDef;
- /**
- * @brief Backup Registers
- */
- typedef struct {
- uint32_t RESERVED0;
- __IO uint16_t DR1;
- uint16_t RESERVED1;
- __IO uint16_t DR2;
- uint16_t RESERVED2;
- __IO uint16_t DR3;
- uint16_t RESERVED3;
- __IO uint16_t DR4;
- uint16_t RESERVED4;
- __IO uint16_t DR5;
- uint16_t RESERVED5;
- __IO uint16_t DR6;
- uint16_t RESERVED6;
- __IO uint16_t DR7;
- uint16_t RESERVED7;
- __IO uint16_t DR8;
- uint16_t RESERVED8;
- __IO uint16_t DR9;
- uint16_t RESERVED9;
- __IO uint16_t DR10;
- uint16_t RESERVED10;
- __IO uint16_t RCCR;
- uint16_t RESERVED11;
- __IO uint16_t TPCR;
- uint16_t RESERVED12;
- __IO uint16_t TIER;
- uint16_t RESERVED13[5];
- __IO uint16_t DR11;
- uint16_t RESERVED14;
- __IO uint16_t DR12;
- uint16_t RESERVED15;
- __IO uint16_t DR13;
- uint16_t RESERVED16;
- __IO uint16_t DR14;
- uint16_t RESERVED17;
- __IO uint16_t DR15;
- uint16_t RESERVED18;
- __IO uint16_t DR16;
- uint16_t RESERVED19;
- __IO uint16_t DR17;
- uint16_t RESERVED20;
- __IO uint16_t DR18;
- uint16_t RESERVED21;
- __IO uint16_t DR19;
- uint16_t RESERVED22;
- __IO uint16_t DR20;
- uint16_t RESERVED23;
- __IO uint16_t DR21;
- uint16_t RESERVED24;
- __IO uint16_t DR22;
- uint16_t RESERVED25;
- __IO uint16_t DR23;
- uint16_t RESERVED26;
- __IO uint16_t DR24;
- uint16_t RESERVED27;
- __IO uint16_t DR25;
- uint16_t RESERVED28;
- __IO uint16_t DR26;
- uint16_t RESERVED29;
- __IO uint16_t DR27;
- uint16_t RESERVED30;
- __IO uint16_t DR28;
- uint16_t RESERVED31;
- __IO uint16_t DR29;
- uint16_t RESERVED32;
- __IO uint16_t DR30;
- uint16_t RESERVED33;
- __IO uint16_t DR31;
- uint16_t RESERVED34;
- __IO uint16_t DR32;
- uint16_t RESERVED35;
- __IO uint16_t DR33;
- uint16_t RESERVED36;
- __IO uint16_t DR34;
- uint16_t RESERVED37;
- __IO uint16_t DR35;
- uint16_t RESERVED38;
- __IO uint16_t DR36;
- uint16_t RESERVED39;
- __IO uint16_t DR37;
- uint16_t RESERVED40;
- __IO uint16_t DR38;
- uint16_t RESERVED41;
- __IO uint16_t DR39;
- uint16_t RESERVED42;
- __IO uint16_t DR40;
- uint16_t RESERVED43;
- __IO uint16_t DR41;
- uint16_t RESERVED44;
- __IO uint16_t DR42;
- uint16_t RESERVED45;
- } BKP_TypeDef;
- /**
- * @brief Controller Area Network TxMailBox
- */
- typedef struct {
- __IO uint32_t TMIR; /*!< CAN transmit mailbox identifier register, Address offset: 0x180, 0x190, 0x1A0 */
- __IO uint32_t TMPR; /*!< CAN transmit mailbox property register, Address offset: 0x184, 0x194, 0x1A4 */
- __IO uint32_t TMD0R; /*!< CAN transmit mailbox data0 register, Address offset: 0x188, 0x198, 0x1A8 */
- __IO uint32_t TMD1R; /*!< CAN transmit mailbox data1 register, Address offset: 0x18C, 0x19C, 0x1AC */
- } CAN_TxMailBox_TypeDef;
- /**
- * @brief Controller Area Network FIFOMailBox
- */
- typedef struct {
- __IO uint32_t RFMIR; /*!< CAN receive FIFO mailbox identifier register, Address offset: 0x1B0, 0x1C0 */
- __IO uint32_t RFMPR; /*!< CAN receive FIFO mailbox property register, Address offset: 0x1B4, 0x1C4 */
- __IO uint32_t RFMD0R; /*!< CAN receive FIFO mailbox data0 register, Address offset: 0x1B8, 0x1C8 */
- __IO uint32_t RFMD1R; /*!< CAN receive FIFO mailbox data1 register, Address offset: 0x1BC, 0x1CC */
- } CAN_FIFOMailBox_TypeDef;
- /**
- * @brief Controller Area Network FilterRegister
- */
- typedef struct {
- __IO uint32_t FD0R; /*!< CAN filter x data 0 register */
- __IO uint32_t FD1R; /*!< CAN filter x data 1 register */
- } CAN_FilterRegister_TypeDef;
- /**
- * @brief Controller Area Network
- */
- typedef struct {
- __IO uint32_t CTLR; /*!< CAN control register, Address offset: 0x00 */
- __IO uint32_t STR; /*!< CAN status register, Address offset: 0x04 */
- __IO uint32_t TSTR; /*!< CAN transmit status register, Address offset: 0x08 */
- __IO uint32_t RFR0; /*!< CAN receive FIFO0 register, Address offset: 0x0C */
- __IO uint32_t RFR1; /*!< CAN receive FIFO0 register, Address offset: 0x10 */
- __IO uint32_t IER; /*!< CAN interrupt enable register, Address offset: 0x14 */
- __IO uint32_t ER; /*!< CAN error register, Address offset: 0x18 */
- __IO uint32_t BTR; /*!< CAN bit timing register, Address offset: 0x1C */
- uint32_t RESERVED0[88];
- CAN_TxMailBox_TypeDef TxMailBox[3];
- CAN_FIFOMailBox_TypeDef FIFOMailBox[2];
- uint32_t RESERVED1[12];
- __IO uint32_t FCTLR; /*!< CAN filter control register, Address offset: 0x200 */
- __IO uint32_t FMR; /*!< CAN filter mode register, Address offset: 0x204 */
- uint32_t RESERVED2;
- __IO uint32_t FSR; /*!< CAN filter scale register, Address offset: 0x20C */
- uint32_t RESERVED3;
- __IO uint32_t FAFR; /*!< CAN filter associated FIFO register, Address offset: 0x214 */
- uint32_t RESERVED4;
- __IO uint32_t FWR; /*!< CAN filter working register, Address offset: 0x21C */
- uint32_t RESERVED5[8];
- #ifndef GD32F10X_CL
- CAN_FilterRegister_TypeDef FilterRegister[14];
- #else
- CAN_FilterRegister_TypeDef FilterRegister[28];
- #endif /* GD32F10X_CL */
- } CAN_TypeDef;
- /**
- * @brief CRC calculation unit
- */
- typedef struct {
- __IO uint32_t DTR; /*!< CRC Data register, Address offset: 0x00 */
- __IO uint8_t FDTR; /*!< CRC Independent data register, Address offset: 0x04 */
- uint8_t RESERVED0; /*!< Reserved, 0x05 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint32_t CTLR; /*!< CRC Control register, Address offset: 0x08 */
- } CRC_TypeDef;
- /**
- * @brief Digital to Analog Converter
- */
- typedef struct {
- __IO uint32_t CTLR;
- __IO uint32_t SWTR;
- __IO uint32_t C1R12DHR;
- __IO uint32_t C1L12DHR;
- __IO uint32_t C1R8DHR;
- __IO uint32_t C2R12DHR;
- __IO uint32_t C2L12DHR;
- __IO uint32_t C2R8DHR;
- __IO uint32_t DCR12DHR;
- __IO uint32_t DCL12DHR;
- __IO uint32_t DCR8RD;
- __IO uint32_t C1ODR;
- __IO uint32_t C2ODR;
- } DAC_TypeDef;
- /**
- * @brief Debug MCU
- */
- typedef struct {
- __IO uint32_t IDR; /*!< MCU device ID code, Address offset: 0x00 */
- __IO uint32_t CTLR; /*!< Debug MCU CTLR freeze register, Address offset: 0x04 */
- } MCUDBG_TypeDef;
- /**
- * @brief DMA Controller
- */
- typedef struct {
- __IO uint32_t CTLR; /*!< DMA channel x configuration register */
- __IO uint32_t RCNT; /*!< DMA channel x number of data register */
- __IO uint32_t PBAR; /*!< DMA channel x peripheral address register */
- __IO uint32_t MBAR; /*!< DMA channel x memory address register */
- } DMA_Channel_TypeDef;
- typedef struct {
- __IO uint32_t IFR; /*!< DMA interrupt status register, Address offset: 0x00 */
- __IO uint32_t ICR; /*!< DMA interrupt flag clear register,Address offset: 0x04 */
- } DMA_TypeDef;
- typedef struct {
- __IO uint32_t CFR; /*!< Ethernet MAC configuration register, Address offset: 0x00 */
- __IO uint32_t FRMFR; /*!< Ethernet MAC frame filter register, Address offset: 0x04 */
- __IO uint32_t HLHR; /*!< Ethernet MAC hash list high register, Address offset: 0x08 */
- __IO uint32_t HLLR; /*!< Ethernet MAC hash list low register, Address offset: 0x0C */
- __IO uint32_t PHYAR; /*!< Ethernet MAC PHY address register, Address offset: 0x10 */
- __IO uint32_t PHYDR; /*!< Ethernet MAC PHY data register, Address offset: 0x14 */
- __IO uint32_t FCTLR; /*!< Ethernet MAC flow control register, Address offset: 0x18 */
- __IO uint32_t VLTR; /*!< Ethernet MAC VLAN tag register, Address offset: 0x1C */
- uint32_t RESERVED0[2]; /*!< Reserved, 0x24 */
- __IO uint32_t RWFFR; /*!< Ethernet MAC remote wakeup frame filter register, Address offset: 0x28 */
- __IO uint32_t WUMR; /*!< Ethernet MAC wake up management register, Address offset: 0x2C */
- uint32_t RESERVED1[2]; /*!< Reserved, 0x34 */
- __IO uint32_t ISR; /*!< Ethernet MAC interrupt status register, Address offset: 0x38 */
- __IO uint32_t IMR; /*!< Ethernet MAC interrupt mask register, Address offset: 0x3C */
- __IO uint32_t ADDR0HR; /*!< Ethernet MAC address 0 high register, Address offset: 0x40 */
- __IO uint32_t ADDR0LR; /*!< Ethernet MAC address 0 low register, Address offset: 0x44 */
- __IO uint32_t ADDR1HR; /*!< Ethernet MAC address 1 high register, Address offset: 0x48 */
- __IO uint32_t ADDR1LR; /*!< Ethernet MAC address 1 low register, Address offset: 0x4C */
- __IO uint32_t ADDR2HR; /*!< Ethernet MAC address 2 high register, Address offset: 0x50 */
- __IO uint32_t ADDR2LR; /*!< Ethernet MAC address 2 low register, Address offset: 0x54 */
- __IO uint32_t ADDR3HR; /*!< Ethernet MAC address 3 high register, Address offset: 0x58 */
- __IO uint32_t ADDR3LR; /*!< Ethernet MAC address 3 low register, Address offset: 0x5C */
- uint32_t RESERVED2[1032]; /*!< Reserved, 0x107C */
- __IO uint32_t FCTHR; /*!< Ethernet MAC flow control threshold register, Address offset: 0x1080 */
- } ETH_MAC_TypeDef;
- typedef struct {
- __IO uint32_t CTLR; /*!< Ethernet MSC control register, Address offset: 0x100 */
- __IO uint32_t RISR; /*!< Ethernet MSC receive interrupt status register, Address offset: 0x104 */
- __IO uint32_t TISR; /*!< Ethernet MSC transmit interrupt status register, Address offset: 0x108 */
- __IO uint32_t RIMR; /*!< Ethernet MSC receive interrupt mask register, Address offset: 0x10C */
- __IO uint32_t TIMR; /*!< Ethernet MSC transmit interrupt mask register, Address offset: 0x110 */
- uint32_t RESERVED3[14]; /*!< Reserved, 0x148 */
- __IO uint32_t SCCNT; /*!< Ethernet MSC transmitted good frames after a single collision counterregister, Address offset: 0x14C */
- __IO uint32_t MSCCNT; /*!< Ethernet MSC transmitted good frames after more than a single collision counterregister, Address offset: 0x150 */
- uint32_t RESERVED4[5]; /*!< Reserved, 0x164 */
- __IO uint32_t TGFCNT; /*!< Ethernet MSC transmitted good frames counter register, Address offset: 0x168 */
- uint32_t RESERVED5[10]; /*!< Reserved, 0x190 */
- __IO uint32_t RFCECNT; /*!< Ethernet MSC received frames with CRC error counter register, Address offset: 0x194 */
- __IO uint32_t RFAECNT; /*!< Ethernet MSC received frames with alignment error counter register, Address offset: 0x198 */
- uint32_t RESERVED6[10]; /*!< Reserved, 0x1C0 */
- __IO uint32_t RGUFCNT; /*!< Ethernet MSC received good unicast frames counter register, Address offset: 0x1C4 */
- } ETH_MSC_TypeDef;
- typedef struct {
- __IO uint32_t TSCTLR; /*!< Ethernet PTP time stamp control register, Address offset: 0x700 */
- __IO uint32_t SSINCR; /*!< Ethernet PTP subsecond increment register, Address offset: 0x704 */
- __IO uint32_t TMSHR; /*!< Ethernet PTP time stamp high register, Address offset: 0x708 */
- __IO uint32_t TMSLR; /*!< Ethernet PTP time stamp low register, Address offset: 0x70C */
- __IO uint32_t TMSHUR; /*!< Ethernet PTP time stamp high update register, Address offset: 0x710 */
- __IO uint32_t TMSLUR; /*!< Ethernet PTP time stamp low update register, Address offset: 0x714 */
- __IO uint32_t TSACNT; /*!< Ethernet PTP time stamp addend register, Address offset: 0x718 */
- __IO uint32_t ETHR; /*!< Ethernet PTP expected time high register, Address offset: 0x71C */
- __IO uint32_t ETLR; /*!< Ethernet PTP expected time low register, Address offset: 0x720 */
- } ETH_PTP_TypeDef;
- typedef struct {
- __IO uint32_t BCR; /*!< Ethernet DMA bus control register, Address offset: 0x1000 */
- __IO uint32_t TPER; /*!< Ethernet DMA transmit poll enable register, Address offset: 0x1004 */
- __IO uint32_t RPER; /*!< Ethernet DMA receive poll enable register, Address offset: 0x1008 */
- __IO uint32_t RDTAR; /*!< Ethernet DMA receive descriptor tab address register, Address offset: 0x100C */
- __IO uint32_t TDTAR; /*!< Ethernet DMA transmit descriptor tab address register, Address offset: 0x1010 */
- __IO uint32_t STR; /*!< Ethernet DMA status register, Address offset: 0x1014 */
- __IO uint32_t CTLR; /*!< Ethernet DMA control register, Address offset: 0x1018 */
- __IO uint32_t IER; /*!< Ethernet DMA interrupt enable register, Address offset: 0x1018 */
- __IO uint32_t MFBOCNT; /*!< Ethernet DMA missed frame and buffer overflow counter register, Address offset: 0x101C */
- uint32_t RESERVED7[9]; /*!< Reserved, 0x1044 */
- __IO uint32_t CTDAR; /*!< Ethernet DMA current transmit descriptor address register, Address offset: 0x1048 */
- __IO uint32_t CRDAR; /*!< Ethernet DMA current receive descriptor address register, Address offset: 0x104C */
- __IO uint32_t CTBAR; /*!< Ethernet DMA current transmit buffer address register, Address offset: 0x1050 */
- __IO uint32_t CRBAR; /*!< Ethernet DMA current receive buffer address register, Address offset: 0x1054 */
- } ETH_DMA_Typedef;
- /**
- * @brief External Interrupt/Event Controller
- */
- typedef struct {
- __IO uint32_t IER; /*!<EXTI Interrupt enable register, Address offset: 0x00 */
- __IO uint32_t EER; /*!<EXTI Event enable register, Address offset: 0x04 */
- __IO uint32_t RTE; /*!<EXTI Rising edge trigger enable register, Address offset: 0x08 */
- __IO uint32_t FTE; /*!<EXTI Falling edge trigger enable register, Address offset: 0x0C */
- __IO uint32_t SIE; /*!<EXTI Software interrupt event register, Address offset: 0x10 */
- __IO uint32_t PD; /*!<EXTI Pending register, Address offset: 0x14 */
- } EXTI_TypeDef;
- /**
- * @brief FMC Registers
- */
- typedef struct {
- __IO uint32_t RESR; /*!<FMC access control register, Address offset: 0x00 */
- __IO uint32_t UKEYR; /*!<FMC key register, Address offset: 0x04 */
- __IO uint32_t OBKEYR; /*!<FMC OBKEYR register, Address offset: 0x08 */
- __IO uint32_t CSR; /*!<FMC status register, Address offset: 0x0C */
- __IO uint32_t CMR; /*!<FMC control register, Address offset: 0x10 */
- __IO uint32_t AR; /*!<FMC address register, Address offset: 0x14 */
- __IO uint32_t RESERVED; /*!< Reserved, 0x18 */
- __IO uint32_t OPTR; /*!<FMC option bytes register, Address offset: 0x1C */
- __IO uint32_t WPR; /*!<FMC option bytes register, Address offset: 0x20 */
- uint32_t RESERVED1[8];
- __IO uint32_t UKEYR2;
- uint32_t RESERVED2;
- __IO uint32_t CSR2;
- __IO uint32_t CMR2;
- __IO uint32_t AR2;
- uint32_t RESERVED3[41];
- __IO uint32_t WSCR;
- __IO uint32_t RES_ID1;
- __IO uint32_t RES_ID2;
- } FMC_TypeDef;
- /**
- * @brief Option Bytes Registers
- */
- typedef struct {
- __IO uint16_t RDP; /*!<FMC option byte Read protection, Address offset: 0x00 */
- __IO uint16_t USER; /*!<FMC option byte user options, Address offset: 0x02 */
- uint16_t RESERVED0; /*!< Reserved, 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t WRP0; /*!<FMC option byte write protection 0, Address offset: 0x08 */
- __IO uint16_t WRP1; /*!<FMC option byte write protection 1, Address offset: 0x0C */
- __IO uint16_t WRP2; /*!<FMC option byte write protection 2, Address offset: 0x10 */
- __IO uint16_t WRP3; /*!<FMC option byte write protection 3, Address offset: 0x14 */
- } OB_TypeDef;
- /**
- * @brief External Memory Controller Bank1
- */
- typedef struct {
- __IO uint32_t SCTLR1;
- __IO uint32_t STR1;
- __IO uint32_t SCTLR2;
- __IO uint32_t STR2;
- __IO uint32_t SCTLR3;
- __IO uint32_t STR3;
- __IO uint32_t SCTLR4;
- __IO uint32_t STR4;
- } EXMC_Bank1_TypeDef;
- /**
- * @brief External Memory Controller Bank1_WT
- */
- typedef struct {
- __IO uint32_t SWTR1;
- uint32_t RESERVED0;
- __IO uint32_t SWTR2;
- uint32_t RESERVED1;
- __IO uint32_t SWTR3;
- uint32_t RESERVED2;
- __IO uint32_t SWTR4;
- } EXMC_Bank1_WT_TypeDef;
- /**
- * @brief External Memory Controller Bank2
- */
- typedef struct {
- __IO uint32_t CTLR2;
- __IO uint32_t SIR2;
- __IO uint32_t COMTR2;
- __IO uint32_t ATTR2;
- uint32_t RESERVED;
- __IO uint32_t ECCR2;
- } EXMC_Bank2_TypeDef;
- /**
- * @brief External Memory Controller Bank3
- */
- typedef struct {
- __IO uint32_t CTLR3;
- __IO uint32_t SIR3;
- __IO uint32_t COMTR3;
- __IO uint32_t ATTR3;
- uint32_t RESERVED;
- __IO uint32_t ECCR3;
- } EXMC_Bank3_TypeDef;
- /**
- * @brief External Memory Controller Bank4
- */
- typedef struct {
- __IO uint32_t CTLR4;
- __IO uint32_t SIR4;
- __IO uint32_t COMTR4;
- __IO uint32_t ATTR4;
- __IO uint32_t IOTR4;
- } EXMC_Bank4_TypeDef;
- typedef struct {
- __IO uint32_t CTLR1;
- __IO uint32_t CTLR2;
- __IO uint32_t DIR;
- __IO uint32_t DOR;
- __IO uint32_t BOR;
- __IO uint32_t BCR;
- __IO uint32_t LOCKR;
- } GPIO_TypeDef;
- typedef struct {
- __IO uint32_t AFIO_EVR;
- __IO uint32_t AFIO_PCFR1;
- __IO uint32_t AFIO_ESSR1;
- __IO uint32_t AFIO_ESSR2;
- __IO uint32_t AFIO_ESSR3;
- __IO uint32_t AFIO_ESSR4;
- uint32_t RESERVED0;
- __IO uint32_t AFIO_PCFR2;
- } AFIO_TypeDef;
- /**
- * @brief Inter Integrated Circuit Interface
- */
- typedef struct {
- __IO uint16_t CTLR1;
- uint16_t RESERVED0;
- __IO uint16_t CTLR2;
- uint16_t RESERVED1;
- __IO uint16_t AR1;
- uint16_t RESERVED2;
- __IO uint16_t AR2;
- uint16_t RESERVED3;
- __IO uint16_t DTR;
- uint16_t RESERVED4;
- __IO uint16_t STR1;
- uint16_t RESERVED5;
- __IO uint16_t STR2;
- uint16_t RESERVED6;
- __IO uint16_t CLKR;
- uint16_t RESERVED7;
- __IO uint16_t RTR;
- uint16_t RESERVED8;
- } I2C_TypeDef;
- /**
- * @brief Independent WATCHDOG
- */
- typedef struct {
- __IO uint32_t CTLR; /*!< IWDG Key register, Address offset: 0x00 */
- __IO uint32_t PSR; /*!< IWDG Prescaler register, Address offset: 0x04 */
- __IO uint32_t RLDR; /*!< IWDG Reload register, Address offset: 0x08 */
- __IO uint32_t STR; /*!< IWDG Status register, Address offset: 0x0C */
- } IWDG_TypeDef;
- /**
- * @brief Power Control
- */
- typedef struct {
- __IO uint32_t CTLR; /*!< PWR power control register, Address offset: 0x00 */
- __IO uint32_t STR; /*!< PWR power status register, Address offset: 0x04 */
- } PWR_TypeDef;
- /**
- * @brief Reset and Clock Control
- */
- /**
- * @brief Reset and Clock Control
- */
- typedef struct {
- __IO uint32_t GCCR; /*!< RCC clock control register, Address offset: 0x00 */
- __IO uint32_t GCFGR; /*!< RCC clock configuration register, Address offset: 0x04 */
- __IO uint32_t GCIR; /*!< RCC clock interrupt register, Address offset: 0x08 */
- __IO uint32_t APB2RCR; /*!< RCC APB2 peripheral reset register, Address offset: 0x0C */
- __IO uint32_t APB1RCR; /*!< RCC APB1 peripheral reset register, Address offset: 0x10 */
- __IO uint32_t AHBCCR; /*!< RCC AHB peripheral clock register, Address offset: 0x14 */
- __IO uint32_t APB2CCR; /*!< RCC APB2 peripheral clock enable register, Address offset: 0x18 */
- __IO uint32_t APB1CCR; /*!< RCC APB1 peripheral clock enable register, Address offset: 0x1C */
- __IO uint32_t BDCR; /*!< RCC Backup domain control register, Address offset: 0x20 */
- __IO uint32_t GCSR; /*!< RCC clock control & status register, Address offset: 0x24 */
- #ifdef GD32F10X_CL
- __IO uint32_t AHBRCR; /*!< RCC AHB peripheral reset register, Address offset: 0x28 */
- __IO uint32_t GCFGR2; /*!< RCC clock configuration register 2, Address offset: 0x2C */
- __IO uint32_t RESERVED[ 1 ];
- __IO uint32_t RCC_DEEPSLEEP_VC; /*!< RCC deep-sleep mode voltage register , Address offset: 0x34 */
- #else
- __IO uint32_t RESERVED[ 3 ];
- __IO uint32_t RCC_DEEPSLEEP_VC; /*!< RCC deep-sleep mode voltage register , Address offset: 0x34 */
- #endif /* GD32F10X_CL */
- } RCC_TypeDef;
- /**
- * @brief Real-Time Clock
- */
- typedef struct {
- __IO uint16_t CTLR1; /*!< RTC Control register1, Address offset: 0x00 */
- uint16_t RESERVED0;
- __IO uint16_t CTLR2; /*!< RTC Control register2, Address offset: 0x04 */
- uint16_t RESERVED1;
- __IO uint16_t PLR1; /*!< RTC Prescaler Load register1, Address offset: 0x08 */
- uint16_t RESERVED2;
- __IO uint16_t PLR2; /*!< RTC Prescaler Load register2, Address offset: 0x0C */
- uint16_t RESERVED3;
- __IO uint16_t PREDIV1; /*!< RTC Prescaler Divider register1, Address offset: 0x10 */
- uint16_t RESERVED4;
- __IO uint16_t PREDIV2; /*!< RTC Prescaler Divider register2, Address offset: 0x14 */
- uint16_t RESERVED5;
- __IO uint16_t CNT1; /*!< RTC Counter register1, Address offset: 0x18 */
- uint16_t RESERVED6;
- __IO uint16_t CNT2; /*!< RTC Counter register2, Address offset: 0x1C */
- uint16_t RESERVED7;
- __IO uint16_t ALRMR1; /*!< RTC Alarm register1, Address offset: 0x20 */
- uint16_t RESERVED8;
- __IO uint16_t ALRMR2; /*!< RTC Alarm register2, Address offset: 0x24 */
- uint16_t RESERVED9;
- } RTC_TypeDef;
- /**
- * @brief SD host Interface
- */
- typedef struct {
- __IO uint32_t POWER;
- __IO uint32_t CLKCTLR;
- __IO uint32_t PARA;
- __IO uint32_t CMD;
- __I uint32_t RESPCMD;
- __I uint32_t RESP1;
- __I uint32_t RESP2;
- __I uint32_t RESP3;
- __I uint32_t RESP4;
- __IO uint32_t DTTR;
- __IO uint32_t DTLEN;
- __IO uint32_t DTCTLR;
- __I uint32_t DTCNT;
- __I uint32_t STR;
- __IO uint32_t ICR;
- __IO uint32_t IER;
- uint32_t RESERVED0[2];
- __I uint32_t FIFOCNT;
- uint32_t RESERVED1[13];
- __IO uint32_t FIFO;
- } SDIO_TypeDef;
- /**
- * @brief Serial Peripheral Interface
- */
- typedef struct {
- __IO uint16_t CTLR1; /*!< SPI Control register 1 (not used in I2S mode), Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CTLR2; /*!< SPI Control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t STR; /*!< SPI Status register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DTR; /*!< SPI data register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t CPR; /*!< SPI CRC polynomial register (not used in I2S mode), Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t RCR; /*!< SPI Rx CRC register (not used in I2S mode), Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t TCR; /*!< SPI Tx CRC register (not used in I2S mode), Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t I2SCTLR; /*!< SPI_I2S configuration register, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t I2SCKP; /*!< SPI_I2S prescaler register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
- } SPI_TypeDef;
- /**
- * @brief TIMER
- */
- typedef struct {
- __IO uint16_t CTLR1; /*!< TIMER control register 1, Address offset: 0x00 */
- uint16_t RESERVED0; /*!< Reserved, 0x02 */
- __IO uint16_t CTLR2; /*!< TIMER control register 2, Address offset: 0x04 */
- uint16_t RESERVED1; /*!< Reserved, 0x06 */
- __IO uint16_t SMC; /*!< TIMER slave Mode Control register, Address offset: 0x08 */
- uint16_t RESERVED2; /*!< Reserved, 0x0A */
- __IO uint16_t DIE; /*!< TIMER DMA/interrupt enable register, Address offset: 0x0C */
- uint16_t RESERVED3; /*!< Reserved, 0x0E */
- __IO uint16_t STR; /*!< TIMER status register, Address offset: 0x10 */
- uint16_t RESERVED4; /*!< Reserved, 0x12 */
- __IO uint16_t EVG; /*!< TIMER event generation register, Address offset: 0x14 */
- uint16_t RESERVED5; /*!< Reserved, 0x16 */
- __IO uint16_t CHCTLR1; /*!< TIMER capture/compare mode register 1, Address offset: 0x18 */
- uint16_t RESERVED6; /*!< Reserved, 0x1A */
- __IO uint16_t CHCTLR2; /*!< TIMER capture/compare mode register 2, Address offset: 0x1C */
- uint16_t RESERVED7; /*!< Reserved, 0x1E */
- __IO uint16_t CHE; /*!< TIMER capture/compare enable register, Address offset: 0x20 */
- uint16_t RESERVED8; /*!< Reserved, 0x22 */
- __IO uint16_t CNT; /*!< TIMER counter register, Address offset: 0x24 */
- uint16_t RESERVED9; /*!< Reserved, 0x26 */
- __IO uint16_t PSC; /*!< TIMER prescaler register, Address offset: 0x28 */
- uint16_t RESERVED10; /*!< Reserved, 0x2A */
- __IO uint16_t CARL; /*!< TIMER auto-reload register, Address offset: 0x2C */
- uint16_t RESERVED11; /*!< Reserved, 0x2E */
- __IO uint16_t CREP; /*!< TIMER repetition counter register, Address offset: 0x30 */
- uint16_t RESERVED12; /*!< Reserved, 0x32 */
- __IO uint16_t CHCC1; /*!< TIMER capture/compare register 1, Address offset: 0x34 */
- uint16_t RESERVED13; /*!< Reserved, 0x36 */
- __IO uint16_t CHCC2; /*!< TIMER capture/compare register 2, Address offset: 0x38 */
- uint16_t RESERVED14; /*!< Reserved, 0x3A */
- __IO uint16_t CHCC3; /*!< TIMER capture/compare register 3, Address offset: 0x3C */
- uint16_t RESERVED15; /*!< Reserved, 0x3E */
- __IO uint16_t CHCC4; /*!< TIMER capture/compare register 4, Address offset: 0x40 */
- uint16_t RESERVED16; /*!< Reserved, 0x42 */
- __IO uint16_t BKDT; /*!< TIMER break and dead-time register, Address offset: 0x44 */
- uint16_t RESERVED17; /*!< Reserved, 0x46 */
- __IO uint16_t DCTLR; /*!< TIMER DMA control register, Address offset: 0x48 */
- uint16_t RESERVED18; /*!< Reserved, 0x4A */
- __IO uint16_t DTRSF; /*!< TIMER DMA address for full transfer register, Address offset: 0x4C */
- uint16_t RESERVED19; /*!< Reserved, 0x4E */
- } TIMER_TypeDef;
- typedef struct {
- __IO uint16_t STR;
- uint16_t RESERVED0;
- __IO uint16_t DR;
- uint16_t RESERVED1;
- __IO uint16_t BRR;
- uint16_t RESERVED2;
- __IO uint16_t CTLR1;
- uint16_t RESERVED3;
- __IO uint16_t CTLR2;
- uint16_t RESERVED4;
- __IO uint16_t CTLR3;
- uint16_t RESERVED5;
- __IO uint16_t GTPR;
- uint16_t RESERVED6;
- } USART_TypeDef;
- /**
- * @brief Window WATCHDOG
- */
- typedef struct {
- __IO uint32_t CTLR; /*!< WWDG Control register, Address offset: 0x00 */
- __IO uint32_t CFR; /*!< WWDG Configuration register, Address offset: 0x04 */
- __IO uint32_t STR; /*!< WWDG Status register, Address offset: 0x08 */
- } WWDG_TypeDef;
- /** @addtogroup Peripheral_memory_map
- * @{
- */
- #define FLASH_BASE ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */
- #define SRAM_BASE ((uint32_t)0x20000000) /*!< SRAM base address in the alias region */
- #define PERIPH_BASE ((uint32_t)0x40000000) /*!< Peripheral base address in the alias region */
- #define SRAM_BB_BASE ((uint32_t)0x22000000) /*!< SRAM base address in the bit-band region */
- #define PERIPH_BB_BASE ((uint32_t)0x42000000) /*!< Peripheral base address in the bit-band region */
- #define EXMC_R_BASE ((uint32_t)0xA0000000) /*!< EXMC registers base address */
- /*!< Peripheral memory map */
- #define APB1PERIPH_BASE PERIPH_BASE
- #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
- #define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
- #define TIMER1_BASE (APB1PERIPH_BASE + 0x0000)
- #define TIMER2_BASE (APB1PERIPH_BASE + 0x0400)
- #define TIMER3_BASE (APB1PERIPH_BASE + 0x0800)
- #define TIMER4_BASE (APB1PERIPH_BASE + 0x0C00)
- #define TIMER5_BASE (APB1PERIPH_BASE + 0x1000)
- #define TIMER6_BASE (APB1PERIPH_BASE + 0x1400)
- #define TIMER11_BASE (APB1PERIPH_BASE + 0x1800)
- #define TIMER12_BASE (APB1PERIPH_BASE + 0x1C00)
- #define TIMER13_BASE (APB1PERIPH_BASE + 0x2000)
- #define RTC_BASE (APB1PERIPH_BASE + 0x2800)
- #define WWDG_BASE (APB1PERIPH_BASE + 0x2C00)
- #define IWDG_BASE (APB1PERIPH_BASE + 0x3000)
- #define SPI2_BASE (APB1PERIPH_BASE + 0x3800)
- #define SPI3_BASE (APB1PERIPH_BASE + 0x3C00)
- #define USART1_BASE (APB1PERIPH_BASE + 0x4400)
- #define USART2_BASE (APB1PERIPH_BASE + 0x4800)
- #define UART3_BASE (APB1PERIPH_BASE + 0x4C00)
- #define UART4_BASE (APB1PERIPH_BASE + 0x5000)
- #define I2C1_BASE (APB1PERIPH_BASE + 0x5400)
- #define I2C2_BASE (APB1PERIPH_BASE + 0x5800)
- #define CAN1_BASE (APB1PERIPH_BASE + 0x6400)
- #define CAN2_BASE (APB1PERIPH_BASE + 0x6800)
- #define BKP_BASE (APB1PERIPH_BASE + 0x6C00)
- #define PWR_BASE (APB1PERIPH_BASE + 0x7000)
- #define DAC_BASE (APB1PERIPH_BASE + 0x7400)
- #define AFIO_BASE (APB2PERIPH_BASE + 0x0000)
- #define EXTI_BASE (APB2PERIPH_BASE + 0x0400)
- #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
- #define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
- #define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
- #define GPIOD_BASE (APB2PERIPH_BASE + 0x1400)
- #define GPIOE_BASE (APB2PERIPH_BASE + 0x1800)
- #define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00)
- #define GPIOG_BASE (APB2PERIPH_BASE + 0x2000)
- #define ADC0_BASE (APB2PERIPH_BASE + 0x2400)
- #define ADC1_BASE (APB2PERIPH_BASE + 0x2800)
- #define TIMER0_BASE (APB2PERIPH_BASE + 0x2C00)
- #define SPI1_BASE (APB2PERIPH_BASE + 0x3000)
- #define TIMER7_BASE (APB2PERIPH_BASE + 0x3400)
- #define USART0_BASE (APB2PERIPH_BASE + 0x3800)
- #define ADC3_BASE (APB2PERIPH_BASE + 0x3C00)
- #define TIMER14_BASE (APB2PERIPH_BASE + 0x4000)
- #define TIMER15_BASE (APB2PERIPH_BASE + 0x4400)
- #define TIMER16_BASE (APB2PERIPH_BASE + 0x4800)
- #define TIMER8_BASE (APB2PERIPH_BASE + 0x4C00)
- #define TIMER9_BASE (APB2PERIPH_BASE + 0x5000)
- #define TIMER10_BASE (APB2PERIPH_BASE + 0x5400)
- #define SDIO_BASE (PERIPH_BASE + 0x18000)
- #define DMA1_BASE (AHBPERIPH_BASE + 0x0000)
- #define DMA1_CHANNEL1_BASE (AHBPERIPH_BASE + 0x0008)
- #define DMA1_CHANNEL2_BASE (AHBPERIPH_BASE + 0x001C)
- #define DMA1_CHANNEL3_BASE (AHBPERIPH_BASE + 0x0030)
- #define DMA1_CHANNEL4_BASE (AHBPERIPH_BASE + 0x0044)
- #define DMA1_CHANNEL5_BASE (AHBPERIPH_BASE + 0x0058)
- #define DMA1_CHANNEL6_BASE (AHBPERIPH_BASE + 0x006C)
- #define DMA1_CHANNEL7_BASE (AHBPERIPH_BASE + 0x0080)
- #define DMA2_BASE (AHBPERIPH_BASE + 0x0400)
- #define DMA2_CHANNEL1_BASE (AHBPERIPH_BASE + 0x0408)
- #define DMA2_CHANNEL2_BASE (AHBPERIPH_BASE + 0x041C)
- #define DMA2_CHANNEL3_BASE (AHBPERIPH_BASE + 0x0430)
- #define DMA2_CHANNEL4_BASE (AHBPERIPH_BASE + 0x0444)
- #define DMA2_CHANNEL5_BASE (AHBPERIPH_BASE + 0x0458)
- #define RCC_BASE (AHBPERIPH_BASE + 0x1000)
- #define RCU_BASE (AHBPERIPH_BASE + 0x1000)
- #define CRC_BASE (AHBPERIPH_BASE + 0x3000)
- #define FMC_R_BASE (AHBPERIPH_BASE + 0x2000) /*!< FMC registers base address */
- #define OB_BASE ((uint32_t)0x1FFFF800) /*!< FMC Option Bytes base address */
- #define ETH_BASE (AHBPERIPH_BASE + 0x8000)
- #define ETH_MAC_BASE (ETH_BASE)
- #define ETH_MSC_BASE (ETH_BASE + 0x0100)
- #define ETH_PTP_BASE (ETH_BASE + 0x0700)
- #define ETH_DMA_BASE (ETH_BASE + 0x1000)
- #define EXMC_BANK1_R_BASE (EXMC_R_BASE + 0x0000) /*!< EXMC Bank1 registers base address */
- #define EXMC_BANK1_WT_R_BASE (EXMC_R_BASE + 0x0104) /*!< EXMC Bank1WT registers base address */
- #define EXMC_BANK2_R_BASE (EXMC_R_BASE + 0x0060) /*!< EXMC Bank2 registers base address */
- #define EXMC_BANK3_R_BASE (EXMC_R_BASE + 0x0080) /*!< EXMC Bank3 registers base address */
- #define EXMC_BANK4_R_BASE (EXMC_R_BASE + 0x00A0) /*!< EXMC Bank4 registers base address */
- #define MCUDBG_BASE ((uint32_t)0xE0042000) /*!< Debug MCU registers base address */
- /**
- * @}
- */
- /** @addtogroup Peripheral_declaration
- * @{
- */
- #define TIMER1 ((TIMER_TypeDef *) TIMER1_BASE)
- #define TIMER2 ((TIMER_TypeDef *) TIMER2_BASE)
- #define TIMER3 ((TIMER_TypeDef *) TIMER3_BASE)
- #define TIMER4 ((TIMER_TypeDef *) TIMER4_BASE)
- #define TIMER5 ((TIMER_TypeDef *) TIMER5_BASE)
- #define TIMER6 ((TIMER_TypeDef *) TIMER6_BASE)
- #define TIMER11 ((TIMER_TypeDef *) TIMER11_BASE)
- #define TIMER12 ((TIMER_TypeDef *) TIMER12_BASE)
- #define TIMER13 ((TIMER_TypeDef *) TIMER13_BASE)
- #define RTC ((RTC_TypeDef *) RTC_BASE)
- #define WWDG ((WWDG_TypeDef *) WWDG_BASE)
- #define IWDG ((IWDG_TypeDef *) IWDG_BASE)
- #define SPI2 ((SPI_TypeDef *) SPI2_BASE)
- #define SPI3 ((SPI_TypeDef *) SPI3_BASE)
- #define USART1 ((USART_TypeDef *) USART1_BASE)
- #define USART2 ((USART_TypeDef *) USART2_BASE)
- #define UART3 ((USART_TypeDef *) UART3_BASE)
- #define UART4 ((USART_TypeDef *) UART4_BASE)
- #define I2C1 ((I2C_TypeDef *) I2C1_BASE)
- #define I2C2 ((I2C_TypeDef *) I2C2_BASE)
- #define CAN1 ((CAN_TypeDef *) CAN1_BASE)
- #define CAN2 ((CAN_TypeDef *) CAN2_BASE)
- #define BKP ((BKP_TypeDef *) BKP_BASE)
- #define PWR ((PWR_TypeDef *) PWR_BASE)
- #define DAC ((DAC_TypeDef *) DAC_BASE)
- #define CEC ((CEC_TypeDef *) CEC_BASE)
- #define AFIO ((AFIO_TypeDef *) AFIO_BASE)
- #define EXTI ((EXTI_TypeDef *) EXTI_BASE)
- #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
- #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
- #define GPIOC ((GPIO_TypeDef *) GPIOC_BASE)
- #define GPIOD ((GPIO_TypeDef *) GPIOD_BASE)
- #define GPIOE ((GPIO_TypeDef *) GPIOE_BASE)
- #define GPIOF ((GPIO_TypeDef *) GPIOF_BASE)
- #define GPIOG ((GPIO_TypeDef *) GPIOG_BASE)
- #define ADC0 ((ADC_TypeDef *) ADC0_BASE)
- #define ADC1 ((ADC_TypeDef *) ADC1_BASE)
- #define TIMER0 ((TIMER_TypeDef *) TIMER0_BASE)
- #define SPI1 ((SPI_TypeDef *) SPI1_BASE)
- #define TIMER7 ((TIMER_TypeDef *) TIMER7_BASE)
- #define USART0 ((USART_TypeDef *) USART0_BASE)
- #define USART1 ((USART_TypeDef *) USART1_BASE)
- #define ADC3 ((ADC_TypeDef *) ADC3_BASE)
- #define TIMER14 ((TIMER_TypeDef *) TIMER14_BASE)
- #define TIMER15 ((TIMER_TypeDef *) TIMER15_BASE)
- #define TIMER16 ((TIMER_TypeDef *) TIMER16_BASE)
- #define TIMER8 ((TIMER_TypeDef *) TIMER8_BASE)
- #define TIMER9 ((TIMER_TypeDef *) TIMER9_BASE)
- #define TIMER10 ((TIMER_TypeDef *) TIMER10_BASE)
- #define SDIO ((SDIO_TypeDef *) SDIO_BASE)
- #define DMA1 ((DMA_TypeDef *) DMA1_BASE)
- #define DMA2 ((DMA_TypeDef *) DMA2_BASE)
- #define DMA1_CHANNEL1 ((DMA_Channel_TypeDef *) DMA1_CHANNEL1_BASE)
- #define DMA1_CHANNEL2 ((DMA_Channel_TypeDef *) DMA1_CHANNEL2_BASE)
- #define DMA1_CHANNEL3 ((DMA_Channel_TypeDef *) DMA1_CHANNEL3_BASE)
- #define DMA1_CHANNEL4 ((DMA_Channel_TypeDef *) DMA1_CHANNEL4_BASE)
- #define DMA1_CHANNEL5 ((DMA_Channel_TypeDef *) DMA1_CHANNEL5_BASE)
- #define DMA1_CHANNEL6 ((DMA_Channel_TypeDef *) DMA1_CHANNEL6_BASE)
- #define DMA1_CHANNEL7 ((DMA_Channel_TypeDef *) DMA1_CHANNEL7_BASE)
- #define DMA2_CHANNEL1 ((DMA_Channel_TypeDef *) DMA2_CHANNEL1_BASE)
- #define DMA2_CHANNEL2 ((DMA_Channel_TypeDef *) DMA2_CHANNEL2_BASE)
- #define DMA2_CHANNEL3 ((DMA_Channel_TypeDef *) DMA2_CHANNEL3_BASE)
- #define DMA2_CHANNEL4 ((DMA_Channel_TypeDef *) DMA2_CHANNEL4_BASE)
- #define DMA2_CHANNEL5 ((DMA_Channel_TypeDef *) DMA2_CHANNEL5_BASE)
- #define RCC ((RCC_TypeDef *) RCC_BASE)
- #define CRC ((CRC_TypeDef *) CRC_BASE)
- #define FMC ((FMC_TypeDef *) FMC_R_BASE)
- #define OB ((OB_TypeDef *) OB_BASE)
- #define EXMC_BANK1 ((EXMC_Bank1_TypeDef *) EXMC_BANK1_R_BASE)
- #define EXMC_BANK1_WT ((EXMC_Bank1_WT_TypeDef *) EXMC_BANK1_WT_R_BASE)
- #define EXMC_BANK2 ((EXMC_Bank2_TypeDef *) EXMC_BANK2_R_BASE)
- #define EXMC_BANK3 ((EXMC_Bank3_TypeDef *) EXMC_BANK3_R_BASE)
- #define EXMC_BANK4 ((EXMC_Bank4_TypeDef *) EXMC_BANK4_R_BASE)
- #define MCUDBG ((MCUDBG_TypeDef *) MCUDBG_BASE)
- #define ETH_MAC ((ETH_MAC_TypeDef *) ETH_MAC_BASE)
- #define ETH_MSC ((ETH_MSC_TypeDef *) ETH_MSC_BASE)
- #define ETH_PTP ((ETH_PTP_TypeDef *) ETH_PTP_BASE)
- #define ETH_DMA ((ETH_DMA_Typedef *) ETH_DMA_BASE)
- /**
- * @}
- */
- /** @addtogroup Exported_constants
- * @{
- */
- /** @addtogroup Peripheral_Registers_Bits_Definition
- * @{
- */
- /******************************************************************************/
- /* Peripheral Registers Bits Definition */
- /******************************************************************************/
- /******************************************************************************/
- /* */
- /* Analog to Digital Converter */
- /* */
- /******************************************************************************/
- /******************** Bit definition for ADC_STR register ********************/
- #define ADC_STR_AWE ((uint8_t)0x01) /*!< Analog watchdog flag */
- #define ADC_STR_EOC ((uint8_t)0x02) /*!< End of conversion */
- #define ADC_STR_EOIC ((uint8_t)0x04) /*!< Injected channel end of conversion */
- #define ADC_STR_STIC ((uint8_t)0x08) /*!< Injected channel Start flag */
- #define ADC_STR_STRC ((uint8_t)0x10) /*!< Regular channel Start flag */
- /******************* Bit definition for ADC_CTLR1 register ********************/
- #define ADC_CTLR1_AWCS ((uint32_t)0x0000001F) /*!< AWCS[4:0] bits (Analog watchdog channel select bits) */
- #define ADC_CTLR1_AWCS_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_CTLR1_AWCS_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_CTLR1_AWCS_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_CTLR1_AWCS_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define ADC_CTLR1_AWCS_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define ADC_CTLR1_EOCIE ((uint32_t)0x00000020) /*!< Interrupt enable for EOC */
- #define ADC_CTLR1_AWEIE ((uint32_t)0x00000040) /*!< Analog Watchdog interrupt enable */
- #define ADC_CTLR1_EOICIE ((uint32_t)0x00000080) /*!< Interrupt enable for injected channels */
- #define ADC_CTLR1_SM ((uint32_t)0x00000100) /*!< Scan mode */
- #define ADC_CTLR1_AWSSM ((uint32_t)0x00000200) /*!< Enable the watchdog on a single channel in scan mode */
- #define ADC_CTLR1_ICA ((uint32_t)0x00000400) /*!< Automatic injected group conversion */
- #define ADC_CTLR1_DISRC ((uint32_t)0x00000800) /*!< Discontinuous mode on regular channels */
- #define ADC_CTLR1_DISIC ((uint32_t)0x00001000) /*!< Discontinuous mode on injected channels */
- #define ADC_CTLR1_DISNUM ((uint32_t)0x0000E000) /*!< DISNUM[2:0] bits (Discontinuous mode channel count) */
- #define ADC_CTLR1_DISNUM_0 ((uint32_t)0x00002000) /*!< Bit 0 */
- #define ADC_CTLR1_DISNUM_1 ((uint32_t)0x00004000) /*!< Bit 1 */
- #define ADC_CTLR1_DISNUM_2 ((uint32_t)0x00008000) /*!< Bit 2 */
- #define ADC_CTLR1_AWIEN ((uint32_t)0x00400000) /*!< Analog watchdog enable on injected channels */
- #define ADC_CTLR1_AWREN ((uint32_t)0x00800000) /*!< Analog watchdog enable on regular channels */
- /******************* Bit definition for ADC_CTLR2 register ********************/
- #define ADC_CTLR2_ADCON ((uint32_t)0x00000001) /*!< A/D Converter ON / OFF */
- #define ADC_CTLR2_CTN ((uint32_t)0x00000002) /*!< Continuous Conversion */
- #define ADC_CTLR2_CLB ((uint32_t)0x00000004) /*!< A/D Calibration */
- #define ADC_CTLR2_RSTCLB ((uint32_t)0x00000008) /*!< Reset Calibration */
- #define ADC_CTLR2_DMA ((uint32_t)0x00000100) /*!< Direct Memory access mode */
- #define ADC_CTLR2_DAL ((uint32_t)0x00000800) /*!< Data Alignment */
- #define ADC_CTLR2_ETSIC ((uint32_t)0x00007000) /*!< ETSIC[2:0] bits (External event select for injected group) */
- #define ADC_CTLR2_ETSIC_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define ADC_CTLR2_ETSIC_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define ADC_CTLR2_ETSIC_2 ((uint32_t)0x00004000) /*!< Bit 2 */
- #define ADC_CTLR2_ETEIC ((uint32_t)0x00008000) /*!< External Trigger Conversion mode for injected channels */
- #define ADC_CTLR2_ETSRC ((uint32_t)0x000E0000) /*!< ETSRC[2:0] bits (External Event Select for regular group) */
- #define ADC_CTLR2_ETSRC_0 ((uint32_t)0x00020000) /*!< Bit 0 */
- #define ADC_CTLR2_ETSRC_1 ((uint32_t)0x00040000) /*!< Bit 1 */
- #define ADC_CTLR2_ETSRC_2 ((uint32_t)0x00080000) /*!< Bit 2 */
- #define ADC_CTLR2_ETERC ((uint32_t)0x00100000) /*!< External Trigger Conversion mode for regular channels */
- #define ADC_CTLR2_SWICST ((uint32_t)0x00200000) /*!< Start Conversion of injected channels */
- #define ADC_CTLR2_SWRCST ((uint32_t)0x00400000) /*!< Start Conversion of regular channels */
- #define ADC_CTLR2_TSVREN ((uint32_t)0x00800000) /*!< Temperature Sensor and VREFINT Enable */
- #define ADC_CTLR2_VBATEN ((uint32_t)0x00C00000) /*!< VBAT Enable */
- /****************** Bit definition for ADC_SPT1 register *******************/
- #define ADC_SPT1_SPT10 ((uint32_t)0x00000007) /*!< SPT10[2:0] bits (Channel 10 Sample time selection) */
- #define ADC_SPT1_SPT10_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_SPT1_SPT10_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_SPT1_SPT10_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_SPT1_SPT11 ((uint32_t)0x00000038) /*!< SPT11[2:0] bits (Channel 11 Sample time selection) */
- #define ADC_SPT1_SPT11_0 ((uint32_t)0x00000008) /*!< Bit 0 */
- #define ADC_SPT1_SPT11_1 ((uint32_t)0x00000010) /*!< Bit 1 */
- #define ADC_SPT1_SPT11_2 ((uint32_t)0x00000020) /*!< Bit 2 */
- #define ADC_SPT1_SPT12 ((uint32_t)0x000001C0) /*!< SPT12[2:0] bits (Channel 12 Sample time selection) */
- #define ADC_SPT1_SPT12_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define ADC_SPT1_SPT12_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- #define ADC_SPT1_SPT12_2 ((uint32_t)0x00000100) /*!< Bit 2 */
- #define ADC_SPT1_SPT13 ((uint32_t)0x00000E00) /*!< SPT13[2:0] bits (Channel 13 Sample time selection) */
- #define ADC_SPT1_SPT13_0 ((uint32_t)0x00000200) /*!< Bit 0 */
- #define ADC_SPT1_SPT13_1 ((uint32_t)0x00000400) /*!< Bit 1 */
- #define ADC_SPT1_SPT13_2 ((uint32_t)0x00000800) /*!< Bit 2 */
- #define ADC_SPT1_SPT14 ((uint32_t)0x00007000) /*!< SPT14[2:0] bits (Channel 14 Sample time selection) */
- #define ADC_SPT1_SPT14_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define ADC_SPT1_SPT14_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define ADC_SPT1_SPT14_2 ((uint32_t)0x00004000) /*!< Bit 2 */
- #define ADC_SPT1_SPT15 ((uint32_t)0x00038000) /*!< SPT15[2:0] bits (Channel 15 Sample time selection) */
- #define ADC_SPT1_SPT15_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_SPT1_SPT15_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_SPT1_SPT15_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_SPT1_SPT16 ((uint32_t)0x001C0000) /*!< SPT16[2:0] bits (Channel 16 Sample time selection) */
- #define ADC_SPT1_SPT16_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define ADC_SPT1_SPT16_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define ADC_SPT1_SPT16_2 ((uint32_t)0x00100000) /*!< Bit 2 */
- #define ADC_SPT1_SPT17 ((uint32_t)0x00E00000) /*!< SPT17[2:0] bits (Channel 17 Sample time selection) */
- #define ADC_SPT1_SPT17_0 ((uint32_t)0x00200000) /*!< Bit 0 */
- #define ADC_SPT1_SPT17_1 ((uint32_t)0x00400000) /*!< Bit 1 */
- #define ADC_SPT1_SPT17_2 ((uint32_t)0x00800000) /*!< Bit 2 */
- /****************** Bit definition for ADC_SPT2 register *******************/
- #define ADC_SPT2_SPT0 ((uint32_t)0x00000007) /*!< SPT0[2:0] bits (Channel 0 Sample time selection) */
- #define ADC_SPT2_SPT0_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_SPT2_SPT0_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_SPT2_SPT0_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_SPT2_SPT1 ((uint32_t)0x00000038) /*!< SPT1[2:0] bits (Channel 1 Sample time selection) */
- #define ADC_SPT2_SPT1_0 ((uint32_t)0x00000008) /*!< Bit 0 */
- #define ADC_SPT2_SPT1_1 ((uint32_t)0x00000010) /*!< Bit 1 */
- #define ADC_SPT2_SPT1_2 ((uint32_t)0x00000020) /*!< Bit 2 */
- #define ADC_SPT2_SPT2 ((uint32_t)0x000001C0) /*!< SPT2[2:0] bits (Channel 2 Sample time selection) */
- #define ADC_SPT2_SPT2_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define ADC_SPT2_SPT2_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- #define ADC_SPT2_SPT2_2 ((uint32_t)0x00000100) /*!< Bit 2 */
- #define ADC_SPT2_SPT3 ((uint32_t)0x00000E00) /*!< SPT3[2:0] bits (Channel 3 Sample time selection) */
- #define ADC_SPT2_SPT3_0 ((uint32_t)0x00000200) /*!< Bit 0 */
- #define ADC_SPT2_SPT3_1 ((uint32_t)0x00000400) /*!< Bit 1 */
- #define ADC_SPT2_SPT3_2 ((uint32_t)0x00000800) /*!< Bit 2 */
- #define ADC_SPT2_SPT4 ((uint32_t)0x00007000) /*!< SPT4[2:0] bits (Channel 4 Sample time selection) */
- #define ADC_SPT2_SPT4_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define ADC_SPT2_SPT4_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define ADC_SPT2_SPT4_2 ((uint32_t)0x00004000) /*!< Bit 2 */
- #define ADC_SPT2_SPT5 ((uint32_t)0x00038000) /*!< SPT5[2:0] bits (Channel 5 Sample time selection) */
- #define ADC_SPT2_SPT5_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_SPT2_SPT5_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_SPT2_SPT5_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_SPT2_SPT6 ((uint32_t)0x001C0000) /*!< SPT6[2:0] bits (Channel 6 Sample time selection) */
- #define ADC_SPT2_SPT6_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define ADC_SPT2_SPT6_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define ADC_SPT2_SPT6_2 ((uint32_t)0x00100000) /*!< Bit 2 */
- #define ADC_SPT2_SPT7 ((uint32_t)0x00E00000) /*!< SPT7[2:0] bits (Channel 7 Sample time selection) */
- #define ADC_SPT2_SPT7_0 ((uint32_t)0x00200000) /*!< Bit 0 */
- #define ADC_SPT2_SPT7_1 ((uint32_t)0x00400000) /*!< Bit 1 */
- #define ADC_SPT2_SPT7_2 ((uint32_t)0x00800000) /*!< Bit 2 */
- #define ADC_SPT2_SPT8 ((uint32_t)0x07000000) /*!< SPT8[2:0] bits (Channel 8 Sample time selection) */
- #define ADC_SPT2_SPT8_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define ADC_SPT2_SPT8_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define ADC_SPT2_SPT8_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define ADC_SPT2_SPT9 ((uint32_t)0x38000000) /*!< SPT9[2:0] bits (Channel 9 Sample time selection) */
- #define ADC_SPT2_SPT9_0 ((uint32_t)0x08000000) /*!< Bit 0 */
- #define ADC_SPT2_SPT9_1 ((uint32_t)0x10000000) /*!< Bit 1 */
- #define ADC_SPT2_SPT9_2 ((uint32_t)0x20000000) /*!< Bit 2 */
- /****************** Bit definition for ADC_ICOS1 register *******************/
- #define ADC_ICOS1_ICOS1 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 1 */
- /****************** Bit definition for ADC_ICOS2 register *******************/
- #define ADC_ICOS2_ICOS2 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 2 */
- /****************** Bit definition for ADC_ICOS3 register *******************/
- #define ADC_ICOS3_ICOS3 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 3 */
- /****************** Bit definition for ADC_ICOS4 register *******************/
- #define ADC_ICOS4_ICOS4 ((uint16_t)0x0FFF) /*!< Data offset for injected channel 4 */
- /******************* Bit definition for ADC_AWHT register ********************/
- #define ADC_AWHT_AWHT ((uint16_t)0x0FFF) /*!< Analog watchdog high threshold */
- /******************* Bit definition for ADC_AWLT register ********************/
- #define ADC_AWLT_AWLT ((uint16_t)0x0FFF) /*!< Analog watchdog low threshold */
- /******************* Bit definition for ADC_RSQ1 register *******************/
- #define ADC_RSQ1_RSQ13 ((uint32_t)0x0000001F) /*!< RSQ13[4:0] bits (13th conversion in regular sequence) */
- #define ADC_RSQ1_RSQ13_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_RSQ1_RSQ13_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_RSQ1_RSQ13_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_RSQ1_RSQ13_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define ADC_RSQ1_RSQ13_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define ADC_RSQ1_RSQ14 ((uint32_t)0x000003E0) /*!< RSQ14[4:0] bits (14th conversion in regular sequence) */
- #define ADC_RSQ1_RSQ14_0 ((uint32_t)0x00000020) /*!< Bit 0 */
- #define ADC_RSQ1_RSQ14_1 ((uint32_t)0x00000040) /*!< Bit 1 */
- #define ADC_RSQ1_RSQ14_2 ((uint32_t)0x00000080) /*!< Bit 2 */
- #define ADC_RSQ1_RSQ14_3 ((uint32_t)0x00000100) /*!< Bit 3 */
- #define ADC_RSQ1_RSQ14_4 ((uint32_t)0x00000200) /*!< Bit 4 */
- #define ADC_RSQ1_RSQ15 ((uint32_t)0x00007C00) /*!< RSQ15[4:0] bits (15th conversion in regular sequence) */
- #define ADC_RSQ1_RSQ15_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define ADC_RSQ1_RSQ15_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define ADC_RSQ1_RSQ15_2 ((uint32_t)0x00001000) /*!< Bit 2 */
- #define ADC_RSQ1_RSQ15_3 ((uint32_t)0x00002000) /*!< Bit 3 */
- #define ADC_RSQ1_RSQ15_4 ((uint32_t)0x00004000) /*!< Bit 4 */
- #define ADC_RSQ1_RSQ16 ((uint32_t)0x000F8000) /*!< RSQ16[4:0] bits (16th conversion in regular sequence) */
- #define ADC_RSQ1_RSQ16_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_RSQ1_RSQ16_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_RSQ1_RSQ16_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_RSQ1_RSQ16_3 ((uint32_t)0x00040000) /*!< Bit 3 */
- #define ADC_RSQ1_RSQ16_4 ((uint32_t)0x00080000) /*!< Bit 4 */
- #define ADC_RSQ1_RL ((uint32_t)0x00F00000) /*!< RL[3:0] bits (Regular channel sequence length) */
- #define ADC_RSQ1_RL_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define ADC_RSQ1_RL_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define ADC_RSQ1_RL_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define ADC_RSQ1_RL_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- /******************* Bit definition for ADC_RSQ2 register *******************/
- #define ADC_RSQ2_RSQ7 ((uint32_t)0x0000001F) /*!< RSQ7[4:0] bits (7th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ7_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ7_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ7_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ7_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ7_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define ADC_RSQ2_RSQ8 ((uint32_t)0x000003E0) /*!< RSQ8[4:0] bits (8th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ8_0 ((uint32_t)0x00000020) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ8_1 ((uint32_t)0x00000040) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ8_2 ((uint32_t)0x00000080) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ8_3 ((uint32_t)0x00000100) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ8_4 ((uint32_t)0x00000200) /*!< Bit 4 */
- #define ADC_RSQ2_RSQ9 ((uint32_t)0x00007C00) /*!< RSQ9[4:0] bits (9th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ9_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ9_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ9_2 ((uint32_t)0x00001000) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ9_3 ((uint32_t)0x00002000) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ9_4 ((uint32_t)0x00004000) /*!< Bit 4 */
- #define ADC_RSQ2_RSQ10 ((uint32_t)0x000F8000) /*!< RSQ10[4:0] bits (10th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ10_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ10_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ10_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ10_3 ((uint32_t)0x00040000) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ10_4 ((uint32_t)0x00080000) /*!< Bit 4 */
- #define ADC_RSQ2_RSQ11 ((uint32_t)0x01F00000) /*!< RSQ11[4:0] bits (11th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ11_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ11_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ11_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ11_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ11_4 ((uint32_t)0x01000000) /*!< Bit 4 */
- #define ADC_RSQ2_RSQ12 ((uint32_t)0x3E000000) /*!< RSQ12[4:0] bits (12th conversion in regular sequence) */
- #define ADC_RSQ2_RSQ12_0 ((uint32_t)0x02000000) /*!< Bit 0 */
- #define ADC_RSQ2_RSQ12_1 ((uint32_t)0x04000000) /*!< Bit 1 */
- #define ADC_RSQ2_RSQ12_2 ((uint32_t)0x08000000) /*!< Bit 2 */
- #define ADC_RSQ2_RSQ12_3 ((uint32_t)0x10000000) /*!< Bit 3 */
- #define ADC_RSQ2_RSQ12_4 ((uint32_t)0x20000000) /*!< Bit 4 */
- /******************* Bit definition for ADC_RSQ3 register *******************/
- #define ADC_RSQ3_RSQ1 ((uint32_t)0x0000001F) /*!< RSQ1[4:0] bits (1st conversion in regular sequence) */
- #define ADC_RSQ3_RSQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define ADC_RSQ3_RSQ2 ((uint32_t)0x000003E0) /*!< RSQ2[4:0] bits (2nd conversion in regular sequence) */
- #define ADC_RSQ3_RSQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
- #define ADC_RSQ3_RSQ3 ((uint32_t)0x00007C00) /*!< RSQ3[4:0] bits (3rd conversion in regular sequence) */
- #define ADC_RSQ3_RSQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
- #define ADC_RSQ3_RSQ4 ((uint32_t)0x000F8000) /*!< RSQ4[4:0] bits (4th conversion in regular sequence) */
- #define ADC_RSQ3_RSQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
- #define ADC_RSQ3_RSQ5 ((uint32_t)0x01F00000) /*!< RSQ5[4:0] bits (5th conversion in regular sequence) */
- #define ADC_RSQ3_RSQ5_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ5_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ5_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ5_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ5_4 ((uint32_t)0x01000000) /*!< Bit 4 */
- #define ADC_RSQ3_RSQ6 ((uint32_t)0x3E000000) /*!< RSQ6[4:0] bits (6th conversion in regular sequence) */
- #define ADC_RSQ3_RSQ6_0 ((uint32_t)0x02000000) /*!< Bit 0 */
- #define ADC_RSQ3_RSQ6_1 ((uint32_t)0x04000000) /*!< Bit 1 */
- #define ADC_RSQ3_RSQ6_2 ((uint32_t)0x08000000) /*!< Bit 2 */
- #define ADC_RSQ3_RSQ6_3 ((uint32_t)0x10000000) /*!< Bit 3 */
- #define ADC_RSQ3_RSQ6_4 ((uint32_t)0x20000000) /*!< Bit 4 */
- /******************* Bit definition for ADC_ISQ register *******************/
- #define ADC_ISQ_ISQ1 ((uint32_t)0x0000001F) /*!< ISQ1[4:0] bits (1st conversion in injected sequence) */
- #define ADC_ISQ_ISQ1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define ADC_ISQ_ISQ1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define ADC_ISQ_ISQ1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define ADC_ISQ_ISQ1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define ADC_ISQ_ISQ1_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define ADC_ISQ_ISQ2 ((uint32_t)0x000003E0) /*!< ISQ2[4:0] bits (2nd conversion in injected sequence) */
- #define ADC_ISQ_ISQ2_0 ((uint32_t)0x00000020) /*!< Bit 0 */
- #define ADC_ISQ_ISQ2_1 ((uint32_t)0x00000040) /*!< Bit 1 */
- #define ADC_ISQ_ISQ2_2 ((uint32_t)0x00000080) /*!< Bit 2 */
- #define ADC_ISQ_ISQ2_3 ((uint32_t)0x00000100) /*!< Bit 3 */
- #define ADC_ISQ_ISQ2_4 ((uint32_t)0x00000200) /*!< Bit 4 */
- #define ADC_ISQ_ISQ3 ((uint32_t)0x00007C00) /*!< ISQ3[4:0] bits (3rd conversion in injected sequence) */
- #define ADC_ISQ_ISQ3_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define ADC_ISQ_ISQ3_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define ADC_ISQ_ISQ3_2 ((uint32_t)0x00001000) /*!< Bit 2 */
- #define ADC_ISQ_ISQ3_3 ((uint32_t)0x00002000) /*!< Bit 3 */
- #define ADC_ISQ_ISQ3_4 ((uint32_t)0x00004000) /*!< Bit 4 */
- #define ADC_ISQ_ISQ4 ((uint32_t)0x000F8000) /*!< ISQ4[4:0] bits (4th conversion in injected sequence) */
- #define ADC_ISQ_ISQ4_0 ((uint32_t)0x00008000) /*!< Bit 0 */
- #define ADC_ISQ_ISQ4_1 ((uint32_t)0x00010000) /*!< Bit 1 */
- #define ADC_ISQ_ISQ4_2 ((uint32_t)0x00020000) /*!< Bit 2 */
- #define ADC_ISQ_ISQ4_3 ((uint32_t)0x00040000) /*!< Bit 3 */
- #define ADC_ISQ_ISQ4_4 ((uint32_t)0x00080000) /*!< Bit 4 */
- #define ADC_ISQ_IL ((uint32_t)0x00300000) /*!< IL[1:0] bits (Injected Sequence length) */
- #define ADC_ISQ_IL_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define ADC_ISQ_IL_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- /******************* Bit definition for ADC_IDTR1 register *******************/
- #define ADC_IDTR1_IDTR ((uint16_t)0xFFFF) /*!< Injected data */
- /******************* Bit definition for ADC_IDTR2 register *******************/
- #define ADC_IDTR2_IDTR ((uint16_t)0xFFFF) /*!< Injected data */
- /******************* Bit definition for ADC_IDTR3 register *******************/
- #define ADC_IDTR3_IDTR ((uint16_t)0xFFFF) /*!< Injected data */
- /******************* Bit definition for ADC_IDTR4 register *******************/
- #define ADC_IDTR4_IDTR ((uint16_t)0xFFFF) /*!< Injected data */
- /******************** Bit definition for ADC_RDTR register ********************/
- #define ADC_RDTR_RDTR ((uint32_t)0x0000FFFF) /*!< Regular data */
- /******************************************************************************/
- /* */
- /* Backup registers */
- /* */
- /******************************************************************************/
- /******************* Bit definition for BKP_DRx register ********************/
- #define BKP_DR1_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR2_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR3_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR4_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR5_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR6_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR7_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR8_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR9_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR10_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR11_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR12_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR13_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR14_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR15_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR16_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR17_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR18_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR19_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR20_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR21_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR22_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR23_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR24_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR25_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR26_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR27_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR28_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR29_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR30_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR31_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR32_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR33_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR34_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR35_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR36_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR37_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR38_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR39_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR40_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR41_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- #define BKP_DR42_BKD ((uint16_t)0xFFFF) /*!< Backup data */
- /****************** Bit definition for BKP_RCCR register *******************/
- #define BKP_RCCR_RCCV ((uint16_t)0x007F) /*!< RTC Clock Calibration Value */
- #define BKP_RCCR_RCCOE ((uint16_t)0x0080) /*!< RTC Clock Calibration Output Enable */
- #define BKP_RCCR_ROE ((uint16_t)0x0100) /*!< RTC Output Enable */
- #define BKP_RCCR_ROS ((uint16_t)0x0200) /*!< RTC Output Selection */
- /******************** Bit definition for BKP_TPCR register ********************/
- #define BKP_TPCR_TPE ((uint8_t)0x01) /*!< TAMPER Pin Enable */
- #define BKP_TPCR_TPAL ((uint8_t)0x02) /*!< TAMPER Pin Active Level */
- /******************* Bit definition for BKP_TIER register ********************/
- #define BKP_TIER_TER ((uint16_t)0x0001) /*!< Tamper Event Reset */
- #define BKP_TIER_TIR ((uint16_t)0x0002) /*!< Tamper Interrupt Reset */
- #define BKP_TIER_TIE ((uint16_t)0x0004) /*!< Tamper Interrupt Enable */
- #define BKP_TIER_TEF ((uint16_t)0x0100) /*!< Tamper Event Flag */
- #define BKP_TIER_TIF ((uint16_t)0x0200) /*!< Tamper Interrupt Flag */
- /******************************************************************************/
- /* */
- /* Controller Area Network */
- /* */
- /******************************************************************************/
- /*!< CAN control and status registers */
- /******************* Bit definition for CAN_CTLR register ********************/
- #define CAN_CTLR_IWM ((uint16_t)0x0001) /*!< Initial working mode */
- #define CAN_CTLR_SWM ((uint16_t)0x0002) /*!< Sleep working mode */
- #define CAN_CTLR_TFO ((uint16_t)0x0004) /*!< Transmit FIFO order */
- #define CAN_CTLR_RFOD ((uint16_t)0x0008) /*!< Receive FIFO overwrite disable */
- #define CAN_CTLR_ARD ((uint16_t)0x0010) /*!< Automatic retransmission disable */
- #define CAN_CTLR_AWK ((uint16_t)0x0020) /*!< Automatic Wakeup */
- #define CAN_CTLR_ABOR ((uint16_t)0x0040) /*!< Automatic Bus-Off recovery */
- #define CAN_CTLR_TTC ((uint16_t)0x0080) /*!< Time Triggered Communication */
- #define CAN_CTLR_SR ((uint16_t)0x8000) /*!< CAN software reset */
- #define CAN_CTLR_DFZ ((uint32_t)0x00010000) /*!< CAN Debug freeze */
- /******************* Bit definition for CAN_STR register ********************/
- #define CAN_STR_IWS ((uint16_t)0x0001) /*!< Initial working state */
- #define CAN_STR_SWS ((uint16_t)0x0002) /*!< Sleep working state */
- #define CAN_STR_EIF ((uint16_t)0x0004) /*!< Error Interrupt Flag*/
- #define CAN_STR_WIF ((uint16_t)0x0008) /*!< Status change interrupt flag of wakeup from sleep working mode */
- #define CAN_STR_SEIF ((uint16_t)0x0010) /*!< Status change interrupt flag of sleep working mode entering */
- #define CAN_STR_TS ((uint16_t)0x0100) /*!< Transmitting state */
- #define CAN_STR_RS ((uint16_t)0x0200) /*!< Receiving state */
- #define CAN_STR_LASTRX ((uint16_t)0x0400) /*!< Last sample value of Rx pin */
- #define CAN_STR_RX ((uint16_t)0x0800) /*!< CAN Rx Signal */
- /******************* Bit definition for CAN_TSTR register ********************/
- #define CAN_TSTR_MTF0 ((uint32_t)0x00000001) /*!< Mailbox 0 transmit finished */
- #define CAN_TSTR_MTFNE0 ((uint32_t)0x00000002) /*!< Mailbox 0 transmit finished and no error */
- #define CAN_TSTR_MAL0 ((uint32_t)0x00000004) /*!< Mailbox 0 arbitration lost */
- #define CAN_TSTR_MTE0 ((uint32_t)0x00000008) /*!< Mailbox 0 transmit error */
- #define CAN_TSTR_MST0 ((uint32_t)0x00000080) /*!< Mailbox 0 stop transmitting */
- #define CAN_TSTR_MTF1 ((uint32_t)0x00000100) /*!< Mailbox 1 transmit finished */
- #define CAN_TSTR_MTFNE1 ((uint32_t)0x00000200) /*!< Mailbox 1 transmit finished and no error */
- #define CAN_TSTR_MAL1 ((uint32_t)0x00000400) /*!< Mailbox 1 arbitration lost */
- #define CAN_TSTR_MTE1 ((uint32_t)0x00000800) /*!< Mailbox 1 transmit error */
- #define CAN_TSTR_MST1 ((uint32_t)0x00008000) /*!< Mailbox 1 stop transmitting */
- #define CAN_TSTR_MTF2 ((uint32_t)0x00010000) /*!< Mailbox 2 transmit finished */
- #define CAN_TSTR_MTFNE2 ((uint32_t)0x00020000) /*!< Mailbox 2 transmit finished and no error */
- #define CAN_TSTR_MAL2 ((uint32_t)0x00040000) /*!< Mailbox 2 arbitration lost */
- #define CAN_TSTR_MTE2 ((uint32_t)0x00080000) /*!< Mailbox 2 transmit error */
- #define CAN_TSTR_MST2 ((uint32_t)0x00800000) /*!< Mailbox 2 stop transmitting */
- #define CAN_TSTR_NUM ((uint32_t)0x03000000) /*!< Mailbox number */
- #define CAN_TSTR_TME ((uint32_t)0x1C000000) /*!< TME[2:0] bits */
- #define CAN_TSTR_TME0 ((uint32_t)0x04000000) /*!< Transmit mailbox 0 empty */
- #define CAN_TSTR_TME1 ((uint32_t)0x08000000) /*!< Transmit mailbox 1 empty */
- #define CAN_TSTR_TME2 ((uint32_t)0x10000000) /*!< Transmit mailbox 2 empty */
- #define CAN_TSTR_TMLS ((uint32_t)0xE0000000) /*!< TMLS[2:0] bits */
- #define CAN_TSTR_TMLS0 ((uint32_t)0x20000000) /*!< Last sending Priority Flag for Mailbox 0 */
- #define CAN_TSTR_TMLS1 ((uint32_t)0x40000000) /*!< Last sending Priority Flag for Mailbox 1 */
- #define CAN_TSTR_TMLS2 ((uint32_t)0x80000000) /*!< Last sending Priority Flag for Mailbox 2 */
- /******************* Bit definition for CAN_RFR0 register *******************/
- #define CAN_RFR0_RFL0 ((uint8_t)0x03) /*!< Receive FIFO 0 length */
- #define CAN_RFR0_RFF0 ((uint8_t)0x08) /*!< Receive FIFO 0 full */
- #define CAN_RFR0_RFO0 ((uint8_t)0x10) /*!< Receive FIFO 0 overfull */
- #define CAN_RFR0_RFD0 ((uint8_t)0x20) /*!< Receive FIFO 0 dequeue */
- /******************* Bit definition for CAN_RFR1 register *******************/
- #define CAN_RFR1_RFL1 ((uint8_t)0x03) /*!< Receive FIFO 1 length */
- #define CAN_RFR1_RFF1 ((uint8_t)0x08) /*!< Receive FIFO 1 full */
- #define CAN_RFR1_RFO1 ((uint8_t)0x10) /*!< Receive FIFO 1 overfull */
- #define CAN_RFR1_RFD1 ((uint8_t)0x20) /*!< Receive FIFO 1 dequeue */
- /******************** Bit definition for CAN_IER register *******************/
- #define CAN_IER_TMEIE ((uint32_t)0x00000001) /*!< Transmit mailbox empty interrupt enable */
- #define CAN_IER_RFNEIE0 ((uint32_t)0x00000002) /*!< Receive FIFO0 not empty interrupt enable */
- #define CAN_IER_RFFIE0 ((uint32_t)0x00000004) /*!< Receive FIFO0 full interrupt enable */
- #define CAN_IER_RFOIE0 ((uint32_t)0x00000008) /*!< Receive FIFO0 overfull interrupt enable */
- #define CAN_IER_RFNEIE1 ((uint32_t)0x00000010) /*!< Receive FIFO1 not empty interrupt enable */
- #define CAN_IER_RFFIE1 ((uint32_t)0x00000020) /*!< Receive FIFO1 full interrupt enable */
- #define CAN_IER_RFOIE1 ((uint32_t)0x00000040) /*!< Receive FIFO1 overfull interrupt enable */
- #define CAN_IER_WEIE ((uint32_t)0x00000100) /*!< Warning error interrupt enable */
- #define CAN_IER_PEIE ((uint32_t)0x00000200) /*!< Passive error interrupt enable */
- #define CAN_IER_BOIE ((uint32_t)0x00000400) /*!< Bus-off interrupt enable */
- #define CAN_IER_ENIE ((uint32_t)0x00000800) /*!< Error number interrupt enable */
- #define CAN_IER_EIE ((uint32_t)0x00008000) /*!< Error Interrupt enable */
- #define CAN_IER_WIE ((uint32_t)0x00010000) /*!< Wakeup Interrupt enable */
- #define CAN_IER_SWIE ((uint32_t)0x00020000) /*!< Sleep working interrupt enable */
- /******************** Bit definition for CAN_ER register *******************/
- #define CAN_ER_WE ((uint32_t)0x00000001) /*!< Warning error */
- #define CAN_ER_PE ((uint32_t)0x00000002) /*!< Passive error */
- #define CAN_ER_BOE ((uint32_t)0x00000004) /*!< Bus-off error */
- #define CAN_ER_ET ((uint32_t)0x00000070) /*!< ET[2:0] bits (Error type) */
- #define CAN_ER_ET_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define CAN_ER_ET_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define CAN_ER_ET_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define CAN_ER_TEC ((uint32_t)0x00FF0000) /*!< Transmit Error Count */
- #define CAN_ER_REC ((uint32_t)0xFF000000) /*!< Receive Error Count */
- /******************* Bit definition for CAN_BTR register ********************/
- #define CAN_BTR_BRP ((uint32_t)0x000003FF) /*!< Baud rate prescaler */
- #define CAN_BTR_BS1 ((uint32_t)0x000F0000) /*!< Bit Segment 1 */
- #define CAN_BTR_BS2 ((uint32_t)0x00700000) /*!< Bit Segment 2 */
- #define CAN_BTR_SJW ((uint32_t)0x03000000) /*!< Resynchronization jump width */
- #define CAN_BTR_LCM ((uint32_t)0x40000000) /*!< Loopback communication mode */
- #define CAN_BTR_SCM ((uint32_t)0x80000000) /*!< Silent communication mode */
- /*!< Mailbox registers */
- /****************** Bit definition for CAN_TMIR0 register ********************/
- #define CAN_TMIR0_TE ((uint32_t)0x00000001) /*!< Transmit enable */
- #define CAN_TMIR0_FT ((uint32_t)0x00000002) /*!< Frame type */
- #define CAN_TMIR0_FF ((uint32_t)0x00000004) /*!< Frame format */
- #define CAN_TMIR0_EFID ((uint32_t)0x001FFFF8) /*!< The frame identifier */
- #define CAN_TMIR0_SFID ((uint32_t)0xFFE00000) /*!< The frame identifier */
- /****************** Bit definition for CAN_TMPR0 register *******************/
- #define CAN_TMPR0_DLC ((uint32_t)0x0000000F) /*!< Data length code */
- #define CAN_TMPR0_TSE ((uint32_t)0x00000100) /*!< Time stamp enable */
- #define CAN_TMPR0_TS ((uint32_t)0xFFFF0000) /*!< Time stamp */
- /****************** Bit definition for CAN_TMD0R0 register *******************/
- #define CAN_TMD0R0_DB0 ((uint32_t)0x000000FF) /*!< Data byte 0 */
- #define CAN_TMD0R0_DB1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */
- #define CAN_TMD0R0_DB2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */
- #define CAN_TMD0R0_DB3 ((uint32_t)0xFF000000) /*!< Data byte 3 */
- /****************** Bit for CAN_TMD1R0 register *******************/
- #define CAN_TMD1R0_DB4 ((uint32_t)0x000000FF) /*!< Data byte 4 */
- #define CAN_TMD1R0_DB5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */
- #define CAN_TMD1R0_DB6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */
- #define CAN_TMD1R0_DB7 ((uint32_t)0xFF000000) /*!< Data byte 7 */
- /****************** Bit definition for CAN_TMIR1 register ********************/
- #define CAN_TMIR1_TE ((uint32_t)0x00000001) /*!< Transmit enable */
- #define CAN_TMIR1_FT ((uint32_t)0x00000002) /*!< Frame type */
- #define CAN_TMIR1_FF ((uint32_t)0x00000004) /*!< Frame format */
- #define CAN_TMIR1_EFID ((uint32_t)0x001FFFF8) /*!< The frame identifier */
- #define CAN_TMIR1_SFID ((uint32_t)0xFFE00000) /*!< The frame identifier */
- /****************** Bit definition for CAN_TMPR1 register *******************/
- #define CAN_TMPR1_DLC ((uint32_t)0x0000000F) /*!< Data length code */
- #define CAN_TMPR1_TSE ((uint32_t)0x00000100) /*!< Time stamp enable */
- #define CAN_TMPR1_TS ((uint32_t)0xFFFF0000) /*!< Time stamp */
- /****************** Bit definition for CAN_TMD0R1 register *******************/
- #define CAN_TMD0R1_DB0 ((uint32_t)0x000000FF) /*!< Data byte 0 */
- #define CAN_TMD0R1_DB1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */
- #define CAN_TMD0R1_DB2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */
- #define CAN_TMD0R1_DB3 ((uint32_t)0xFF000000) /*!< Data byte 3 */
- /****************** Bit definition for CAN_TMD1R1 register *******************/
- #define CAN_TMD1R1_DB4 ((uint32_t)0x000000FF) /*!< Data byte 4 */
- #define CAN_TMD1R1_DB5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */
- #define CAN_TMD1R1_DB6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */
- #define CAN_TMD1R1_DB7 ((uint32_t)0xFF000000) /*!< Data byte 7 */
- /****************** Bit definition for CAN_TMIR2 register ********************/
- #define CAN_TMIR2_TE ((uint32_t)0x00000001) /*!< Transmit enable */
- #define CAN_TMIR2_FT ((uint32_t)0x00000002) /*!< Frame type */
- #define CAN_TMIR2_FF ((uint32_t)0x00000004) /*!< Frame format */
- #define CAN_TMIR2_EFID ((uint32_t)0x001FFFF8) /*!< The frame identifier */
- #define CAN_TMIR2_SFID ((uint32_t)0xFFE00000) /*!< The frame identifier */
- /****************** Bit definition for CAN_TMPR2 register *******************/
- #define CAN_TMPR2_DLC ((uint32_t)0x0000000F) /*!< Data length code */
- #define CAN_TMPR2_TSE ((uint32_t)0x00000100) /*!< Time stamp enable */
- #define CAN_TMPR2_TS ((uint32_t)0xFFFF0000) /*!< Time stamp */
- /****************** Bit definition for CAN_TMD0R2 register *******************/
- #define CAN_TMD0R2_DB0 ((uint32_t)0x000000FF) /*!< Data byte 0 */
- #define CAN_TMD0R2_DB1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */
- #define CAN_TMD0R2_DB2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */
- #define CAN_TMD0R2_DB3 ((uint32_t)0xFF000000) /*!< Data byte 3 */
- /****************** Bit definition for CAN_TMD1R2 register *******************/
- #define CAN_TMD1R2_DB4 ((uint32_t)0x000000FF) /*!< Data byte 4 */
- #define CAN_TMD1R2_DB5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */
- #define CAN_TMD1R2_DB6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */
- #define CAN_TMD1R2_DB7 ((uint32_t)0xFF000000) /*!< Data byte 7 */
- /****************** Bit definition for CAN_RFMIR0 register ********************/
- #define CAN_RFMIR0_FT ((uint32_t)0x00000002) /*!< Frame type */
- #define CAN_RFMIR0_FF ((uint32_t)0x00000004) /*!< Frame format */
- #define CAN_RFMIR0_EFID ((uint32_t)0x001FFFF8) /*!< The frame identifier */
- #define CAN_RFMIR0_SFID ((uint32_t)0xFFE00000) /*!< The frame identifier */
- /****************** Bit definition for CAN_RFMPR0 register *******************/
- #define CAN_RFMPR0_DLC ((uint32_t)0x0000000F) /*!< Data length code */
- #define CAN_RFMPR0_TSE ((uint32_t)0x00000100) /*!< Time stamp enable */
- #define CAN_RFMPR0_TS ((uint32_t)0xFFFF0000) /*!< Time stamp */
- /****************** Bit definition for CAN_RFMD0R0 register *******************/
- #define CAN_RFMD0R0_DB0 ((uint32_t)0x000000FF) /*!< Data byte 0 */
- #define CAN_RFMD0R0_DB1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */
- #define CAN_RFMD0R0_DB2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */
- #define CAN_RFMD0R0_DB3 ((uint32_t)0xFF000000) /*!< Data byte 3 */
- /****************** Bit definition for CAN_RFMD1R0 register *******************/
- #define CAN_RFMD1R0_DB4 ((uint32_t)0x000000FF) /*!< Data byte 4 */
- #define CAN_RFMD1R0_DB5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */
- #define CAN_RFMD1R0_DB6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */
- #define CAN_RFMD1R0_DB7 ((uint32_t)0xFF000000) /*!< Data byte 7 */
- /****************** Bit definition for CAN_RFMIR1 register ********************/
- #define CAN_RFMIR1_FT ((uint32_t)0x00000002) /*!< Frame type */
- #define CAN_RFMIR1_FF ((uint32_t)0x00000004) /*!< Frame format */
- #define CAN_RFMIR1_EFID ((uint32_t)0x001FFFF8) /*!< The frame identifier */
- #define CAN_RFMIR1_SFID ((uint32_t)0xFFE00000) /*!< The frame identifier */
- /****************** Bit definition for CAN_RFMPR1 register *******************/
- #define CAN_RFMPR1_DLC ((uint32_t)0x0000000F) /*!< Data length code */
- #define CAN_RFMPR1_TSE ((uint32_t)0x00000100) /*!< Time stamp enable */
- #define CAN_RFMPR1_TS ((uint32_t)0xFFFF0000) /*!< Time stamp */
- /****************** Bit definition for CAN_RFMD0R1 register *******************/
- #define CAN_RFMD0R1_DB0 ((uint32_t)0x000000FF) /*!< Data byte 0 */
- #define CAN_RFMD0R1_DB1 ((uint32_t)0x0000FF00) /*!< Data byte 1 */
- #define CAN_RFMD0R1_DB2 ((uint32_t)0x00FF0000) /*!< Data byte 2 */
- #define CAN_RFMD0R1_DB3 ((uint32_t)0xFF000000) /*!< Data byte 3 */
- /****************** Bit definition for CAN_RFMD1R1 register *******************/
- #define CAN_RFMD1R1_DB4 ((uint32_t)0x000000FF) /*!< Data byte 4 */
- #define CAN_RFMD1R1_DB5 ((uint32_t)0x0000FF00) /*!< Data byte 5 */
- #define CAN_RFMD1R1_DB6 ((uint32_t)0x00FF0000) /*!< Data byte 6 */
- #define CAN_RFMD1R1_DB7 ((uint32_t)0xFF000000) /*!< Data byte 7 */
- /*!< CAN filter registers */
- /******************* Bit definition for CAN_FCTLR register ********************/
- #define CAN_FCTLR_FLD ((uint8_t)0x00000001) /*!< Filter lock disable */
- #ifdef GD32F10X_CL
- #define CAN_FCTLR_HBC2F ((uint32_t)0x003F0000) /*!< Header bank of CAN2 filter */
- #endif /* GD32F10X_CL */
- /******************* Bit definition for CAN_FMR register *******************/
- #define CAN_FMR_FM ((uint32_t)0x0FFFFFFF) /*!< Filter Mode */
- #define CAN_FMR_FM0 ((uint32_t)0x00000001) /*!< Filter Init Mode bit 0 */
- #define CAN_FMR_FM1 ((uint32_t)0x00000002) /*!< Filter Init Mode bit 1 */
- #define CAN_FMR_FM2 ((uint32_t)0x00000004) /*!< Filter Init Mode bit 2 */
- #define CAN_FMR_FM3 ((uint32_t)0x00000008) /*!< Filter Init Mode bit 3 */
- #define CAN_FMR_FM4 ((uint32_t)0x00000010) /*!< Filter Init Mode bit 4 */
- #define CAN_FMR_FM5 ((uint32_t)0x00000020) /*!< Filter Init Mode bit 5 */
- #define CAN_FMR_FM6 ((uint32_t)0x00000040) /*!< Filter Init Mode bit 6 */
- #define CAN_FMR_FM7 ((uint32_t)0x00000080) /*!< Filter Init Mode bit 7 */
- #define CAN_FMR_FM8 ((uint32_t)0x00000100) /*!< Filter Init Mode bit 8 */
- #define CAN_FMR_FM9 ((uint32_t)0x00000200) /*!< Filter Init Mode bit 9 */
- #define CAN_FMR_FM10 ((uint32_t)0x00000400) /*!< Filter Init Mode bit 10 */
- #define CAN_FMR_FM11 ((uint32_t)0x00000800) /*!< Filter Init Mode bit 11 */
- #define CAN_FMR_FM12 ((uint32_t)0x00001000) /*!< Filter Init Mode bit 12 */
- #define CAN_FMR_FM13 ((uint32_t)0x00002000) /*!< Filter Init Mode bit 13 */
- #define CAN_FMR_FM14 ((uint32_t)0x00004000) /*!< Filter Init Mode bit 14 */
- #define CAN_FMR_FM15 ((uint32_t)0x00008000) /*!< Filter Init Mode bit 15 */
- #define CAN_FMR_FM16 ((uint32_t)0x00010000) /*!< Filter Init Mode bit 16 */
- #define CAN_FMR_FM17 ((uint32_t)0x00020000) /*!< Filter Init Mode bit 17 */
- #define CAN_FMR_FM18 ((uint32_t)0x00040000) /*!< Filter Init Mode bit 18 */
- #define CAN_FMR_FM19 ((uint32_t)0x00080000) /*!< Filter Init Mode bit 19 */
- #define CAN_FMR_FM20 ((uint32_t)0x00100000) /*!< Filter Init Mode bit 20 */
- #define CAN_FMR_FM21 ((uint32_t)0x00200000) /*!< Filter Init Mode bit 21 */
- #define CAN_FMR_FM22 ((uint32_t)0x00400000) /*!< Filter Init Mode bit 22 */
- #define CAN_FMR_FM23 ((uint32_t)0x00800000) /*!< Filter Init Mode bit 23 */
- #define CAN_FMR_FM24 ((uint32_t)0x01000000) /*!< Filter Init Mode bit 24 */
- #define CAN_FMR_FM25 ((uint32_t)0x02000000) /*!< Filter Init Mode bit 25 */
- #define CAN_FMR_FM26 ((uint32_t)0x04000000) /*!< Filter Init Mode bit 26 */
- #define CAN_FMR_FM27 ((uint32_t)0x08000000) /*!< Filter Init Mode bit 27 */
- /******************* Bit definition for CAN_FSR register *******************/
- #define CAN_FSR_FS ((uint32_t)0x0FFFFFFF) /*!< Filter Scale */
- #define CAN_FSR_FS0 ((uint32_t)0x00000001) /*!< Filter Scale bit 0 */
- #define CAN_FSR_FS1 ((uint32_t)0x00000002) /*!< Filter Scale bit 1 */
- #define CAN_FSR_FS2 ((uint32_t)0x00000004) /*!< Filter Scale bit 2 */
- #define CAN_FSR_FS3 ((uint32_t)0x00000008) /*!< Filter Scale bit 3 */
- #define CAN_FSR_FS4 ((uint32_t)0x00000010) /*!< Filter Scale bit 4 */
- #define CAN_FSR_FS5 ((uint32_t)0x00000020) /*!< Filter Scale bit 5 */
- #define CAN_FSR_FS6 ((uint32_t)0x00000040) /*!< Filter Scale bit 6 */
- #define CAN_FSR_FS7 ((uint32_t)0x00000080) /*!< Filter Scale bit 7 */
- #define CAN_FSR_FS8 ((uint32_t)0x00000100) /*!< Filter Scale bit 8 */
- #define CAN_FSR_FS9 ((uint32_t)0x00000200) /*!< Filter Scale bit 9 */
- #define CAN_FSR_FS10 ((uint32_t)0x00000400) /*!< Filter Scale bit 10 */
- #define CAN_FSR_FS11 ((uint32_t)0x00000800) /*!< Filter Scale bit 11 */
- #define CAN_FSR_FS12 ((uint32_t)0x00001000) /*!< Filter Scale bit 12 */
- #define CAN_FSR_FS13 ((uint32_t)0x00002000) /*!< Filter Scale bit 13 */
- #define CAN_FSR_FS14 ((uint32_t)0x00004000) /*!< Filter Scale bit 14 */
- #define CAN_FSR_FS15 ((uint32_t)0x00008000) /*!< Filter Scale bit 15 */
- #define CAN_FSR_FS16 ((uint32_t)0x00010000) /*!< Filter Scale bit 16 */
- #define CAN_FSR_FS17 ((uint32_t)0x00020000) /*!< Filter Scale bit 17 */
- #define CAN_FSR_FS18 ((uint32_t)0x00040000) /*!< Filter Scale bit 18 */
- #define CAN_FSR_FS19 ((uint32_t)0x00080000) /*!< Filter Scale bit 19 */
- #define CAN_FSR_FS20 ((uint32_t)0x00100000) /*!< Filter Scale bit 20 */
- #define CAN_FSR_FS21 ((uint32_t)0x00200000) /*!< Filter Scale bit 21 */
- #define CAN_FSR_FS22 ((uint32_t)0x00400000) /*!< Filter Scale bit 22 */
- #define CAN_FSR_FS23 ((uint32_t)0x00800000) /*!< Filter Scale bit 23*/
- #define CAN_FSR_FS24 ((uint32_t)0x01000000) /*!< Filter Scale bit 24 */
- #define CAN_FSR_FS25 ((uint32_t)0x02000000) /*!< Filter Scale bit 25 */
- #define CAN_FSR_FS26 ((uint32_t)0x04000000) /*!< Filter Scale bit 26 */
- #define CAN_FSR_FS27 ((uint32_t)0x08000000) /*!< Filter Scale bit 27 */
- /****************** Bit definition for CAN_FAFR register *******************/
- #define CAN_FAFR_FAF ((uint32_t)0x0FFFFFFF) /*!< Filter associated with FIFO */
- #define CAN_FAFR_FAF0 ((uint32_t)0x00000001) /*!< Filter 0 associated with FIFO */
- #define CAN_FAFR_FAF1 ((uint32_t)0x00000002) /*!< Filter 1 associated with FIFO */
- #define CAN_FAFR_FAF2 ((uint32_t)0x00000004) /*!< Filter 2 associated with FIFO */
- #define CAN_FAFR_FAF3 ((uint32_t)0x00000008) /*!< Filter 3 associated with FIFO */
- #define CAN_FAFR_FAF4 ((uint32_t)0x00000010) /*!< Filter 4 associated with FIFO */
- #define CAN_FAFR_FAF5 ((uint32_t)0x00000020) /*!< Filter 5 associated with FIFO */
- #define CAN_FAFR_FAF6 ((uint32_t)0x00000040) /*!< Filter 6 associated with FIFO */
- #define CAN_FAFR_FAF7 ((uint32_t)0x00000080) /*!< Filter 7 associated with FIFO */
- #define CAN_FAFR_FAF8 ((uint32_t)0x00000100) /*!< Filter 8 associated with FIFO */
- #define CAN_FAFR_FAF9 ((uint32_t)0x00000200) /*!< Filter 9 associated with FIFO */
- #define CAN_FAFR_FAF10 ((uint32_t)0x00000400) /*!< Filter 10 associated with FIFO */
- #define CAN_FAFR_FAF11 ((uint32_t)0x00000800) /*!< Filter 11 associated with FIFO */
- #define CAN_FAFR_FAF12 ((uint32_t)0x00001000) /*!< Filter 12 associated with FIFO */
- #define CAN_FAFR_FAF13 ((uint32_t)0x00002000) /*!< Filter 13 associated with FIFO */
- #define CAN_FAFR_FAF14 ((uint32_t)0x00004000) /*!< Filter 14 associated with FIFO */
- #define CAN_FAFR_FAF15 ((uint32_t)0x00008000) /*!< Filter 15 associated with FIFO */
- #define CAN_FAFR_FAF16 ((uint32_t)0x00010000) /*!< Filter 16 associated with FIFO */
- #define CAN_FAFR_FAF17 ((uint32_t)0x00020000) /*!< Filter 17 associated with FIFO */
- #define CAN_FAFR_FAF18 ((uint32_t)0x00040000) /*!< Filter 18 associated with FIFO */
- #define CAN_FAFR_FAF19 ((uint32_t)0x00080000) /*!< Filter 19 associated with FIFO */
- #define CAN_FAFR_FAF20 ((uint32_t)0x00100000) /*!< Filter 20 associated with FIFO */
- #define CAN_FAFR_FAF21 ((uint32_t)0x00200000) /*!< Filter 21 associated with FIFO */
- #define CAN_FAFR_FAF22 ((uint32_t)0x00400000) /*!< Filter 22 associated with FIFO */
- #define CAN_FAFR_FAF23 ((uint32_t)0x00800000) /*!< Filter 23 associated with FIFO */
- #define CAN_FAFR_FAF24 ((uint32_t)0x01000000) /*!< Filter 24 associated with FIFO */
- #define CAN_FAFR_FAF25 ((uint32_t)0x02000000) /*!< Filter 25 associated with FIFO */
- #define CAN_FAFR_FAF26 ((uint32_t)0x04000000) /*!< Filter 26 associated with FIFO */
- #define CAN_FAFR_FAF27 ((uint32_t)0x08000000) /*!< Filter 27 associated with FIFO */
- /******************* Bit definition for CAN_FWR register *******************/
- #define CAN_FWR_FW ((uint32_t)0x0FFFFFFF) /*!< Filter working */
- #define CAN_FWR_FW0 ((uint32_t)0x00000001) /*!< Filter 0 working */
- #define CAN_FWR_FW1 ((uint32_t)0x00000002) /*!< Filter 1 working */
- #define CAN_FWR_FW2 ((uint32_t)0x00000004) /*!< Filter 2 working */
- #define CAN_FWR_FW3 ((uint32_t)0x00000008) /*!< Filter 3 working */
- #define CAN_FWR_FW4 ((uint32_t)0x00000010) /*!< Filter 4 working */
- #define CAN_FWR_FW5 ((uint32_t)0x00000020) /*!< Filter 5 working */
- #define CAN_FWR_FW6 ((uint32_t)0x00000040) /*!< Filter 6 working */
- #define CAN_FWR_FW7 ((uint32_t)0x00000080) /*!< Filter 7 working */
- #define CAN_FWR_FW8 ((uint32_t)0x00000100) /*!< Filter 8 working */
- #define CAN_FWR_FW9 ((uint32_t)0x00000200) /*!< Filter 9 working */
- #define CAN_FWR_FW10 ((uint32_t)0x00000400) /*!< Filter 10 working */
- #define CAN_FWR_FW11 ((uint32_t)0x00000800) /*!< Filter 11 working */
- #define CAN_FWR_FW12 ((uint32_t)0x00001000) /*!< Filter 12 working */
- #define CAN_FWR_FW13 ((uint32_t)0x00002000) /*!< Filter 13 working */
- #define CAN_FWR_FW14 ((uint32_t)0x00004000) /*!< Filter 14 working */
- #define CAN_FWR_FW15 ((uint32_t)0x00008000) /*!< Filter 15 working */
- #define CAN_FWR_FW16 ((uint32_t)0x00010000) /*!< Filter 16 working */
- #define CAN_FWR_FW17 ((uint32_t)0x00020000) /*!< Filter 17 working */
- #define CAN_FWR_FW18 ((uint32_t)0x00040000) /*!< Filter 18 working */
- #define CAN_FWR_FW19 ((uint32_t)0x00080000) /*!< Filter 19 working */
- #define CAN_FWR_FW20 ((uint32_t)0x00100000) /*!< Filter 20 working */
- #define CAN_FWR_FW21 ((uint32_t)0x00200000) /*!< Filter 21 working */
- #define CAN_FWR_FW22 ((uint32_t)0x00400000) /*!< Filter 22 working */
- #define CAN_FWR_FW23 ((uint32_t)0x00800000) /*!< Filter 23 working */
- #define CAN_FWR_FW24 ((uint32_t)0x01000000) /*!< Filter 24 working */
- #define CAN_FWR_FW25 ((uint32_t)0x02000000) /*!< Filter 25 working */
- #define CAN_FWR_FW26 ((uint32_t)0x04000000) /*!< Filter 26 working */
- #define CAN_FWR_FW27 ((uint32_t)0x08000000) /*!< Filter 27 working */
- /******************* Bit definition for CAN_F0D0R register *******************/
- #define CAN_F0D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F0D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F0D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F0D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F0D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F0D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F0D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F0D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F0D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F0D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F0D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F0D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F0D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F0D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F0D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F0D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F0D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F0D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F0D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F0D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F0D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F0D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F0D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F0D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F0D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F0D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F0D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F0D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F0D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F0D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F0D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F0D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F1D0R register *******************/
- #define CAN_F1D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F1D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F1D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F1D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F1D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F1D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F1D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F1D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F1D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F1D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F1D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F1D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F1D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F1D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F1D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F1D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F1D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F1D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F1D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F1D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F1D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F1D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F1D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F1D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F1D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F1D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F1D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F1D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F1D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F1D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F1D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F1D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F2D0R register *******************/
- #define CAN_F2D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F2D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F2D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F2D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F2D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F2D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F2D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F2D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F2D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F2D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F2D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F2D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F2D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F2D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F2D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F2D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F2D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F2D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F2D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F2D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F2D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F2D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F2D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F2D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F2D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F2D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F2D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F2D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F2D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F2D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F2D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F2D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F3D0R register *******************/
- #define CAN_F3D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F3D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F3D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F3D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F3D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F3D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F3D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F3D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F3D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F3D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F3D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F3D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F3D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F3D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F3D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F3D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F3D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F3D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F3D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F3D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F3D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F3D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F3D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F3D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F3D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F3D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F3D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F3D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F3D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F3D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F3D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F3D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F4D0R register *******************/
- #define CAN_F4D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F4D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F4D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F4D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F4D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F4D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F4D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F4D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F4D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F4D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F4D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F4D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F4D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F4D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F4D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F4D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F4D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F4D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F4D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F4D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F4D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F4D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F4D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F4D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F4D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F4D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F4D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F4D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F4D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F4D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F4D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F4D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F5D0R register *******************/
- #define CAN_F5D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F5D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F5D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F5D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F5D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F5D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F5D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F5D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F5D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F5D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F5D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F5D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F5D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F5D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F5D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F5D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F5D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F5D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F5D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F5D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F5D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F5D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F5D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F5D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F5D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F5D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F5D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F5D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F5D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F5D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F5D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F5D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F6D0R register *******************/
- #define CAN_F6D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F6D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F6D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F6D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F6D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F6D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F6D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F6D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F6D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F6D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F6D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F6D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F6D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F6D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F6D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F6D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F6D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F6D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F6D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F6D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F6D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F6D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F6D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F6D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F6D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F6D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F6D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F6D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F6D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F6D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F6D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F6D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F7D0R register *******************/
- #define CAN_F7D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F7D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F7D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F7D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F7D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F7D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F7D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F7D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F7D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F7D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F7D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F7D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F7D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F7D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F7D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F7D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F7D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F7D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F7D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F7D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F7D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F7D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F7D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F7D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F7D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F7D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F7D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F7D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F7D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F7D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F7D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F7D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F8D0R register *******************/
- #define CAN_F8D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F8D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F8D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F8D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F8D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F8D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F8D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F8D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F8D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F8D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F8D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F8D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F8D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F8D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F8D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F8D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F8D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F8D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F8D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F8D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F8D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F8D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F8D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F8D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F8D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F8D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F8D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F8D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F8D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F8D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F8D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F8D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F9D0R register *******************/
- #define CAN_F9D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F9D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F9D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F9D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F9D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F9D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F9D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F9D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F9D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F9D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F9D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F9D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F9D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F9D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F9D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F9D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F9D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F9D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F9D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F9D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F9D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F9D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F9D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F9D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F9D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F9D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F9D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F9D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F9D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F9D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F9D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F9D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F10D0R register ******************/
- #define CAN_F10D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F10D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F10D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F10D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F10D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F10D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F10D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F10D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F10D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F10D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F10D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F10D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F10D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F10D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F10D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F10D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F10D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F10D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F10D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F10D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F10D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F10D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F10D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F10D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F10D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F10D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F10D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F10D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F10D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F10D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F10D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F10D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F11D0R register ******************/
- #define CAN_F11D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F11D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F11D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F11D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F11D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F11D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F11D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F11D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F11D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F11D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F11D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F11D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F11D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F11D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F11D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F11D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F11D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F11D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F11D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F11D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F11D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F11D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F11D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F11D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F11D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F11D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F11D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F11D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F11D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F11D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F11D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F11D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F12D0R register ******************/
- #define CAN_F12D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F12D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F12D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F12D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F12D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F12D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F12D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F12D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F12D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F12D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F12D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F12D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F12D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F12D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F12D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F12D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F12D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F12D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F12D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F12D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F12D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F12D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F12D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F12D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F12D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F12D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F12D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F12D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F12D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F12D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F12D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F12D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F13D0R register ******************/
- #define CAN_F13D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F13D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F13D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F13D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F13D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F13D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F13D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F13D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F13D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F13D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F13D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F13D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F13D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F13D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F13D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F13D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F13D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F13D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F13D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F13D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F13D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F13D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F13D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F13D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F13D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F13D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F13D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F13D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F13D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F13D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F13D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F13D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F14D0R register ******************/
- #define CAN_F14D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F14D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F14D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F14D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F14D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F14D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F14D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F14D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F14D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F14D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F14D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F14D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F14D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F14D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F14D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F14D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F14D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F14D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F14D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F14D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F14D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F14D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F14D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F14D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F14D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F14D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F14D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F14D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F14D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F14D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F14D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F14D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F15D0R register ******************/
- #define CAN_F15D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F15D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F15D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F15D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F15D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F15D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F15D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F15D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F15D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F15D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F15D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F15D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F15D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F15D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F15D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F15D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F15D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F15D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F15D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F15D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F15D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F15D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F15D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F15D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F15D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F15D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F15D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F15D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F15D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F15D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F15D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F15D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F16D0R register ******************/
- #define CAN_F16D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F16D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F16D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F16D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F16D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F16D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F16D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F16D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F16D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F16D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F16D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F16D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F16D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F16D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F16D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F16D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F16D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F16D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F16D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F16D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F16D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F16D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F16D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F16D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F16D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F16D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F16D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F16D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F16D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F16D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F16D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F16D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F17D0R register ******************/
- #define CAN_F17D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F17D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F17D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F17D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F17D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F17D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F17D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F17D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F17D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F17D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F17D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F17D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F17D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F17D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F17D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F17D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F17D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F17D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F17D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F17D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F17D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F17D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F17D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F17D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F17D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F17D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F17D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F17D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F17D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F17D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F17D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F17D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F18D0R register ******************/
- #define CAN_F18D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F18D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F18D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F18D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F18D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F18D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F18D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F18D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F18D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F18D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F18D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F18D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F18D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F18D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F18D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F18D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F18D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F18D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F18D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F18D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F18D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F18D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F18D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F18D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F18D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F18D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F18D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F18D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F18D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F18D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F18D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F18D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F19D0R register ******************/
- #define CAN_F19D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F19D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F19D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F19D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F19D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F19D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F19D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F19D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F19D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F19D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F19D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F19D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F19D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F19D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F19D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F19D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F19D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F19D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F19D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F19D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F19D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F19D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F19D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F19D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F19D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F19D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F19D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F19D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F19D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F19D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F19D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F19D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F20D0R register ******************/
- #define CAN_F20D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F20D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F20D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F20D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F20D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F20D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F20D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F20D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F20D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F20D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F20D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F20D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F20D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F20D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F20D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F20D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F20D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F20D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F20D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F20D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F20D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F20D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F20D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F20D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F20D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F20D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F20D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F20D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F20D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F20D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F20D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F20D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F21D0R register ******************/
- #define CAN_F21D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F21D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F21D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F21D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F21D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F21D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F21D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F21D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F21D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F21D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F21D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F21D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F21D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F21D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F21D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F21D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F21D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F21D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F21D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F21D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F21D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F21D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F21D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F21D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F21D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F21D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F21D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F21D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F21D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F21D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F21D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F21D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F22D0R register ******************/
- #define CAN_F22D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F22D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F22D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F22D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F22D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F22D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F22D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F22D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F22D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F22D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F22D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F22D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F22D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F22D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F22D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F22D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F22D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F22D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F22D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F22D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F22D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F22D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F22D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F22D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F22D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F22D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F22D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F22D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F22D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F22D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F22D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F22D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F23D0R register ******************/
- #define CAN_F23D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F23D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F23D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F23D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F23D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F23D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F23D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F23D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F23D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F23D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F23D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F23D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F23D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F23D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F23D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F23D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F23D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F23D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F23D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F23D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F23D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F23D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F23D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F23D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F23D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F23D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F23D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F23D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F23D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F23D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F23D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F23D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F24D0R register ******************/
- #define CAN_F24D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F24D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F24D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F24D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F24D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F24D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F24D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F24D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F24D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F24D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F24D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F24D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F24D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F24D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F24D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F24D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F24D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F24D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F24D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F24D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F24D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F24D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F24D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F24D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F24D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F24D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F24D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F24D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F24D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F24D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F24D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F24D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F25D0R register ******************/
- #define CAN_F25D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F25D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F25D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F25D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F25D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F25D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F25D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F25D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F25D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F25D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F25D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F25D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F25D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F25D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F25D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F25D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F25D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F25D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F25D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F25D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F25D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F25D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F25D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F25D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F25D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F25D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F25D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F25D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F25D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F25D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F25D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F25D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F26D0R register ******************/
- #define CAN_F26D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F26D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F26D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F26D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F26D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F26D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F26D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F26D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F26D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F26D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F26D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F26D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F26D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F26D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F26D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F26D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F26D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F26D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F26D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F26D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F26D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F26D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F26D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F26D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F26D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F26D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F26D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F26D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F26D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F26D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F26D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F26D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F27D0R register ******************/
- #define CAN_F27D0R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F27D0R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F27D0R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F27D0R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F27D0R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F27D0R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F27D0R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F27D0R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F27D0R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F27D0R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F27D0R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F27D0R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F27D0R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F27D0R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F27D0R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F27D0R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F27D0R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F27D0R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F27D0R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F27D0R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F27D0R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F27D0R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F27D0R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F27D0R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F27D0R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F27D0R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F27D0R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F27D0R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F27D0R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F27D0R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F27D0R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F27D0R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F0D1R register *******************/
- #define CAN_F0D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F0D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F0D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F0D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F0D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F0D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F0D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F0D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F0D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F0D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F0D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F0D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F0D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F0D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F0D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F0D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F0D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F0D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F0D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F0D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F0D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F0D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F0D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F0D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F0D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F0D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F0D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F0D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F0D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F0D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F0D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F0D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F1D1R register *******************/
- #define CAN_F1D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F1D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F1D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F1D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F1D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F1D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F1D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F1D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F1D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F1D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F1D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F1D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F1D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F1D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F1D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F1D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F1D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F1D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F1D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F1D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F1D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F1D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F1D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F1D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F1D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F1D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F1D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F1D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F1D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F1D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F1D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F1D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F2D1R register *******************/
- #define CAN_F2D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F2D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F2D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F2D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F2D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F2D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F2D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F2D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F2D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F2D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F2D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F2D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F2D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F2D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F2D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F2D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F2D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F2D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F2D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F2D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F2D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F2D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F2D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F2D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F2D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F2D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F2D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F2D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F2D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F2D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F2D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F2D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F3D1R register *******************/
- #define CAN_F3D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F3D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F3D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F3D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F3D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F3D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F3D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F3D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F3D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F3D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F3D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F3D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F3D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F3D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F3D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F3D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F3D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F3D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F3D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F3D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F3D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F3D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F3D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F3D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F3D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F3D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F3D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F3D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F3D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F3D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F3D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F3D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F4D1R register *******************/
- #define CAN_F4D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F4D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F4D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F4D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F4D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F4D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F4D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F4D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F4D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F4D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F4D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F4D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F4D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F4D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F4D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F4D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F4D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F4D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F4D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F4D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F4D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F4D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F4D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F4D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F4D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F4D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F4D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F4D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F4D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F4D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F4D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F4D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F5D1R register *******************/
- #define CAN_F5D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F5D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F5D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F5D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F5D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F5D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F5D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F5D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F5D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F5D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F5D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F5D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F5D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F5D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F5D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F5D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F5D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F5D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F5D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F5D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F5D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F5D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F5D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F5D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F5D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F5D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F5D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F5D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F5D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F5D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F5D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F5D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F6D1R register *******************/
- #define CAN_F6D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F6D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F6D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F6D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F6D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F6D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F6D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F6D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F6D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F6D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F6D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F6D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F6D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F6D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F6D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F6D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F6D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F6D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F6D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F6D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F6D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F6D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F6D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F6D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F6D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F6D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F6D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F6D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F6D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F6D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F6D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F6D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F7D1R register *******************/
- #define CAN_F7D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F7D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F7D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F7D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F7D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F7D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F7D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F7D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F7D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F7D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F7D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F7D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F7D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F7D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F7D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F7D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F7D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F7D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F7D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F7D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F7D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F7D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F7D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F7D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F7D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F7D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F7D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F7D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F7D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F7D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F7D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F7D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F8D1R register *******************/
- #define CAN_F8D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F8D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F8D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F8D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F8D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F8D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F8D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F8D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F8D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F8D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F8D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F8D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F8D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F8D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F8D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F8D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F8D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F8D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F8D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F8D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F8D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F8D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F8D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F8D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F8D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F8D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F8D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F8D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F8D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F8D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F8D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F8D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F9D1R register *******************/
- #define CAN_F9D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F9D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F9D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F9D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F9D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F9D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F9D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F9D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F9D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F9D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F9D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F9D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F9D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F9D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F9D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F9D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F9D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F9D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F9D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F9D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F9D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F9D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F9D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F9D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F9D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F9D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F9D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F9D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F9D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F9D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F9D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F9D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F10D1R register *******************/
- #define CAN_F10D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F10D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F10D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F10D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F10D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F10D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F10D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F10D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F10D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F10D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F10D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F10D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F10D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F10D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F10D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F10D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F10D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F10D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F10D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F10D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F10D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F10D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F10D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F10D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F10D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F10D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F10D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F10D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F10D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F10D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F10D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F10D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F11D1R register *******************/
- #define CAN_F11D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F11D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F11D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F11D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F11D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F11D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F11D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F11D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F11D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F11D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F11D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F11D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F11D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F11D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F11D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F11D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F11D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F11D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F11D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F11D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F11D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F11D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F11D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F11D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F11D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F11D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F11D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F11D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F11D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F11D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F11D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F11D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F12D1R register *******************/
- #define CAN_F12D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F12D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F12D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F12D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F12D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F12D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F12D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F12D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F12D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F12D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F12D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F12D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F12D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F12D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F12D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F12D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F12D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F12D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F12D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F12D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F12D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F12D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F12D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F12D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F12D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F12D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F12D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F12D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F12D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F12D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F12D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F12D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F13D1R register *******************/
- #define CAN_F13D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F13D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F13D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F13D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F13D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F13D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F13D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F13D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F13D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F13D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F13D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F13D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F13D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F13D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F13D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F13D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F13D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F13D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F13D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F13D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F13D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F13D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F13D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F13D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F13D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F13D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F13D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F13D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F13D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F13D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F13D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F13D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F14D1R register *******************/
- #define CAN_F14D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F14D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F14D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F14D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F14D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F14D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F14D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F14D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F14D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F14D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F14D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F14D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F14D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F14D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F14D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F14D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F14D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F14D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F14D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F14D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F14D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F14D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F14D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F14D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F14D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F14D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F14D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F14D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F14D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F14D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F14D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F14D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit for CAN_F15D1R register *******************/
- #define CAN_F15D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F15D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F15D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F15D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F15D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F15D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F15D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F15D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F15D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F15D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F15D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F15D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F15D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F15D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F15D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F15D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F15D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F15D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F15D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F15D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F15D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F15D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F15D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F15D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F15D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F15D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F15D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F15D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F15D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F15D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F15D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F15D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F16D1R register *******************/
- #define CAN_F16D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F16D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F16D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F16D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F16D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F16D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F16D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F16D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F16D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F16D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F16D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F16D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F16D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F16D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F16D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F16D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F16D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F16D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F16D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F16D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F16D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F16D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F16D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F16D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F16D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F16D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F16D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F16D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F16D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F16D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F16D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F16D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F17D1R register *******************/
- #define CAN_F17D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F17D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F17D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F17D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F17D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F17D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F17D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F17D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F17D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F17D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F17D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F17D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F17D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F17D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F17D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F17D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F17D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F17D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F17D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F17D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F17D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F17D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F17D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F17D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F17D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F17D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F17D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F17D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F17D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F17D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F17D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F17D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F18D1R register *******************/
- #define CAN_F18D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F18D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F18D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F18D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F18D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F18D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F18D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F18D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F18D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F18D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F18D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F18D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F18D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F18D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F18D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F18D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F18D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F18D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F18D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F18D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F18D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F18D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F18D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F18D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F18D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F18D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F18D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F18D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F18D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F18D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F18D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F18D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F19D1R register *******************/
- #define CAN_F19D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F19D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F19D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F19D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F19D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F19D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F19D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F19D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F19D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F19D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F19D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F19D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F19D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F19D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F19D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F19D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F19D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F19D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F19D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F19D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F19D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F19D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F19D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F19D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F19D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F19D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F19D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F19D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F19D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F19D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F19D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F19D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F20D1R register *******************/
- #define CAN_F20D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F20D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F20D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F20D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F20D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F20D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F20D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F20D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F20D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F20D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F20D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F20D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F20D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F20D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F20D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F20D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F20D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F20D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F20D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F20D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F20D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F20D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F20D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F20D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F20D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F20D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F20D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F20D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F20D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F20D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F20D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F20D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F21D1R register *******************/
- #define CAN_F21D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F21D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F21D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F21D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F21D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F21D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F21D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F21D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F21D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F21D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F21D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F21D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F21D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F21D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F21D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F21D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F21D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F21D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F21D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F21D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F21D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F21D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F21D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F21D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F21D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F21D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F21D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F21D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F21D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F21D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F21D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F21D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F22D1R register *******************/
- #define CAN_F22D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F22D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F22D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F22D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F22D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F22D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F22D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F22D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F22D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F22D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F22D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F22D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F22D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F22D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F22D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F22D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F22D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F22D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F22D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F22D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F22D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F22D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F22D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F22D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F22D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F22D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F22D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F22D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F22D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F22D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F22D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F22D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F23D1R register *******************/
- #define CAN_F23D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F23D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F23D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F23D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F23D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F23D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F23D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F23D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F23D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F23D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F23D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F23D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F23D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F23D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F23D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F23D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F23D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F23D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F23D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F23D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F23D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F23D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F23D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F23D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F23D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F23D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F23D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F23D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F23D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F23D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F23D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F23D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F24D1R register *******************/
- #define CAN_F24D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F24D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F24D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F24D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F24D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F24D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F24D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F24D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F24D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F24D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F24D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F24D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F24D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F24D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F24D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F24D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F24D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F24D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F24D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F24D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F24D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F24D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F24D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F24D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F24D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F24D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F24D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F24D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F24D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F24D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F24D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F24D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F25D1R register *******************/
- #define CAN_F25D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F25D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F25D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F25D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F25D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F25D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F25D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F25D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F25D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F25D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F25D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F25D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F25D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F25D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F25D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F25D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F25D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F25D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F25D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F25D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F25D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F25D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F25D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F25D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F25D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F25D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F25D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F25D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F25D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F25D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F25D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F25D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F26D1R register *******************/
- #define CAN_F26D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F26D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F26D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F26D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F26D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F26D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F26D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F26D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F26D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F26D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F26D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F26D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F26D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F26D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F26D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F26D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F26D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F26D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F26D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F26D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F26D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F26D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F26D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F26D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F26D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F26D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F26D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F26D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F26D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F26D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F26D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F26D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************* Bit definition for CAN_F27D1R register *******************/
- #define CAN_F27D1R_FD0 ((uint32_t)0x00000001) /*!< Filter bit 0 */
- #define CAN_F27D1R_FD1 ((uint32_t)0x00000002) /*!< Filter bit 1 */
- #define CAN_F27D1R_FD2 ((uint32_t)0x00000004) /*!< Filter bit 2 */
- #define CAN_F27D1R_FD3 ((uint32_t)0x00000008) /*!< Filter bit 3 */
- #define CAN_F27D1R_FD4 ((uint32_t)0x00000010) /*!< Filter bit 4 */
- #define CAN_F27D1R_FD5 ((uint32_t)0x00000020) /*!< Filter bit 5 */
- #define CAN_F27D1R_FD6 ((uint32_t)0x00000040) /*!< Filter bit 6 */
- #define CAN_F27D1R_FD7 ((uint32_t)0x00000080) /*!< Filter bit 7 */
- #define CAN_F27D1R_FD8 ((uint32_t)0x00000100) /*!< Filter bit 8 */
- #define CAN_F27D1R_FD9 ((uint32_t)0x00000200) /*!< Filter bit 9 */
- #define CAN_F27D1R_FD10 ((uint32_t)0x00000400) /*!< Filter bit 10 */
- #define CAN_F27D1R_FD11 ((uint32_t)0x00000800) /*!< Filter bit 11 */
- #define CAN_F27D1R_FD12 ((uint32_t)0x00001000) /*!< Filter bit 12 */
- #define CAN_F27D1R_FD13 ((uint32_t)0x00002000) /*!< Filter bit 13 */
- #define CAN_F27D1R_FD14 ((uint32_t)0x00004000) /*!< Filter bit 14 */
- #define CAN_F27D1R_FD15 ((uint32_t)0x00008000) /*!< Filter bit 15 */
- #define CAN_F27D1R_FD16 ((uint32_t)0x00010000) /*!< Filter bit 16 */
- #define CAN_F27D1R_FD17 ((uint32_t)0x00020000) /*!< Filter bit 17 */
- #define CAN_F27D1R_FD18 ((uint32_t)0x00040000) /*!< Filter bit 18 */
- #define CAN_F27D1R_FD19 ((uint32_t)0x00080000) /*!< Filter bit 19 */
- #define CAN_F27D1R_FD20 ((uint32_t)0x00100000) /*!< Filter bit 20 */
- #define CAN_F27D1R_FD21 ((uint32_t)0x00200000) /*!< Filter bit 21 */
- #define CAN_F27D1R_FD22 ((uint32_t)0x00400000) /*!< Filter bit 22 */
- #define CAN_F27D1R_FD23 ((uint32_t)0x00800000) /*!< Filter bit 23 */
- #define CAN_F27D1R_FD24 ((uint32_t)0x01000000) /*!< Filter bit 24 */
- #define CAN_F27D1R_FD25 ((uint32_t)0x02000000) /*!< Filter bit 25 */
- #define CAN_F27D1R_FD26 ((uint32_t)0x04000000) /*!< Filter bit 26 */
- #define CAN_F27D1R_FD27 ((uint32_t)0x08000000) /*!< Filter bit 27 */
- #define CAN_F27D1R_FD28 ((uint32_t)0x10000000) /*!< Filter bit 28 */
- #define CAN_F27D1R_FD29 ((uint32_t)0x20000000) /*!< Filter bit 29 */
- #define CAN_F27D1R_FD30 ((uint32_t)0x40000000) /*!< Filter bit 30 */
- #define CAN_F27D1R_FD31 ((uint32_t)0x80000000) /*!< Filter bit 31 */
- /******************************************************************************/
- /* */
- /* CRC calculation unit (CRC) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for CRC_DTR register *********************/
- #define CRC_DTR_DATA ((uint32_t)0xFFFFFFFF) /*!< Data register bits */
- /******************* Bit definition for CRC_FDTR register ********************/
- #define CRC_FDTR_FDR ((uint8_t)0xFF) /*!< General-purpose 8-bit data register bits */
- /******************** Bit definition for CRC_CTLR register ********************/
- #define CRC_CTLR_RESET ((uint32_t)0x00000001) /*!< RESET the CRC computation unit bit */
- /******************************************************************************/
- /* */
- /* Digital to Analog Converter (DAC) */
- /* */
- /******************************************************************************/
- /******************** Bit definition for DAC_CTLR register ********************/
- #define DAC_CTLR_DEN1 ((uint32_t)0x00000001) /*!< DAC channel1 enable */
- #define DAC_CTLR_DBOFF1 ((uint32_t)0x00000002) /*!< DAC channel1 output buffer disable */
- #define DAC_CTLR_DTEN1 ((uint32_t)0x00000004) /*!< DAC channel1 Trigger enable */
- #define DAC_CTLR_DTSEL1 ((uint32_t)0x00000038) /*!< TSEL1[2:0] (DAC channel1 Trigger selection) */
- #define DAC_CTLR_DTSEL1_0 ((uint32_t)0x00000008) /*!< Bit 0 */
- #define DAC_CTLR_DTSEL1_1 ((uint32_t)0x00000010) /*!< Bit 1 */
- #define DAC_CTLR_DTSEL1_2 ((uint32_t)0x00000020) /*!< Bit 2 */
- #define DAC_CTLR_DWAVE1 ((uint32_t)0x000000C0) /*!< WAVE1[1:0] (DAC channel1 noise/triangle wave generation enable) */
- #define DAC_CTLR_DWAVE1_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define DAC_CTLR_DWAVE1_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- #define DAC_CTLR_DMAMP1 ((uint32_t)0x00000F00) /*!< MAMP1[3:0] (DAC channel1 Mask/Amplitude selector) */
- #define DAC_CTLR_DMAMP1_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define DAC_CTLR_DMAMP1_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define DAC_CTLR_DMAMP1_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define DAC_CTLR_DMAMP1_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define DAC_CTLR_DDMAEN1 ((uint32_t)0x00001000) /*!< DAC channel1 DMA enable */
- #define DAC_CTLR_DEN2 ((uint32_t)0x00010000) /*!< DAC channel2 enable */
- #define DAC_CTLR_DBOFF2 ((uint32_t)0x00020000) /*!< DAC channel2 output buffer disable */
- #define DAC_CTLR_DTEN2 ((uint32_t)0x00040000) /*!< DAC channel2 Trigger enable */
- #define DAC_CTLR_DTSEL2 ((uint32_t)0x00380000) /*!< TSEL2[2:0] (DAC channel2 Trigger selection) */
- #define DAC_CTLR_DTSEL2_0 ((uint32_t)0x00080000) /*!< Bit 0 */
- #define DAC_CTLR_DTSEL2_1 ((uint32_t)0x00100000) /*!< Bit 1 */
- #define DAC_CTLR_DTSEL2_2 ((uint32_t)0x00200000) /*!< Bit 2 */
- #define DAC_CTLR_DWAVE2 ((uint32_t)0x00C00000) /*!< WAVE2[1:0] (DAC channel2 noise/triangle wave generation enable) */
- #define DAC_CTLR_DWAVE2_0 ((uint32_t)0x00400000) /*!< Bit 0 */
- #define DAC_CTLR_DWAVE2_1 ((uint32_t)0x00800000) /*!< Bit 1 */
- #define DAC_CTLR_DMAMP2 ((uint32_t)0x0F000000) /*!< MAMP2[3:0] (DAC channel2 Mask/Amplitude selector) */
- #define DAC_CTLR_DMAMP2_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define DAC_CTLR_DMAMP2_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define DAC_CTLR_DMAMP2_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define DAC_CTLR_DMAMP2_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define DAC_CTLR_DDMAEN2 ((uint32_t)0x10000000) /*!< DAC channel2 DMA enabled */
- /***************** Bit definition for DAC_SWTR register ******************/
- #define DAC_SWTR_SWTR1 ((uint8_t)0x01) /*!< DAC channel1 software trigger */
- #define DAC_SWTR_SWTR2 ((uint8_t)0x02) /*!< DAC channel2 software trigger */
- /***************** Bit definition for DAC_C1R12DHR register ******************/
- #define DAC_C1R12DHR_DAC_C1DHR ((uint16_t)0x0FFF) /*!< DAC channel1 12-bit Right aligned data */
- /***************** Bit definition for DAC_C1L12DHR register ******************/
- #define DAC_C1L12DHR_DAC_C1DHR ((uint16_t)0xFFF0) /*!< DAC channel1 12-bit Left aligned data */
- /****************** Bit definition for DAC_C1R8DHR register ******************/
- #define DAC_C1R8DHR_DAC_C1DHR ((uint8_t)0xFF) /*!< DAC channel1 8-bit Right aligned data */
- /***************** Bit definition for DAC_C2R12DHR register ******************/
- #define DAC_C2R12DHR_DAC_C2DHR ((uint16_t)0x0FFF) /*!< DAC channel2 12-bit Right aligned data */
- /***************** Bit definition for DAC_C2L12DHR register ******************/
- #define DAC_C2L12DHR_DAC_C2DHR ((uint16_t)0xFFF0) /*!< DAC channel2 12-bit Left aligned data */
- /****************** Bit definition for DAC_C2R8DHR register ******************/
- #define DAC_C2R8DHR_DAC_C2DHR ((uint8_t)0xFF) /*!< DAC channel2 8-bit Right aligned data */
- /***************** Bit definition for DAC_DCR12DHR register ******************/
- #define DAC_DCR12DHR_DAC_C1DHR ((uint32_t)0x00000FFF) /*!< DAC channel1 12-bit Right aligned data */
- #define DAC_DCR12DHR_DAC_C2DHR ((uint32_t)0x0FFF0000) /*!< DAC channel2 12-bit Right aligned data */
- /***************** Bit definition for DAC_DCL12DHR register ******************/
- #define DAC_DCL12DHR_DAC_C1DHR ((uint32_t)0x0000FFF0) /*!< DAC channel1 12-bit Left aligned data */
- #define DAC_DCL12DHR_DAC_C2DHR ((uint32_t)0xFFF00000) /*!< DAC channel2 12-bit Left aligned data */
- /****************** Bit definition for DAC_DCR8DHR register ******************/
- #define DAC_DCR8DHR_DAC_C1DHR ((uint16_t)0x00FF) /*!< DAC channel1 8-bit Right aligned data */
- #define DAC_DCR8DHR_DAC_C2DHR ((uint16_t)0xFF00) /*!< DAC channel2 8-bit Right aligned data */
- /******************* Bit definition for DAC_C1ODR register *******************/
- #define DAC_C1ODR_DAC_ODR1 ((uint16_t)0x0FFF) /*!< DAC channel1 data output */
- /******************* Bit definition for DAC_C2ODR register *******************/
- #define DAC_C2ODR_DAC_ODR2 ((uint16_t)0x0FFF) /*!< DAC channel2 data output */
- /******************************************************************************/
- /* */
- /* Debug MCU (MCUDBG) */
- /* */
- /******************************************************************************/
- /**************** Bit definition for MCUDBG_IDR register *****************/
- #define MCUDBG_IDR_ID_CODE ((uint32_t)0xFFFFFFFF) /*!< Device Identifier */
- /****************** Bit definition for MCUDBG_CTLR register *******************/
- #define MCUDBG_CTLR_SLEEP_HOLD ((uint32_t)0x00000001) /*!< Sleep mode hold register */
- #define MCUDBG_CTLR_DEEPSLEEP_HOLD ((uint32_t)0x00000002) /*!< Deep-sleep mode hold register */
- #define MCUDBG_CTLR_STDBY_HOLD ((uint32_t)0x00000004) /*!< Standby mode hold register */
- #define MCUDBG_CTLR_TRACE_IOEN ((uint32_t)0x00000020) /*!< Trace Pin Allocation Enable */
- #define MCUDBG_CTLR_TRACE_MODE ((uint32_t)0x00000C00) /*!< TRACE_MODE[1:0] bits(Trace Pin Allocation Mode) */
- #define MCUDBG_CTLR_TRACE_MODE_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define MCUDBG_CTLR_TRACE_MODE_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define MCUDBG_CTLR_IWDG_HOLD ((uint32_t)0x00000100) /*!< IWDG hold register */
- #define MCUDBG_CTLR_WWDG_HOLD ((uint32_t)0x00000200) /*!< WWDG hold register */
- #define MCUDBG_CTLR_TM1_HOLD ((uint32_t)0x00000400) /*!< Timer 1 hold register */
- #define MCUDBG_CTLR_TM2_HOLD ((uint32_t)0x00000800) /*!< Timer 2 hold register */
- #define MCUDBG_CTLR_TM3_HOLD ((uint32_t)0x00001000) /*!< Timer 3 hold register */
- #define MCUDBG_CTLR_TM4_HOLD ((uint32_t)0x00002000) /*!< Timer 4 hold register */
- #define MCUDBG_CTLR_CAN1_HOLD ((uint32_t)0x00004000) /*!< CAN 1 hold register */
- #define MCUDBG_CTLR_I2C1_HOLD ((uint32_t)0x00008000) /*!< I2C1 hold register */
- #define MCUDBG_CTLR_I2C2_HOLD ((uint32_t)0x00010000) /*!< I2C2 hold register */
- #define MCUDBG_CTLR_TM5_HOLD ((uint32_t)0x00020000) /*!< Timer 5 hold register */
- #define MCUDBG_CTLR_TM6_HOLD ((uint32_t)0x00040000) /*!< Timer 6 hold register */
- #define MCUDBG_CTLR_TM7_HOLD ((uint32_t)0x00080000) /*!< Timer 7 hold register */
- #define MCUDBG_CTLR_TM8_HOLD ((uint32_t)0x00100000) /*!< Timer 8 hold register */
- #define MCUDBG_CTLR_CAN2_HOLD ((uint32_t)0x00200000) /*!< CAN 2 hold register */
- #define MCUDBG_CTLR_TM12_HOLD ((uint32_t)0x02000000) /*!< Timer 12 hold register */
- #define MCUDBG_CTLR_TM13_HOLD ((uint32_t)0x04000000) /*!< Timer 13 hold register */
- #define MCUDBG_CTLR_TM14_HOLD ((uint32_t)0x08000000) /*!< Timer 14 hold register */
- #define MCUDBG_CTLR_TM9_HOLD ((uint32_t)0x10000000) /*!< Timer 9 hold register */
- #define MCUDBG_CTLR_TM10_HOLD ((uint32_t)0x20000000) /*!< Timer 10 hold register */
- #define MCUDBG_CTLR_TM11_HOLD ((uint32_t)0x40000000) /*!< Timer 11 hold register */
- /******************************************************************************/
- /* */
- /* DMA Controller (DMA) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for DMA_IFR register ********************/
- #define DMA_IFR_GIF1 ((uint32_t)0x00000001) /*!< Channel 1 Global interrupt flag */
- #define DMA_IFR_TCIF1 ((uint32_t)0x00000002) /*!< Channel 1 Transfer Complete flag */
- #define DMA_IFR_HTIF1 ((uint32_t)0x00000004) /*!< Channel 1 Half Transfer flag */
- #define DMA_IFR_ERRIF1 ((uint32_t)0x00000008) /*!< Channel 1 Transfer Error flag */
- #define DMA_IFR_GIF2 ((uint32_t)0x00000010) /*!< Channel 2 Global interrupt flag */
- #define DMA_IFR_TCIF2 ((uint32_t)0x00000020) /*!< Channel 2 Transfer Complete flag */
- #define DMA_IFR_HTIF2 ((uint32_t)0x00000040) /*!< Channel 2 Half Transfer flag */
- #define DMA_IFR_ERRIF2 ((uint32_t)0x00000080) /*!< Channel 2 Transfer Error flag */
- #define DMA_IFR_GIF3 ((uint32_t)0x00000100) /*!< Channel 3 Global interrupt flag */
- #define DMA_IFR_TCIF3 ((uint32_t)0x00000200) /*!< Channel 3 Transfer Complete flag */
- #define DMA_IFR_HTIF3 ((uint32_t)0x00000400) /*!< Channel 3 Half Transfer flag */
- #define DMA_IFR_ERRIF3 ((uint32_t)0x00000800) /*!< Channel 3 Transfer Error flag */
- #define DMA_IFR_GIF4 ((uint32_t)0x00001000) /*!< Channel 4 Global interrupt flag */
- #define DMA_IFR_TCIF4 ((uint32_t)0x00002000) /*!< Channel 4 Transfer Complete flag */
- #define DMA_IFR_HTIF4 ((uint32_t)0x00004000) /*!< Channel 4 Half Transfer flag */
- #define DMA_IFR_ERRIF4 ((uint32_t)0x00008000) /*!< Channel 4 Transfer Error flag */
- #define DMA_IFR_GIF5 ((uint32_t)0x00010000) /*!< Channel 5 Global interrupt flag */
- #define DMA_IFR_TCIF5 ((uint32_t)0x00020000) /*!< Channel 5 Transfer Complete flag */
- #define DMA_IFR_HTIF5 ((uint32_t)0x00040000) /*!< Channel 5 Half Transfer flag */
- #define DMA_IFR_ERRIF5 ((uint32_t)0x00080000) /*!< Channel 5 Transfer Error flag */
- #define DMA_IFR_GIF6 ((uint32_t)0x00100000) /*!< Channel 6 Global interrupt flag */
- #define DMA_IFR_TCIF6 ((uint32_t)0x00200000) /*!< Channel 6 Transfer Complete flag */
- #define DMA_IFR_HTIF6 ((uint32_t)0x00400000) /*!< Channel 6 Half Transfer flag */
- #define DMA_IFR_ERRIF6 ((uint32_t)0x00800000) /*!< Channel 6 Transfer Error flag */
- #define DMA_IFR_GIF7 ((uint32_t)0x01000000) /*!< Channel 7 Global interrupt flag */
- #define DMA_IFR_TCIF7 ((uint32_t)0x02000000) /*!< Channel 7 Transfer Complete flag */
- #define DMA_IFR_HTIF7 ((uint32_t)0x04000000) /*!< Channel 7 Half Transfer flag */
- #define DMA_IFR_ERRIF7 ((uint32_t)0x08000000) /*!< Channel 7 Transfer Error flag */
- /******************* Bit definition for DMA_ICR register *******************/
- #define DMA_ICR_GIC1 ((uint32_t)0x00000001) /*!< Channel 1 Global interrupt clear */
- #define DMA_ICR_TCIC1 ((uint32_t)0x00000002) /*!< Channel 1 Transfer Complete clear */
- #define DMA_ICR_HTIC1 ((uint32_t)0x00000004) /*!< Channel 1 Half Transfer clear */
- #define DMA_ICR_ERRIC1 ((uint32_t)0x00000008) /*!< Channel 1 Transfer Error clear */
- #define DMA_ICR_GIC2 ((uint32_t)0x00000010) /*!< Channel 2 Global interrupt clear */
- #define DMA_ICR_TCIC2 ((uint32_t)0x00000020) /*!< Channel 2 Transfer Complete clear */
- #define DMA_ICR_HTIC2 ((uint32_t)0x00000040) /*!< Channel 2 Half Transfer clear */
- #define DMA_ICR_ERRIC2 ((uint32_t)0x00000080) /*!< Channel 2 Transfer Error clear */
- #define DMA_ICR_GIC3 ((uint32_t)0x00000100) /*!< Channel 3 Global interrupt clear */
- #define DMA_ICR_TCIC3 ((uint32_t)0x00000200) /*!< Channel 3 Transfer Complete clear */
- #define DMA_ICR_HTIC3 ((uint32_t)0x00000400) /*!< Channel 3 Half Transfer clear */
- #define DMA_ICR_ERRIC3 ((uint32_t)0x00000800) /*!< Channel 3 Transfer Error clear */
- #define DMA_ICR_GIC4 ((uint32_t)0x00001000) /*!< Channel 4 Global interrupt clear */
- #define DMA_ICR_TCIC4 ((uint32_t)0x00002000) /*!< Channel 4 Transfer Complete clear */
- #define DMA_ICR_HTIC4 ((uint32_t)0x00004000) /*!< Channel 4 Half Transfer clear */
- #define DMA_ICR_ERRIC4 ((uint32_t)0x00008000) /*!< Channel 4 Transfer Error clear */
- #define DMA_ICR_GIC5 ((uint32_t)0x00010000) /*!< Channel 5 Global interrupt clear */
- #define DMA_ICR_TCIC5 ((uint32_t)0x00020000) /*!< Channel 5 Transfer Complete clear */
- #define DMA_ICR_HTIC5 ((uint32_t)0x00040000) /*!< Channel 5 Half Transfer clear */
- #define DMA_ICR_ERRIC5 ((uint32_t)0x00080000) /*!< Channel 5 Transfer Error clear */
- #define DMA_ICR_GIC6 ((uint32_t)0x00100000) /*!< Channel 6 Global interrupt clear */
- #define DMA_ICR_TCIC6 ((uint32_t)0x00200000) /*!< Channel 6 Transfer Complete clear */
- #define DMA_ICR_HTIC6 ((uint32_t)0x00400000) /*!< Channel 6 Half Transfer clear */
- #define DMA_ICR_ERRIC6 ((uint32_t)0x00800000) /*!< Channel 6 Transfer Error clear */
- #define DMA_ICR_GIC7 ((uint32_t)0x01000000) /*!< Channel 7 Global interrupt clear */
- #define DMA_ICR_TCIC7 ((uint32_t)0x02000000) /*!< Channel 7 Transfer Complete clear */
- #define DMA_ICR_HTIC7 ((uint32_t)0x04000000) /*!< Channel 6 Half Transfer clear */
- #define DMA_ICR_ERRIC7 ((uint32_t)0x08000000) /*!< Channel 7 Transfer Error clear */
- /******************* Bit definition for DMA_CTLRx register ********************/
- #define DMA_CTLR_CHEN ((uint32_t)0x00000001) /*!< Channel enable */
- #define DMA_CTLR_TCIE ((uint32_t)0x00000002) /*!< Transfer complete interrupt enable */
- #define DMA_CTLR_HTIE ((uint32_t)0x00000004) /*!< Half Transfer interrupt enable */
- #define DMA_CTLR_ERRIE ((uint32_t)0x00000008) /*!< Transfer error interrupt enable */
- #define DMA_CTLR_DIR ((uint32_t)0x00000010) /*!< Data transfer direction */
- #define DMA_CTLR_CIRC ((uint32_t)0x00000020) /*!< Circular mode */
- #define DMA_CTLR_PNAGA ((uint32_t)0x00000040) /*!< Peripheral increment mode */
- #define DMA_CTLR_MNAGA ((uint32_t)0x00000080) /*!< Memory increment mode */
- #define DMA_CTLR_PSIZE ((uint32_t)0x00000300) /*!< PSIZE[1:0] bits (Peripheral size) */
- #define DMA_CTLR_PSIZE_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define DMA_CTLR_PSIZE_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define DMA_CTLR_MSIZE ((uint32_t)0x00000C00) /*!< MSIZE[1:0] bits (Memory size) */
- #define DMA_CTLR_MSIZE_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define DMA_CTLR_MSIZE_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define DMA_CTLR_PRIO ((uint32_t)0x00003000) /*!< PRIO[1:0] bits(Channel Priority level)*/
- #define DMA_CTLR_PRIO_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define DMA_CTLR_PRIO_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define DMA_CTLR_MEMTOMEM ((uint32_t)0x00004000) /*!< Memory to memory mode */
- /******************************************************************************/
- /* Peripheral Registers_Bits_Definition */
- /******************************************************************************/
- /******************************************************************************/
- /* Ethernet MAC Registers bits definitions */
- /******************************************************************************/
- /* Bit definition for Ethernet MAC Configuration register */
- #define ETH_MAC_CFR_WDD ((uint32_t)0x00800000) /* Watchdog disable */
- #define ETH_MAC_CFR_JBD ((uint32_t)0x00400000) /* Jabber disable */
- #define ETH_MAC_CFR_IG ((uint32_t)0x000E0000) /* Inter-frame gap */
- #define ETH_MAC_CFR_IG_96BIT ((uint32_t)0x00000000) /* Minimum IG 96Bit */
- #define ETH_MAC_CFR_IG_88BIT ((uint32_t)0x00020000) /* Minimum IG 88Bit */
- #define ETH_MAC_CFR_IG_80BIT ((uint32_t)0x00040000) /* Minimum IG 80Bit */
- #define ETH_MAC_CFR_IG_72BIT ((uint32_t)0x00060000) /* Minimum IG 72Bit */
- #define ETH_MAC_CFR_IG_64BIT ((uint32_t)0x00080000) /* Minimum IG 64Bit */
- #define ETH_MAC_CFR_IG_56BIT ((uint32_t)0x000A0000) /* Minimum IG 56Bit */
- #define ETH_MAC_CFR_IG_48BIT ((uint32_t)0x000C0000) /* Minimum IG 48Bit */
- #define ETH_MAC_CFR_IG_40BIT ((uint32_t)0x000E0000) /* Minimum IG 40Bit */
- #define ETH_MAC_CFR_CSD ((uint32_t)0x00010000) /* Carrier sense disable */
- #define ETH_MAC_CFR_SPD ((uint32_t)0x00004000) /* Ethernet speed */
- #define ETH_MAC_CFR_ROD ((uint32_t)0x00002000) /* Receive own disable */
- #define ETH_MAC_CFR_LBM ((uint32_t)0x00001000) /* loopback mode */
- #define ETH_MAC_CFR_DPM ((uint32_t)0x00000800) /* Duplex mode */
- #define ETH_MAC_CFR_IP4CO ((uint32_t)0x00000400) /* IP Checksum offload */
- #define ETH_MAC_CFR_RTD ((uint32_t)0x00000200) /* Retry disable */
- #define ETH_MAC_CFR_APCD ((uint32_t)0x00000080) /* automatic pad/CRC drop */
- #define ETH_MAC_CFR_BOL ((uint32_t)0x00000060) /* Back-off limit */
- #define ETH_MAC_CFR_BOL_10 ((uint32_t)0x00000000) /* min (n, 10) */
- #define ETH_MAC_CFR_BOL_8 ((uint32_t)0x00000020) /* min (n, 8) */
- #define ETH_MAC_CFR_BOL_4 ((uint32_t)0x00000040) /* min (n, 4) */
- #define ETH_MAC_CFR_BOL_1 ((uint32_t)0x00000060) /* min (n, 1) */
- #define ETH_MAC_CFR_DFC ((uint32_t)0x00000010) /* Defferal check */
- #define ETH_MAC_CFR_TEN ((uint32_t)0x00000008) /* Transmitter enable */
- #define ETH_MAC_CFR_REN ((uint32_t)0x00000004) /* Receiver enable */
- /* Bit definition for Ethernet MAC Frame Filter Register */
- #define ETH_MAC_FRMFR_FD ((uint32_t)0x80000000) /* Filter disable */
- #define ETH_MAC_FRMFR_HPFLT ((uint32_t)0x00000400) /* Hash or perfect filter */
- #define ETH_MAC_FRMFR_SAFLT ((uint32_t)0x00000200) /* Source address filter enable */
- #define ETH_MAC_FRMFR_SAIFLT ((uint32_t)0x00000100) /* SA inverse filtering enable */
- #define ETH_MAC_FRMFR_PCFRM ((uint32_t)0x000000C0) /* Pass control frames */
- #define ETH_MAC_FRMFR_PCF_BLOCKALL ((uint32_t)0x00000040) /* Prevent all control frames received */
- #define ETH_MAC_FRMFR_PCF_FORWARDALL ((uint32_t)0x00000080) /* Accept all control frames received */
- #define ETH_MAC_FRMFR_PCF_FORWARDPASSEDADDRFILTER ((uint32_t)0x000000C0) /* Accept control frames that pass the Address Filter */
- #define ETH_MAC_FRMFR_BFRMD ((uint32_t)0x00000020) /* Broadcast frame disable */
- #define ETH_MAC_FRMFR_MFD ((uint32_t)0x00000010) /* Multicast filter disable */
- #define ETH_MAC_FRMFR_DAIFLT ((uint32_t)0x00000008) /* DA Inverse filtering enable */
- #define ETH_MAC_FRMFR_HMF ((uint32_t)0x00000004) /* Hash multicast filter enable */
- #define ETH_MAC_FRMFR_HUF ((uint32_t)0x00000002) /* Hash unicast filter enable */
- #define ETH_MAC_FRMFR_PM ((uint32_t)0x00000001) /* Promiscuous mode */
- /* Bit definition for Ethernet MAC Hash List High Register */
- #define ETH_MAC_HLHR_HLH ((uint32_t)0xFFFFFFFF) /* Hash list high */
- /* Bit definition for Ethernet MAC Hash List Low Register */
- #define ETH_MAC_HLLR_HLL ((uint32_t)0xFFFFFFFF) /* Hash list low */
- /* Bit definition for Ethernet MAC PHY Address Register */
- #define ETH_MAC_PHYAR_PA ((uint32_t)0x0000F800) /* PHY address */
- #define ETH_MAC_PHYAR_PR ((uint32_t)0x000007C0) /* PHY register address */
- #define ETH_MAC_PHYAR_CLR ((uint32_t)0x0000001C) /* MDC clock range */
- #define ETH_MAC_PHYAR_CLR_DIV42 ((uint32_t)0x00000000) /* HCLK:60-90 MHz; MDC clock= HCLK/42 */
- #define ETH_MAC_PHYAR_CLR_DIV64 ((uint32_t)0x00000004) /* HCLK:90-108 MHz; MDC clock= HCLK/64 */
- #define ETH_MAC_PHYAR_CLR_DIV16 ((uint32_t)0x00000008) /* HCLK:20-35 MHz; MDC clock= HCLK/16 */
- #define ETH_MAC_PHYAR_CLR_DIV26 ((uint32_t)0x0000000C) /* HCLK:35-60 MHz; MDC clock= HCLK/26 */
- #define ETH_MAC_PHYAR_PW ((uint32_t)0x00000002) /* PHY write */
- #define ETH_MAC_PHYAR_PB ((uint32_t)0x00000001) /* PHY busy */
- /* Bit definition for Ethernet PHY Data Register */
- #define ETH_MAC_PHYDR_PD ((uint32_t)0x0000FFFF) /* PHY data: read/write data from/to PHY */
- /* Bit definition for Ethernet MAC Flow Control Register */
- #define ETH_MAC_FCTLR_PTM ((uint32_t)0xFFFF0000) /* Pause time */
- #define ETH_MAC_FCTLR_ZQPD ((uint32_t)0x00000080) /* Zero-quanta pause disable */
- #define ETH_MAC_FCTLR_PLTS ((uint32_t)0x00000030) /* Pause low threshold */
- #define ETH_MAC_FCTLR_PLTS_MINUS4 ((uint32_t)0x00000000) /* Pause time minus 4 slot times */
- #define ETH_MAC_FCTLR_PLTS_MINUS28 ((uint32_t)0x00000010) /* Pause time minus 28 slot times */
- #define ETH_MAC_FCTLR_PLTS_MINUS144 ((uint32_t)0x00000020) /* Pause time minus 144 slot times */
- #define ETH_MAC_FCTLR_PLTS_MINUS256 ((uint32_t)0x00000030) /* Pause time minus 256 slot times */
- #define ETH_MAC_FCTLR_UPFDT ((uint32_t)0x00000008) /* Unicast pause frame detect enable*/
- #define ETH_MAC_FCTLR_RFCEN ((uint32_t)0x00000004) /* Receive flow control enable */
- #define ETH_MAC_FCTLR_TFCEN ((uint32_t)0x00000002) /* Transmit flow control enable */
- #define ETH_MAC_FCTLR_FLCBBKPA ((uint32_t)0x00000001) /* Flow control busy(in full duplex mode)/backpressure activate(in half duplex mode) */
- /* Bit definition for Ethernet MAC VLAN Tag Register */
- #define ETH_MAC_VLTR_VLTC ((uint32_t)0x00010000) /* 12-bit VLAN tag comparison enable*/
- #define ETH_MAC_VLTR_VLTI ((uint32_t)0x0000FFFF) /* VLAN tag identifier */
- /* Bit definition for Ethernet MAC Remote Wake-UpFrame Filter Register */
- #define ETH_MAC_RWUFFR_D ((uint32_t)0xFFFFFFFF) /* Wake-up frame filter register data */
- /* Eight sequential Writes to this address (offset 0x28) will write all Wake-UpFrame Filter Registers.
- Eight sequential Reads from this address (offset 0x28) will read all Wake-UpFrame Filter Registers. */
- /* Wake-UpFrame Filter Reg0 : Filter 0 Byte Mask
- Wake-UpFrame Filter Reg1 : Filter 1 Byte Mask
- Wake-UpFrame Filter Reg2 : Filter 2 Byte Mask
- Wake-UpFrame Filter Reg3 : Filter 3 Byte Mask
- Wake-UpFrame Filter Reg4 : RSVD - Filter3 Command - RSVD - Filter2 Command -
- RSVD - Filter1 Command - RSVD - Filter0 Command
- Wake-UpFrame Filter Re5 : Filter3 Offset - Filter2 Offset - Filter1 Offset - Filter0 Offset
- Wake-UpFrame Filter Re6 : Filter1 CRC16 - Filter0 CRC16
- Wake-UpFrame Filter Re7 : Filter3 CRC16 - Filter2 CRC16 */
- /* Bit definition for Ethernet MAC WUM Register */
- #define ETH_MAC_WUMR_WUFFRPR ((uint32_t)0x80000000) /* Wake-Up Frame Filter Register Pointer Reset */
- #define ETH_MAC_WUMR_GU ((uint32_t)0x00000200) /* Global Unicast */
- #define ETH_MAC_WUMR_WUFR ((uint32_t)0x00000040) /* Wake-Up Frame Received */
- #define ETH_MAC_WUMR_MPKR ((uint32_t)0x00000020) /* Magic Packet Received */
- #define ETH_MAC_WUMR_WFEN ((uint32_t)0x00000004) /* Wake-Up Frame Enable */
- #define ETH_MAC_WUMR_MPEN ((uint32_t)0x00000002) /* Magic Packet Enable */
- #define ETH_MAC_WUMR_PWD ((uint32_t)0x00000001) /* Power Down */
- /* Bit definition for Ethernet MAC Status Register */
- #define ETH_MAC_ISR_TMST ((uint32_t)0x00000200) /* Time stamp trigger status */
- #define ETH_MAC_ISR_MSCT ((uint32_t)0x00000040) /* MSC transmit status */
- #define ETH_MAC_ISR_MSCR ((uint32_t)0x00000020) /* MSC receive status */
- #define ETH_MAC_ISR_MSC ((uint32_t)0x00000010) /* MSC status */
- #define ETH_MAC_ISR_WUM ((uint32_t)0x00000008) /* WUM status */
- /* Bit definition for Ethernet MAC Interrupt Mask Register */
- #define ETH_MAC_IMR_TMSTIM ((uint32_t)0x00000200) /* Time stamp trigger interrupt mask */
- #define ETH_MAC_IMR_WUMIM ((uint32_t)0x00000008) /* WUM interrupt mask */
- /* Bit definition for Ethernet MAC Address0 High Register */
- #define ETH_MAC_A0HR_ADDR0H ((uint32_t)0x0000FFFF) /* MAC address0 high */
- /* Bit definition for Ethernet MAC Address0 Low Register */
- #define ETH_MAC_A0HR_ADDR0L ((uint32_t)0xFFFFFFFF) /* MAC address0 low */
- /* Bit definition for Ethernet MAC Address1 High Register */
- #define ETH_MAC_A1HR_AFE ((uint32_t)0x80000000) /* Address filter enable */
- #define ETH_MAC_A1HR_SAF ((uint32_t)0x40000000) /* Source address filter */
- #define ETH_MAC_A1HR_MB ((uint32_t)0x3F000000) /* Mask byte control */
- #define ETH_MAC_A1HR_MB_HBITS15_8 ((uint32_t)0x20000000) /* High register bits [15:8] */
- #define ETH_MAC_A1HR_MB_HBITS7_0 ((uint32_t)0x10000000) /* High register bits [7:0] */
- #define ETH_MAC_A1HR_MB_LBITS31_24 ((uint32_t)0x08000000) /* Low register bits [31:24] */
- #define ETH_MAC_A1HR_MB_LBITS23_16 ((uint32_t)0x04000000) /* Low register bits [23:16] */
- #define ETH_MAC_A1HR_MB_LBITS15_8 ((uint32_t)0x02000000) /* Low register bits [15:8] */
- #define ETH_MAC_A1HR_MB_LBITS7_0 ((uint32_t)0x01000000) /* Low register bits [7:0] */
- #define ETH_MAC_A1HR_ADDR1H ((uint32_t)0x0000FFFF) /* MAC address1 high */
- /* Bit definition for Ethernet MAC Address1 Low Register */
- #define ETH_MAC_A1LR_ADDR1L ((uint32_t)0xFFFFFFFF) /* MAC address1 low */
- /* Bit definition for Ethernet MAC Address2 High Register */
- #define ETH_MAC_A2HR_AFE ((uint32_t)0x80000000) /* Address filter enable */
- #define ETH_MAC_A2HR_SAF ((uint32_t)0x40000000) /* Source address filter */
- #define ETH_MAC_A2HR_MB ((uint32_t)0x3F000000) /* Mask byte control */
- #define ETH_MAC_A2HR_MB_HBITS15_8 ((uint32_t)0x20000000) /* High register bits [15:8] */
- #define ETH_MAC_A2HR_MB_HBITS7_0 ((uint32_t)0x10000000) /* High register bits [7:0] */
- #define ETH_MAC_A2HR_MB_LBITS31_24 ((uint32_t)0x08000000) /* Low register bits [31:24] */
- #define ETH_MAC_A2HR_MB_LBITS23_16 ((uint32_t)0x04000000) /* Low register bits [23:16] */
- #define ETH_MAC_A2HR_MB_LBITS15_8 ((uint32_t)0x02000000) /* Low register bits [15:8] */
- #define ETH_MAC_A2HR_MB_LBITS7_0 ((uint32_t)0x01000000) /* Low register bits [7:0] */
- #define ETH_MAC_A2HR_ADDR2H ((uint32_t)0x0000FFFF) /* MAC address2 high */
- /* Bit definition for Ethernet MAC Address2 Low Register */
- #define ETH_MAC_A2LR_ADDR2L ((uint32_t)0xFFFFFFFF) /* MAC address2 low */
- /* Bit definition for Ethernet MAC Address3 High Register */
- #define ETH_MAC_A3HR_AFE ((uint32_t)0x80000000) /* Address filter enable */
- #define ETH_MAC_A3HR_SAF ((uint32_t)0x40000000) /* Source address filter */
- #define ETH_MAC_A3HR_MB ((uint32_t)0x3F000000) /* Mask byte control */
- #define ETH_MAC_A3HR_MB_HBITS15_8 ((uint32_t)0x20000000) /* High register bits [15:8] */
- #define ETH_MAC_A3HR_MB_HBITS7_0 ((uint32_t)0x10000000) /* High register bits [7:0] */
- #define ETH_MAC_A3HR_MB_LBITS31_24 ((uint32_t)0x08000000) /* Low register bits [31:24] */
- #define ETH_MAC_A3HR_MB_LBITS23_16 ((uint32_t)0x04000000) /* Low register bits [23:16] */
- #define ETH_MAC_A3HR_MB_LBITS15_8 ((uint32_t)0x02000000) /* Low register bits [15:8] */
- #define ETH_MAC_A3HR_MB_LBITS7_0 ((uint32_t)0x01000000) /* Low register bits [7:0] */
- #define ETH_MAC_A3HR_ADDR3H ((uint32_t)0x0000FFFF) /* MAC address3 high */
- /* Bit definition for Ethernet MAC Address3 Low Register */
- #define ETH_MAC_A3LR_ADDR3L ((uint32_t)0xFFFFFFFF) /* MAC address3 low */
- /* Bit definition for Ethernet MAC Flow Control threshold Register */
- #define ETH_MAC_FCTHR_RFD ((uint32_t)0x00000070) /* Threshold of deactive flow control */
- #define ETH_MAC_FCTHR_RFD_256BYTES ((uint32_t)0x00000000) /* Threshold level is 256 bytes */
- #define ETH_MAC_FCTHR_RFD_512BYTES ((uint32_t)0x00000010) /* Threshold level is 512 bytes */
- #define ETH_MAC_FCTHR_RFD_768BYTES ((uint32_t)0x00000020) /* Threshold level is 768 bytes */
- #define ETH_MAC_FCTHR_RFD_1024BYTES ((uint32_t)0x00000030) /* Threshold level is 1024 bytes */
- #define ETH_MAC_FCTHR_RFD_1280BYTES ((uint32_t)0x00000040) /* Threshold level is 1280 bytes */
- #define ETH_MAC_FCTHR_RFD_1536BYTES ((uint32_t)0x00000050) /* Threshold level is 1536 bytes */
- #define ETH_MAC_FCTHR_RFD_1792BYTES ((uint32_t)0x00000060) /* Threshold level is 1792 bytes */
- #define ETH_MAC_FCTHR_RFA ((uint32_t)0x00000007) /* Threshold of active flow control */
- #define ETH_MAC_FCTHR_RFA_256BYTES ((uint32_t)0x00000000) /* Threshold level is 256 bytes */
- #define ETH_MAC_FCTHR_RFA_512BYTES ((uint32_t)0x00000001) /* Threshold level is 512 bytes */
- #define ETH_MAC_FCTHR_RFA_768BYTES ((uint32_t)0x00000002) /* Threshold level is 768 bytes */
- #define ETH_MAC_FCTHR_RFA_1024BYTES ((uint32_t)0x00000003) /* Threshold level is 1024 bytes */
- #define ETH_MAC_FCTHR_RFA_1280BYTES ((uint32_t)0x00000004) /* Threshold level is 1280 bytes */
- #define ETH_MAC_FCTHR_RFA_1536BYTES ((uint32_t)0x00000005) /* Threshold level is 1536 bytes */
- #define ETH_MAC_FCTHR_RFA_1792BYTES ((uint32_t)0x00000006) /* Threshold level is 1792 bytes */
- /******************************************************************************/
- /* Ethernet MSC Registers bits definition */
- /******************************************************************************/
- /* Bit definition for Ethernet MSC Contol Register */
- #define ETH_MSC_CTLR_MCFZ ((uint32_t)0x00000008) /* MSC Counter Freeze */
- #define ETH_MSC_CTLR_RTOR ((uint32_t)0x00000004) /* Reset on Read */
- #define ETH_MSC_CTLR_CTSR ((uint32_t)0x00000002) /* Counter Stop Rollover */
- #define ETH_MSC_CTLR_CTR ((uint32_t)0x00000001) /* Counters Reset */
- /* Bit definition for Ethernet MSC Receive Interrupt Status Register */
- #define ETH_MSC_RISR_RGUF ((uint32_t)0x00020000) /* receive good unicast frames counter reaches half the maximum value */
- #define ETH_MSC_RISR_RFAE ((uint32_t)0x00000040) /* receive alignment error counter reaches half the maximum value */
- #define ETH_MSC_RISR_RFCE ((uint32_t)0x00000020) /* receive crc error counter reaches half the maximum value */
- /* Bit definition for Ethernet MSC Transmit Interrupt Status Register */
- #define ETH_MSC_TISR_TGF ((uint32_t)0x00200000) /* Transmit good frame count counter reaches half the maximum value */
- #define ETH_MSC_TISR_TGFMSC ((uint32_t)0x00008000) /* Transmit good multi col counter reaches half the maximum value */
- #define ETH_MSC_TISR_TGFSC ((uint32_t)0x00004000) /* Transmit good single col counter reaches half the maximum value */
- /* Bit definition for Ethernet MSC Receive Interrupt Mask Register */
- #define ETH_MSC_RIMR_RGUFIM ((uint32_t)0x00020000) /* RGUF interrupt Mask */
- #define ETH_MSC_RIMR_RFAEIM ((uint32_t)0x00000040) /* RFAE interrupt Mask */
- #define ETH_MSC_RIMR_RFCEIM ((uint32_t)0x00000020) /* RFCE interrupt Mask */
- /* Bit definition for Ethernet MSC Transmit Interrupt Mask Register */
- #define ETH_MSC_TIMR_TGFIM ((uint32_t)0x00200000) /* TGF interrupt Mask */
- #define ETH_MSC_TIMR_TGFMSCIM ((uint32_t)0x00008000) /* TGFMSC interrupt Mask */
- #define ETH_MSC_TIMR_TGFSCIM ((uint32_t)0x00004000) /* TGFSC interrupt Mask */
- /* Bit definition for Ethernet MSC Transmitted Good Frames after Single Collision Counter Register */
- #define ETH_MSC_SCCNT_SCC ((uint32_t)0xFFFFFFFF) /* Transmitted good frames single collision counter */
- /* Bit definition for Ethernet MSC Transmitted Good Frames after More than a Single Collision Counter Register */
- #define ETH_MSC_MSCCNT_MSCC ((uint32_t)0xFFFFFFFF) /* Transmitted good frames after more single collision counter */
- /* Bit definition for Ethernet MSC Transmitted Good Frames Counter Register */
- #define ETH_MSC_TGFCNT_TGF ((uint32_t)0xFFFFFFFF) /* Transmitted good frames counter */
- /* Bit definition for Ethernet MSC Received Frames with CRC Error Counter Register */
- #define ETH_MSC_RFCECNT_RFCER ((uint32_t)0xFFFFFFFF) /* Received frames CRC error counter */
- /* Bit definition for Ethernet MSC Received Frames with Alignement Error Counter Register */
- #define ETH_MSC_RFAECNT_RFAER ((uint32_t)0xFFFFFFFF) /* Received frames alignment error counter */
- /* Bit definition for Ethernet MSC Received Good Unicast Frames Counter Register */
- #define ETH_MSC_RGUFCNT_RGUF ((uint32_t)0xFFFFFFFF) /* Received good unicast frames counter */
- /******************************************************************************/
- /* Ethernet PTP Registers bits definition */
- /******************************************************************************/
- /* Bit definition for Ethernet PTP Time Stamp Contol Register */
- #define ETH_PTP_TSCTLR_TMSARU ((uint32_t)0x00000020) /* Time stamp addend register update */
- #define ETH_PTP_TSCTLR_TMSITEN ((uint32_t)0x00000010) /* Time stamp interrupt trigger enable */
- #define ETH_PTP_TSCTLR_TMSSTU ((uint32_t)0x00000008) /* Time stamp system time update */
- #define ETH_PTP_TSCTLR_TMSSTI ((uint32_t)0x00000004) /* Time stamp system time initialize */
- #define ETH_PTP_TSCTLR_TMSFCU ((uint32_t)0x00000002) /* Time stamp fine or coarse update */
- #define ETH_PTP_TSCTLR_TMSEN ((uint32_t)0x00000001) /* Time stamp enable */
- /* Bit definition for Ethernet PTP Sub-Second Increment Register */
- #define ETH_PTP_SSINCR_STMSSI ((uint32_t)0x000000FF) /* System time Subsecond increment */
- /* Bit definition for Ethernet PTP Time Stamp High Register */
- #define ETH_PTP_TMSHR_STMS ((uint32_t)0xFFFFFFFF) /* System Time second */
- /* Bit definition for Ethernet PTP Time Stamp Low Register */
- #define ETH_PTP_TMSLR_STS ((uint32_t)0x80000000) /* System Time Positive or negative time */
- #define ETH_PTP_TMSLR_STMSS ((uint32_t)0x7FFFFFFF) /* System Time subseconds */
- /* Bit definition for Ethernet PTP Time Stamp High Update Register */
- #define ETH_PTP_TMSHUR_TMSUS ((uint32_t)0xFFFFFFFF) /* Time stamp update seconds */
- /* Bit definition for Ethernet PTP Time Stamp Low Update Register */
- #define ETH_PTP_TMSLUR_TMSUPNS ((uint32_t)0x80000000) /* Time stamp update Positive or negative time */
- #define ETH_PTP_TMSLUR_TMSUSS ((uint32_t)0x7FFFFFFF) /* Time stamp update subseconds */
- /* Bit definition for Ethernet PTP Time Stamp Addend Register */
- #define ETH_PTP_TSACNT_TMSA ((uint32_t)0xFFFFFFFF) /* Time stamp addend */
- /* Bit definition for Ethernet PTP Expected Time High Register */
- #define ETH_PTP_ETHR_ETSH ((uint32_t)0xFFFFFFFF) /* Expected time stamp high */
- /* Bit definition for Ethernet PTP Expected Time Low Register */
- #define ETH_PTP_ETLR_ETSL ((uint32_t)0xFFFFFFFF) /* Expected time stamp low */
- /******************************************************************************/
- /* Ethernet DMA Registers bits definition */
- /******************************************************************************/
- /* Bit definition for Ethernet DMA Bus Control Register */
- #define ETH_DMA_BCR_AA ((uint32_t)0x02000000) /* Address-aligned */
- #define ETH_DMA_BCR_FPBL ((uint32_t)0x01000000) /* four x PBL mode */
- #define ETH_DMA_BCR_UIP ((uint32_t)0x00800000) /* Use Independent PBL */
- #define ETH_DMA_BCR_RXDP ((uint32_t)0x007E0000) /* receive DMA PBL */
- #define ETH_DMA_BCR_RXDP_1BEAT ((uint32_t)0x00020000) /* maximum number of beats 1 */
- #define ETH_DMA_BCR_RXDP_2BEAT ((uint32_t)0x00040000) /* maximum number of beats 2 */
- #define ETH_DMA_BCR_RXDP_4BEAT ((uint32_t)0x00080000) /* maximum number of beats 4 */
- #define ETH_DMA_BCR_RXDP_8BEAT ((uint32_t)0x00100000) /* maximum number of beats 8 */
- #define ETH_DMA_BCR_RXDP_16BEAT ((uint32_t)0x00200000) /* maximum number of beats 16 */
- #define ETH_DMA_BCR_RXDP_32BEAT ((uint32_t)0x00400000) /* maximum number of beats 32 */
- #define ETH_DMA_BCR_RXDP_4xPBL_4BEAT ((uint32_t)0x01020000) /* maximum number of beats 4 */
- #define ETH_DMA_BCR_RXDP_4xPBL_8BEAT ((uint32_t)0x01040000) /* maximum number of beats 8 */
- #define ETH_DMA_BCR_RXDP_4xPBL_16BEAT ((uint32_t)0x01080000) /* maximum number of beats 16 */
- #define ETH_DMA_BCR_RXDP_4xPBL_32BEAT ((uint32_t)0x01100000) /* maximum number of beats 32 */
- #define ETH_DMA_BCR_RXDP_4xPBL_64BEAT ((uint32_t)0x01200000) /* maximum number of beats 64 */
- #define ETH_DMA_BCR_RXDP_4xPBL_128BEAT ((uint32_t)0x01400000) /* maximum number of beats 128 */
- #define ETH_DMA_BCR_FB ((uint32_t)0x00010000) /* Fixed Burst */
- #define ETH_DMA_BCR_RTPR ((uint32_t)0x0000C000) /* receive and transmit priority ratio */
- #define ETH_DMA_BCR_RTPR_1_1 ((uint32_t)0x00000000) /* receive and transmit priority ratio */
- #define ETH_DMA_BCR_RTPR_2_1 ((uint32_t)0x00004000) /* receive and transmit priority ratio */
- #define ETH_DMA_BCR_RTPR_3_1 ((uint32_t)0x00008000) /* receive and transmit priority ratio */
- #define ETH_DMA_BCR_RTPR_4_1 ((uint32_t)0x0000C000) /* receive and transmit priority ratio */
- #define ETH_DMA_BCR_PGBL ((uint32_t)0x00003F00) /* Programmable burst length */
- #define ETH_DMA_BCR_PBL_1BEAT ((uint32_t)0x00000100) /* maximum number of beats is 1 */
- #define ETH_DMA_BCR_PBL_2BEAT ((uint32_t)0x00000200) /* maximum number of beats is 2 */
- #define ETH_DMA_BCR_PBL_4BEAT ((uint32_t)0x00000400) /* maximum number of beats is 4 */
- #define ETH_DMA_BCR_PBL_8BEAT ((uint32_t)0x00000800) /* maximum number of beats is 8 */
- #define ETH_DMA_BCR_PBL_16BEAT ((uint32_t)0x00001000) /* maximum number of beats is 16 */
- #define ETH_DMA_BCR_PBL_32BEAT ((uint32_t)0x00002000) /* maximum number of beats is 32 */
- #define ETH_DMA_BCR_PBL_4xPBL_4BEAT ((uint32_t)0x01000100) /* maximum number of beats is 4 */
- #define ETH_DMA_BCR_PBL_4xPBL_8BEAT ((uint32_t)0x01000200) /* maximum number of beats is 8 */
- #define ETH_DMA_BCR_PBL_4xPBL_16BEAT ((uint32_t)0x01000400) /* maximum number of beats is 16 */
- #define ETH_DMA_BCR_PBL_4xPBL_32BEAT ((uint32_t)0x01000800) /* maximum number of beats is 32 */
- #define ETH_DMA_BCR_PBL_4xPBL_64BEAT ((uint32_t)0x01001000) /* maximum number of beats is 64 */
- #define ETH_DMA_BCR_PBL_4xPBL_128BEAT ((uint32_t)0x01002000) /* maximum number of beats is 128 */
- #define ETH_DMA_BCR_DPSL ((uint32_t)0x0000007C) /* Descriptor Skip Length */
- #define ETH_DMA_BCR_DAB ((uint32_t)0x00000002) /* DMA arbitration */
- #define ETH_DMA_BCR_SWR ((uint32_t)0x00000001) /* Software reset */
- /* Bit definition for Ethernet DMA Transmit Poll Enable Register */
- #define ETH_DMA_TPER_TPE ((uint32_t)0xFFFFFFFF) /* Transmit poll enable */
- /* Bit definition for Ethernet DMA Receive Poll Enable Register */
- #define ETH_DMA_RPER_RPE ((uint32_t)0xFFFFFFFF) /* Receive poll enable */
- /* Bit definition for Ethernet DMA Receive Descriptor Tab Address Register */
- #define ETH_DMA_RDTAR_SRT ((uint32_t)0xFFFFFFFF) /* Start of receive tab */
- /* Bit definition for Ethernet DMA Transmit Descriptor Tab Address Register */
- #define ETH_DMA_TDTAR_STT ((uint32_t)0xFFFFFFFF) /* Start of transmit tab */
- /* Bit definition for Ethernet DMA Status Register */
- #define ETH_DMA_STR_TST ((uint32_t)0x20000000) /* Time-stamp trigger status */
- #define ETH_DMA_STR_WUM ((uint32_t)0x10000000) /* WUM status */
- #define ETH_DMA_STR_MSC ((uint32_t)0x08000000) /* MSC status */
- #define ETH_DMA_STR_EB ((uint32_t)0x03800000) /* Error bits status */
- /* combination with EB[2:0] for GetBitState function */
- #define ETH_DMA_STR_EB_DESCACCESS ((uint32_t)0x02000000) /* Error during descriptor or buffer access */
- #define ETH_DMA_STR_EB_READTRANSF ((uint32_t)0x01000000) /* Error during write trnsf of read transfr */
- #define ETH_DMA_STR_EB_DATATRANSFTX ((uint32_t)0x00800000) /* Error during data transfer by TxDMA or RxDMA */
- #define ETH_DMA_STR_TP ((uint32_t)0x00700000) /* Transmit process state */
- #define ETH_DMA_STR_TP_STOPPED ((uint32_t)0x00000000) /* Reset or Stop Tx Command issued */
- #define ETH_DMA_STR_TP_FETCHING ((uint32_t)0x00100000) /* fetching the Tx descriptor */
- #define ETH_DMA_STR_TP_WAITING ((uint32_t)0x00200000) /* waiting for status */
- #define ETH_DMA_STR_TP_READING ((uint32_t)0x00300000) /* reading the data from host memory buffer and queuing it to transmit buffer */
- #define ETH_DMA_STR_TP_SUSPENDED ((uint32_t)0x00600000) /* Tx Descriptor unavailabe or transmit buffer underflow */
- #define ETH_DMA_STR_TP_CLOSING ((uint32_t)0x00700000) /* closing Tx descriptor */
- #define ETH_DMA_STR_RP ((uint32_t)0x000E0000) /* Receive process state */
- #define ETH_DMA_STR_RP_STOPPED ((uint32_t)0x00000000) /* Reset or Stop Rx Command issued */
- #define ETH_DMA_STR_RP_FETCHING ((uint32_t)0x00020000) /* fetching the Rx descriptor */
- #define ETH_DMA_STR_RP_WAITING ((uint32_t)0x00060000) /* waiting for receive packet */
- #define ETH_DMA_STR_RP_SUSPENDED ((uint32_t)0x00080000) /* Rx Descriptor unavailable */
- #define ETH_DMA_STR_RP_CLOSING ((uint32_t)0x000A0000) /* closing receive descriptor */
- #define ETH_DMA_STR_RP_QUEUING ((uint32_t)0x000E0000) /* transferring the receive packet data from recevie buffer to host memory */
- #define ETH_DMA_STR_NI ((uint32_t)0x00010000) /* Normal interrupt summary */
- #define ETH_DMA_STR_AI ((uint32_t)0x00008000) /* Abnormal interrupt summary */
- #define ETH_DMA_STR_ER ((uint32_t)0x00004000) /* Early receive status */
- #define ETH_DMA_STR_FBE ((uint32_t)0x00002000) /* Fatal bus error status */
- #define ETH_DMA_STR_ET ((uint32_t)0x00000400) /* Early transmit status */
- #define ETH_DMA_STR_RWT ((uint32_t)0x00000200) /* Receive watchdog timeout status */
- #define ETH_DMA_STR_RPS ((uint32_t)0x00000100) /* Receive process stopped status */
- #define ETH_DMA_STR_RBU ((uint32_t)0x00000080) /* Receive buffer unavailable status */
- #define ETH_DMA_STR_RS ((uint32_t)0x00000040) /* Receive status */
- #define ETH_DMA_STR_TU ((uint32_t)0x00000020) /* Transmit underflow status */
- #define ETH_DMA_STR_RO ((uint32_t)0x00000010) /* Receive overflow status */
- #define ETH_DMA_STR_TJT ((uint32_t)0x00000008) /* Transmit jabber timeout status */
- #define ETH_DMA_STR_TBU ((uint32_t)0x00000004) /* Transmit buffer unavailable status */
- #define ETH_DMA_STR_TPS ((uint32_t)0x00000002) /* Transmit process stopped status */
- #define ETH_DMA_STR_TS ((uint32_t)0x00000001) /* Transmit status */
- /* Bit definition for Ethernet DMA Control Register */
- #define ETH_DMA_CTLR_DTCERFD ((uint32_t)0x04000000) /* Dropping of TCP/IP checksum error frames disable */
- #define ETH_DMA_CTLR_RSFD ((uint32_t)0x02000000) /* Receive store and forward */
- #define ETH_DMA_CTLR_DAFRF ((uint32_t)0x01000000) /* Disable flushing of received frames */
- #define ETH_DMA_CTLR_TSFD ((uint32_t)0x00200000) /* Transmit store and forward */
- #define ETH_DMA_CTLR_FTF ((uint32_t)0x00100000) /* Flush transmit FIFO */
- #define ETH_DMA_CTLR_TTHC ((uint32_t)0x0001C000) /* Transmit threshold control */
- #define ETH_DMAOMR_TTHC_64BYTES ((uint32_t)0x00000000) /* threshold level is 64 Bytes */
- #define ETH_DMAOMR_TTHC_128BYTES ((uint32_t)0x00004000) /* threshold level is 128 Bytes */
- #define ETH_DMAOMR_TTHC_192BYTES ((uint32_t)0x00008000) /* threshold level is 192 Bytes */
- #define ETH_DMAOMR_TTHC_256BYTES ((uint32_t)0x0000C000) /* threshold level is 256 Bytes */
- #define ETH_DMAOMR_TTHC_40BYTES ((uint32_t)0x00010000) /* threshold level is 40 Bytes */
- #define ETH_DMAOMR_TTHC_32BYTES ((uint32_t)0x00014000) /* threshold level is 32 Bytes */
- #define ETH_DMAOMR_TTHC_24BYTES ((uint32_t)0x00018000) /* threshold level is 24 Bytes */
- #define ETH_DMAOMR_TTHC_16BYTES ((uint32_t)0x0001C000) /* threshold level is 16 Bytes */
- #define ETH_DMA_CTLR_STE ((uint32_t)0x00002000) /* Start/stop transmission */
- #define ETH_DMA_CTLR_FERF ((uint32_t)0x00000080) /* Forward error frames */
- #define ETH_DMA_CTLR_FUF ((uint32_t)0x00000040) /* Forward undersized good frames */
- #define ETH_DMA_CTLR_RTHC ((uint32_t)0x00000018) /* receive threshold control */
- #define ETH_DMAOMR_RTHC_64BYTES ((uint32_t)0x00000000) /* threshold level is 64 Bytes */
- #define ETH_DMAOMR_RTHC_32BYTES ((uint32_t)0x00000008) /* threshold level is 32 Bytes */
- #define ETH_DMAOMR_RTHC_96BYTES ((uint32_t)0x00000010) /* threshold level is 96 Bytes */
- #define ETH_DMAOMR_RTHC_128BYTES ((uint32_t)0x00000018) /* threshold level is 128 Bytes */
- #define ETH_DMA_CTLR_OSF ((uint32_t)0x00000004) /* operate on second frame */
- #define ETH_DMA_CTLR_SRE ((uint32_t)0x00000002) /* Start/stop receive */
- /* Bit definition for Ethernet DMA Interrupt Enable Register */
- #define ETH_DMA_IER_NISEN ((uint32_t)0x00010000) /* Normal interrupt summary enable */
- #define ETH_DMA_IER_AISEN ((uint32_t)0x00008000) /* Abnormal interrupt summary enable */
- #define ETH_DMA_IER_ERIEN ((uint32_t)0x00004000) /* Early receive interrupt enable */
- #define ETH_DMA_IER_FBEIEN ((uint32_t)0x00002000) /* Fatal bus error interrupt enable */
- #define ETH_DMA_IER_ETIEN ((uint32_t)0x00000400) /* Early transmit interrupt enable */
- #define ETH_DMA_IER_RWTIEN ((uint32_t)0x00000200) /* Receive watchdog timeout interrupt enable */
- #define ETH_DMA_IER_RPSIEN ((uint32_t)0x00000100) /* Receive process stopped interrupt enable */
- #define ETH_DMA_IER_RBUIEN ((uint32_t)0x00000080) /* Receive buffer unavailable interrupt enable */
- #define ETH_DMA_IER_RIEN ((uint32_t)0x00000040) /* Receive interrupt enable */
- #define ETH_DMA_IER_TUIEN ((uint32_t)0x00000020) /* Transmit Underflow interrupt enable */
- #define ETH_DMA_IER_ROIEN ((uint32_t)0x00000010) /* Receive Overflow interrupt enable */
- #define ETH_DMA_IER_TJTIEN ((uint32_t)0x00000008) /* Transmit jabber timeout interrupt enable */
- #define ETH_DMA_IER_TBUIEN ((uint32_t)0x00000004) /* Transmit buffer unavailable interrupt enable */
- #define ETH_DMA_IER_TPSIEN ((uint32_t)0x00000002) /* Transmit process stopped interrupt enable */
- #define ETH_DMA_IER_TIEN ((uint32_t)0x00000001) /* Transmit interrupt enable */
- /* Bit definition for Ethernet DMA Missed Frame and Buffer Overflow Counter Register */
- #define ETH_DMA_MFBOCNT_OBFOC ((uint32_t)0x10000000) /* Overflow bit for FIFO overflow counter */
- #define ETH_DMA_MFBOCNT_MSFA ((uint32_t)0x0FFE0000) /* Missed frames by the application */
- #define ETH_DMA_MFBOCNT_OBMFC ((uint32_t)0x00010000) /* Overflow bit for missed frame counter */
- #define ETH_DMA_MFBOCNT_MSFC ((uint32_t)0x0000FFFF) /* missed frames by the controller */
- /* Bit definition for Ethernet DMA Current Transmit Descriptor Address Register */
- #define ETH_DMA_CTDAR_TDAP ((uint32_t)0xFFFFFFFF) /* Transmit descriptor address pointer */
- /* Bit definition for Ethernet DMA Current Receive Descriptor Address Register */
- #define ETH_DMA_CRDAR_RDAP ((uint32_t)0xFFFFFFFF) /* Receive descriptor address pointer */
- /* Bit definition for Ethernet DMA Current Transmit Buffer Address Register */
- #define ETH_DMA_CTBAR_TBAP ((uint32_t)0xFFFFFFFF) /* Transmit buffer address pointer */
- /* Bit definition for Ethernet DMA Current Receive Buffer Address Register */
- #define ETH_DMA_CRBAR_RBAP ((uint32_t)0xFFFFFFFF) /* Receive buffer address pointer */
- /******************************************************************************/
- /* */
- /* External Memory Controller */
- /* */
- /******************************************************************************/
- /****************** Bit definition for EXMC_SCTLR1 register *******************/
- #define EXMC_SCTLR1_BAKEN ((uint32_t)0x00000001) /*!< Memory bank enable */
- #define EXMC_SCTLR1_MULEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable */
- #define EXMC_SCTLR1_EMTYP ((uint32_t)0x0000000C) /*!< EMTYP[1:0] bits (Memory type) */
- #define EXMC_SCTLR1_EMTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define EXMC_SCTLR1_EMTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define EXMC_SCTLR1_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (Memory data bus width) */
- #define EXMC_SCTLR1_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SCTLR1_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SCTLR1_NOREN ((uint32_t)0x00000040) /*!< NOR Flash access enable */
- #define EXMC_SCTLR1_BMODEN ((uint32_t)0x00000100) /*!< Synchronous burst mode enable */
- #define EXMC_SCTLR1_WSIGP ((uint32_t)0x00000200) /*!< NWAIT signal polarity bit */
- #define EXMC_SCTLR1_WRAPEN ((uint32_t)0x00000400) /*!< Wrapped burst mode enable */
- #define EXMC_SCTLR1_WSIGCFG ((uint32_t)0x00000800) /*!< NWAIT signal timing configuration */
- #define EXMC_SCTLR1_WREN ((uint32_t)0x00001000) /*!< Write enable */
- #define EXMC_SCTLR1_WSIGEN ((uint32_t)0x00002000) /*!< NWAIT signal enable */
- #define EXMC_SCTLR1_EXMODEN ((uint32_t)0x00004000) /*!< Extended mode enable */
- #define EXMC_SCTLR1_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait feature enable */
- #define EXMC_SCTLR1_WRMOD ((uint32_t)0x00080000) /*!< write mode select */
- /****************** Bit definition for EXMC_SCTLR2 register *******************/
- #define EXMC_SCTLR2_BAKEN ((uint32_t)0x00000001) /*!< Memory bank enable */
- #define EXMC_SCTLR2_MULEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable */
- #define EXMC_SCTLR2_EMTYP ((uint32_t)0x0000000C) /*!< EMTYP[1:0] bits (Memory type) */
- #define EXMC_SCTLR2_EMTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define EXMC_SCTLR2_EMTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define EXMC_SCTLR2_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (Memory data bus width) */
- #define EXMC_SCTLR2_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SCTLR2_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SCTLR2_NOREN ((uint32_t)0x00000040) /*!< NOR Flash access enable */
- #define EXMC_SCTLR2_BMODEN ((uint32_t)0x00000100) /*!< Synchronous burst mode enable */
- #define EXMC_SCTLR2_WSIGP ((uint32_t)0x00000200) /*!< NWAIT signal polarity */
- #define EXMC_SCTLR2_WRAPEN ((uint32_t)0x00000400) /*!< Wrapped burst mode enable */
- #define EXMC_SCTLR2_WSIGCFG ((uint32_t)0x00000800) /*!< NWAIT signal timing configuration */
- #define EXMC_SCTLR2_WREN ((uint32_t)0x00001000) /*!< Write enable */
- #define EXMC_SCTLR2_WSIGEN ((uint32_t)0x00002000) /*!< NWAIT signal enable */
- #define EXMC_SCTLR2_EXMODEN ((uint32_t)0x00004000) /*!< Extended mode enable */
- #define EXMC_SCTLR2_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait feature enable */
- #define EXMC_SCTLR2_WRMOD ((uint32_t)0x00080000) /*!< write mode select */
- /****************** Bit definition for EXMC_SCTLR3 register *******************/
- #define EXMC_SCTLR3_BAKEN ((uint32_t)0x00000001) /*!< Memory bank enable */
- #define EXMC_SCTLR3_MULEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable */
- #define EXMC_SCTLR3_EMTYP ((uint32_t)0x0000000C) /*!< EMTYP[1:0] bits (Memory type) */
- #define EXMC_SCTLR3_EMTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define EXMC_SCTLR3_EMTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define EXMC_SCTLR3_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (Memory data bus width) */
- #define EXMC_SCTLR3_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SCTLR3_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SCTLR3_NOREN ((uint32_t)0x00000040) /*!< NOR Flash access enable */
- #define EXMC_SCTLR3_BMODEN ((uint32_t)0x00000100) /*!< Synchronous burst mode enable */
- #define EXMC_SCTLR3_WSIGP ((uint32_t)0x00000200) /*!< NWAIT signal polarity */
- #define EXMC_SCTLR3_WRAPEN ((uint32_t)0x00000400) /*!< Wrapped burst mode enable */
- #define EXMC_SCTLR3_WSIGCFG ((uint32_t)0x00000800) /*!< NWAIT signal timing configuration */
- #define EXMC_SCTLR3_WREN ((uint32_t)0x00001000) /*!< Write enable */
- #define EXMC_SCTLR3_WSIGEN ((uint32_t)0x00002000) /*!< NWAIT signal enable */
- #define EXMC_SCTLR3_EXMODEN ((uint32_t)0x00004000) /*!< Extended mode enable */
- #define EXMC_SCTLR3_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait feature enable */
- #define EXMC_SCTLR3_WRMOD ((uint32_t)0x00080000) /*!< write mode select */
- /****************** Bit definition for EXMC_SCTLR4 register *******************/
- #define EXMC_SCTLR4_BAKEN ((uint32_t)0x00000001) /*!< Memory bank enable */
- #define EXMC_SCTLR4_MULEN ((uint32_t)0x00000002) /*!< Address/data multiplexing enable */
- #define EXMC_SCTLR4_EMTYP ((uint32_t)0x0000000C) /*!< EMTYP[1:0] bits (Memory type) */
- #define EXMC_SCTLR4_EMTYP_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define EXMC_SCTLR4_EMTYP_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define EXMC_SCTLR4_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (Memory data bus width) */
- #define EXMC_SCTLR4_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SCTLR4_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SCTLR4_NOREN ((uint32_t)0x00000040) /*!< NOR Flash access enable */
- #define EXMC_SCTLR4_BMODEN ((uint32_t)0x00000100) /*!< Synchronous burst mode enable */
- #define EXMC_SCTLR4_WSIGP ((uint32_t)0x00000200) /*!< NWAIT signal polarity */
- #define EXMC_SCTLR4_WRAPEN ((uint32_t)0x00000400) /*!< Wrapped burst mode enable */
- #define EXMC_SCTLR4_WSIGCFG ((uint32_t)0x00000800) /*!< NWAIT signal timing configuration */
- #define EXMC_SCTLR4_WREN ((uint32_t)0x00001000) /*!< Write enable */
- #define EXMC_SCTLR4_WSIGEN ((uint32_t)0x00002000) /*!< NWAIT signal enable */
- #define EXMC_SCTLR4_EXMODEN ((uint32_t)0x00004000) /*!< Extended mode enable */
- #define EXMC_SCTLR4_ASYNCWAIT ((uint32_t)0x00008000) /*!< Asynchronous wait feature enable */
- #define EXMC_SCTLR4_WRMOD ((uint32_t)0x00080000) /*!< write mode select */
- /****************** Bit definition for EXMC_STR1 register ******************/
- #define EXMC_STR1_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_STR1_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_STR1_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_STR1_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_STR1_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_STR1_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_STR1_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_STR1_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_STR1_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_STR1_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_STR1_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_STR1_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_STR1_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_STR1_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_STR1_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_STR1_BUSLAT ((uint32_t)0x000F0000) /*!< BUSLAT[3:0] bits (Bus latency) */
- #define EXMC_STR1_BUSLAT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_STR1_BUSLAT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_STR1_BUSLAT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_STR1_BUSLAT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_STR1_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_STR1_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_STR1_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_STR1_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_STR1_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_STR1_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_STR1_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_STR1_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_STR1_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_STR1_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_STR1_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_STR1_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_STR1_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_STR2 register *******************/
- #define EXMC_STR2_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_STR2_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_STR2_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_STR2_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_STR2_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_STR2_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_STR2_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_STR2_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_STR2_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_STR2_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_STR2_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_STR2_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_STR2_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_STR2_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_STR2_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_STR2_BUSLAT ((uint32_t)0x000F0000) /*!< BUSLAT[3:0] bits (Bus latency) */
- #define EXMC_STR2_BUSLAT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_STR2_BUSLAT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_STR2_BUSLAT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_STR2_BUSLAT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_STR2_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_STR2_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_STR2_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_STR2_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_STR2_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_STR2_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_STR2_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_STR2_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_STR2_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_STR2_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_STR2_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_STR2_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_STR2_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /******************* Bit definition for EXMC_STR3 register *******************/
- #define EXMC_STR3_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_STR3_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_STR3_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_STR3_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_STR3_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_STR3_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_STR3_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_STR3_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_STR3_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_STR3_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_STR3_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_STR3_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_STR3_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_STR3_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_STR3_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_STR3_BUSLAT ((uint32_t)0x000F0000) /*!< BUSLAT[3:0] bits (Bus latency) */
- #define EXMC_STR3_BUSLAT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_STR3_BUSLAT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_STR3_BUSLAT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_STR3_BUSLAT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_STR3_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_STR3_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_STR3_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_STR3_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_STR3_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_STR3_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_STR3_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_STR3_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_STR3_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_STR3_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_STR3_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_STR3_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_STR3_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_STR4 register *******************/
- #define EXMC_STR4_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_STR4_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_STR4_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_STR4_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_STR4_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_STR4_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_STR4_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_STR4_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_STR4_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_STR4_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_STR4_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_STR4_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_STR4_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_STR4_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_STR4_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_STR4_BUSLAT ((uint32_t)0x000F0000) /*!< BUSLAT[3:0] bits (Bus latency) */
- #define EXMC_STR4_BUSLAT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_STR4_BUSLAT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_STR4_BUSLAT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_STR4_BUSLAT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_STR4_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_STR4_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_STR4_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_STR4_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_STR4_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_STR4_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_STR4_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_STR4_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_STR4_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_STR4_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_STR4_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_STR4_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_STR4_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_SWTR1 register ******************/
- #define EXMC_SWTR1_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_SWTR1_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_SWTR1_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_SWTR1_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_SWTR1_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_SWTR1_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_SWTR1_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SWTR1_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SWTR1_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_SWTR1_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_SWTR1_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_SWTR1_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_SWTR1_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_SWTR1_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_SWTR1_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_SWTR1_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_SWTR1_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_SWTR1_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_SWTR1_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_SWTR1_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_SWTR1_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_SWTR1_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_SWTR1_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_SWTR1_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_SWTR1_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_SWTR1_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_SWTR1_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_SWTR1_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_SWTR2 register ******************/
- #define EXMC_SWTR2_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_SWTR2_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_SWTR2_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_SWTR2_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_SWTR2_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_SWTR2_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_SWTR2_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SWTR2_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SWTR2_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_SWTR2_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_SWTR2_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_SWTR2_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_SWTR2_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_SWTR2_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_SWTR2_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_SWTR2_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_SWTR2_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_SWTR2_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_SWTR2_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_SWTR2_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_SWTR2_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_SWTR2_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_SWTR2_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_SWTR2_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_SWTR2_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_SWTR2_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_SWTR2_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_SWTR2_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_SWTR3 register ******************/
- #define EXMC_SWTR3_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_SWTR3_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_SWTR3_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_SWTR3_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_SWTR3_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_SWTR3_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_SWTR3_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SWTR3_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SWTR3_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_SWTR3_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_SWTR3_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_SWTR3_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_SWTR3_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_SWTR3_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_SWTR3_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_SWTR3_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_SWTR3_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_SWTR3_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_SWTR3_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_SWTR3_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_SWTR3_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_SWTR3_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_SWTR3_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_SWTR3_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_SWTR3_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_SWTR3_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_SWTR3_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_SWTR3_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_SWTR4 register ******************/
- #define EXMC_SWTR4_AST ((uint32_t)0x0000000F) /*!< AST[3:0] bits (Address setup time) */
- #define EXMC_SWTR4_AST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_SWTR4_AST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_SWTR4_AST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_SWTR4_AST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_SWTR4_AHT ((uint32_t)0x000000F0) /*!< AHT[3:0] bits (Address hold time) */
- #define EXMC_SWTR4_AHT_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_SWTR4_AHT_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_SWTR4_AHT_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define EXMC_SWTR4_AHT_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define EXMC_SWTR4_DST ((uint32_t)0x0000FF00) /*!< DST [3:0] bits (Data setup time) */
- #define EXMC_SWTR4_DST_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_SWTR4_DST_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_SWTR4_DST_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_SWTR4_DST_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_SWTR4_CDIV ((uint32_t)0x00F00000) /*!< CDIV[3:0] bits (Synchronous clock divide ratio) */
- #define EXMC_SWTR4_CDIV_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define EXMC_SWTR4_CDIV_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define EXMC_SWTR4_CDIV_2 ((uint32_t)0x00400000) /*!< Bit 2 */
- #define EXMC_SWTR4_CDIV_3 ((uint32_t)0x00800000) /*!< Bit 3 */
- #define EXMC_SWTR4_DLAT ((uint32_t)0x0F000000) /*!< DLAT[3:0] bits (Data latency for nor flash) */
- #define EXMC_SWTR4_DLAT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_SWTR4_DLAT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_SWTR4_DLAT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_SWTR4_DLAT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_SWTR4_ASYNMOD ((uint32_t)0x30000000) /*!< ASYNMOD[1:0] bits (Asynchronous access mode) */
- #define EXMC_SWTR4_ASYNMOD_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define EXMC_SWTR4_ASYNMOD_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- /****************** Bit definition for EXMC_CTLR2 register *******************/
- #define EXMC_CTLR2_WSIGEN ((uint32_t)0x00000002) /*!< Wait feature enable */
- #define EXMC_CTLR2_BAKEN ((uint32_t)0x00000004) /*!< Memory bank enable */
- #define EXMC_CTLR2_EMTYP ((uint32_t)0x00000008) /*!< Memory type */
- #define EXMC_CTLR2_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (external memory databus width) */
- #define EXMC_CTLR2_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_CTLR2_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_CTLR2_ECCEN ((uint32_t)0x00000040) /*!< ECC enable */
- #define EXMC_CTLR2_CTR ((uint32_t)0x00001E00) /*!< CTR[3:0] bits (CLE to RE delay) */
- #define EXMC_CTLR2_CTR_0 ((uint32_t)0x00000200) /*!< Bit 0 */
- #define EXMC_CTLR2_CTR_1 ((uint32_t)0x00000400) /*!< Bit 1 */
- #define EXMC_CTLR2_CTR_2 ((uint32_t)0x00000800) /*!< Bit 2 */
- #define EXMC_CTLR2_CTR_3 ((uint32_t)0x00001000) /*!< Bit 3 */
- #define EXMC_CTLR2_ATR ((uint32_t)0x0001E000) /*!< ATR[3:0] bits (ALE to RE delay) */
- #define EXMC_CTLR2_ATR_0 ((uint32_t)0x00002000) /*!< Bit 0 */
- #define EXMC_CTLR2_ATR_1 ((uint32_t)0x00004000) /*!< Bit 1 */
- #define EXMC_CTLR2_ATR_2 ((uint32_t)0x00008000) /*!< Bit 2 */
- #define EXMC_CTLR2_ATR_3 ((uint32_t)0x00010000) /*!< Bit 3 */
- #define EXMC_CTLR2_ECCSZ ((uint32_t)0x000E0000) /*!< ECCSZ[1:0] bits (ECC size) */
- #define EXMC_CTLR2_ECCSZ_0 ((uint32_t)0x00020000) /*!< Bit 0 */
- #define EXMC_CTLR2_ECCSZ_1 ((uint32_t)0x00040000) /*!< Bit 1 */
- #define EXMC_CTLR2_ECCSZ_2 ((uint32_t)0x00080000) /*!< Bit 2 */
- /****************** Bit definition for EXMC_CTLR3 register *******************/
- #define EXMC_CTLR3_WSIGEN ((uint32_t)0x00000002) /*!< Wait feature enable */
- #define EXMC_CTLR3_BAKEN ((uint32_t)0x00000004) /*!< Memory bank enable */
- #define EXMC_CTLR3_EMTYP ((uint32_t)0x00000008) /*!< Memory type */
- #define EXMC_CTLR3_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (external memory databus width) */
- #define EXMC_CTLR3_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_CTLR3_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_CTLR3_ECCEN ((uint32_t)0x00000040) /*!< ECC enable */
- #define EXMC_CTLR3_CTR ((uint32_t)0x00001E00) /*!< CTR[3:0] bits (CLE to RE delay) */
- #define EXMC_CTLR3_CTR_0 ((uint32_t)0x00000200) /*!< Bit 0 */
- #define EXMC_CTLR3_CTR_1 ((uint32_t)0x00000400) /*!< Bit 1 */
- #define EXMC_CTLR3_CTR_2 ((uint32_t)0x00000800) /*!< Bit 2 */
- #define EXMC_CTLR3_CTR_3 ((uint32_t)0x00001000) /*!< Bit 3 */
- #define EXMC_CTLR3_ATR ((uint32_t)0x0001E000) /*!< ATR[3:0] bits (ALE to RE delay) */
- #define EXMC_CTLR3_ATR_0 ((uint32_t)0x00002000) /*!< Bit 0 */
- #define EXMC_CTLR3_ATR_1 ((uint32_t)0x00004000) /*!< Bit 1 */
- #define EXMC_CTLR3_ATR_2 ((uint32_t)0x00008000) /*!< Bit 2 */
- #define EXMC_CTLR3_ATR_3 ((uint32_t)0x00010000) /*!< Bit 3 */
- #define EXMC_CTLR3_ECCSZ ((uint32_t)0x000E0000) /*!< ECCSZ[1:0] bits (ECC size) */
- #define EXMC_CTLR3_ECCSZ_0 ((uint32_t)0x00020000) /*!< Bit 0 */
- #define EXMC_CTLR3_ECCSZ_1 ((uint32_t)0x00040000) /*!< Bit 1 */
- #define EXMC_CTLR3_ECCSZ_2 ((uint32_t)0x00080000) /*!< Bit 2 */
- /****************** Bit definition for EXMC_CTLR4 register *******************/
- #define EXMC_CTLR4_WSIGEN ((uint32_t)0x00000002) /*!< Wait feature enable */
- #define EXMC_CTLR4_BAKEN ((uint32_t)0x00000004) /*!< Memory bank enable */
- #define EXMC_CTLR4_EMTYP ((uint32_t)0x00000008) /*!< Memory type */
- #define EXMC_CTLR4_EMWID ((uint32_t)0x00000030) /*!< EMWID[1:0] bits (external memory databus width) */
- #define EXMC_CTLR4_EMWID_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define EXMC_CTLR4_EMWID_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define EXMC_CTLR4_ECCEN ((uint32_t)0x00000040) /*!< ECC enable */
- #define EXMC_CTLR4_CTR ((uint32_t)0x00001E00) /*!< CTR[3:0] bits (CLE to RE delay) */
- #define EXMC_CTLR4_CTR_0 ((uint32_t)0x00000200) /*!< Bit 0 */
- #define EXMC_CTLR4_CTR_1 ((uint32_t)0x00000400) /*!< Bit 1 */
- #define EXMC_CTLR4_CTR_2 ((uint32_t)0x00000800) /*!< Bit 2 */
- #define EXMC_CTLR4_CTR_3 ((uint32_t)0x00001000) /*!< Bit 3 */
- #define EXMC_CTLR4_ATR ((uint32_t)0x0001E000) /*!< ATR[3:0] bits (ALE to RE delay) */
- #define EXMC_CTLR4_ATR_0 ((uint32_t)0x00002000) /*!< Bit 0 */
- #define EXMC_CTLR4_ATR_1 ((uint32_t)0x00004000) /*!< Bit 1 */
- #define EXMC_CTLR4_ATR_2 ((uint32_t)0x00008000) /*!< Bit 2 */
- #define EXMC_CTLR4_ATR_3 ((uint32_t)0x00010000) /*!< Bit 3 */
- #define EXMC_CTLR4_ECCSZ ((uint32_t)0x000E0000) /*!< ECCSZ[1:0] bits (ECC size) */
- #define EXMC_CTLR4_ECCSZ_0 ((uint32_t)0x00020000) /*!< Bit 0 */
- #define EXMC_CTLR4_ECCSZ_1 ((uint32_t)0x00040000) /*!< Bit 1 */
- #define EXMC_CTLR4_ECCSZ_2 ((uint32_t)0x00080000) /*!< Bit 2 */
- /******************* Bit definition for EXMC_SIR2 register *******************/
- #define EXMC_SIR2_ITRS ((uint8_t)0x01) /*!< Interrupt rising edge status */
- #define EXMC_SIR2_ITHS ((uint8_t)0x02) /*!< Interrupt high-level status */
- #define EXMC_SIR2_ITFS ((uint8_t)0x04) /*!< Interrupt falling edge status */
- #define EXMC_SIR2_ITREN ((uint8_t)0x08) /*!< Interrupt rising edge detection Enable bit */
- #define EXMC_SIR2_ITHEN ((uint8_t)0x10) /*!< Interrupt high level detection Enable bit */
- #define EXMC_SIR2_ITFEN ((uint8_t)0x20) /*!< Interrupt falling edge detection Enable bit */
- #define EXMC_SIR2_FIFOE ((uint8_t)0x40) /*!< FIFO empty flag */
- /******************* Bit definition for EXMC_SIR3 register *******************/
- #define EXMC_SIR3_ITRS ((uint8_t)0x01) /*!< Interrupt rising edge status */
- #define EXMC_SIR3_ITHS ((uint8_t)0x02) /*!< Interrupt high-level status */
- #define EXMC_SIR3_ITFS ((uint8_t)0x04) /*!< Interrupt falling edge status */
- #define EXMC_SIR3_ITREN ((uint8_t)0x08) /*!< Interrupt rising edge detection Enable bit */
- #define EXMC_SIR3_ITHEN ((uint8_t)0x10) /*!< Interrupt high level detection Enable bit */
- #define EXMC_SIR3_ITFEN ((uint8_t)0x20) /*!< Interrupt falling edge detection Enable bit */
- #define EXMC_SIR3_FIFOE ((uint8_t)0x40) /*!< FIFO empty flag */
- /******************* Bit definition for EXMC_SIR4 register *******************/
- #define EXMC_SIR4_ITRS ((uint8_t)0x01) /*!< Interrupt rising edge status */
- #define EXMC_SIR4_ITHS ((uint8_t)0x02) /*!< Interrupt high-level status */
- #define EXMC_SIR4_ITFS ((uint8_t)0x04) /*!< Interrupt falling edge status */
- #define EXMC_SIR4_ITREN ((uint8_t)0x08) /*!< Interrupt rising edge detection Enable bit */
- #define EXMC_SIR4_ITHEN ((uint8_t)0x10) /*!< Interrupt high level detection Enable bit */
- #define EXMC_SIR4_ITFEN ((uint8_t)0x20) /*!< Interrupt falling edge detection Enable bit */
- #define EXMC_SIR4_FIFOE ((uint8_t)0x40) /*!< FIFO empty flag */
- /****************** Bit definition for EXMC_COMTR2 register ******************/
- #define EXMC_COMTR2_COMST ((uint32_t)0x000000FF) /*!< COMST[7:0] bits (Common memory 2 setup time) */
- #define EXMC_COMTR2_COMST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_COMTR2_COMST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_COMTR2_COMST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_COMTR2_COMST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_COMTR2_COMST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_COMTR2_COMST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_COMTR2_COMST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_COMTR2_COMST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_COMTR2_COMWT ((uint32_t)0x0000FF00) /*!< COMWT[7:0] bits (Common memory 2 wait time) */
- #define EXMC_COMTR2_COMWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_COMTR2_COMWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_COMTR2_COMWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_COMTR2_COMWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_COMTR2_COMWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_COMTR2_COMWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_COMTR2_COMWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_COMTR2_COMWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_COMTR2_COMHT ((uint32_t)0x00FF0000) /*!< COMHT[7:0] bits (Common memory 2 hold time) */
- #define EXMC_COMTR2_COMHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_COMTR2_COMHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_COMTR2_COMHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_COMTR2_COMHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_COMTR2_COMHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_COMTR2_COMHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_COMTR2_COMHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_COMTR2_COMHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_COMTR2_COMHIZT ((uint32_t)0xFF000000) /*!< COMHIZ[7:0] bits (Common memory 2 databus HiZ time) */
- #define EXMC_COMTR2_COMHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_COMTR2_COMHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_COMTR2_COMHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_COMTR2_COMHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_COMTR2_COMHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_COMTR2_COMHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_COMTR2_COMHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_COMTR2_COMHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_COMTR3 register ******************/
- #define EXMC_COMTR3_COMST ((uint32_t)0x000000FF) /*!< COMST[7:0] bits (Common memory 3 setup time) */
- #define EXMC_COMTR3_COMST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_COMTR3_COMST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_COMTR3_COMST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_COMTR3_COMST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_COMTR3_COMST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_COMTR3_COMST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_COMTR3_COMST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_COMTR3_COMST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_COMTR3_COMWT ((uint32_t)0x0000FF00) /*!< COMWT[7:0] bits (Common memory 3 wait time) */
- #define EXMC_COMTR3_COMWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_COMTR3_COMWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_COMTR3_COMWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_COMTR3_COMWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_COMTR3_COMWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_COMTR3_COMWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_COMTR3_COMWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_COMTR3_COMWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_COMTR3_COMHT ((uint32_t)0x00FF0000) /*!< COMHT[7:0] bits (Common memory 3 hold time) */
- #define EXMC_COMTR3_COMHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_COMTR3_COMHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_COMTR3_COMHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_COMTR3_COMHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_COMTR3_COMHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_COMTR3_COMHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_COMTR3_COMHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_COMTR3_COMHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_COMTR3_COMHIZT ((uint32_t)0xFF000000) /*!< COMHIZ[7:0] bits (Common memory 3 databus HiZ time) */
- #define EXMC_COMTR3_COMHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_COMTR3_COMHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_COMTR3_COMHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_COMTR3_COMHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_COMTR3_COMHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_COMTR3_COMHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_COMTR3_COMHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_COMTR3_COMHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_COMTR4 register ******************/
- #define EXMC_COMTR4_COMST ((uint32_t)0x000000FF) /*!< COMST[7:0] bits (Common memory 4 setup time) */
- #define EXMC_COMTR4_COMST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_COMTR4_COMST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_COMTR4_COMST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_COMTR4_COMST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_COMTR4_COMST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_COMTR4_COMST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_COMTR4_COMST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_COMTR4_COMST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_COMTR4_COMWT ((uint32_t)0x0000FF00) /*!< COMWT[7:0] bits (Common memory 4 wait time) */
- #define EXMC_COMTR4_COMWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_COMTR4_COMWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_COMTR4_COMWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_COMTR4_COMWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_COMTR4_COMWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_COMTR4_COMWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_COMTR4_COMWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_COMTR4_COMWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_COMTR4_COMHT ((uint32_t)0x00FF0000) /*!< COMHT[7:0] bits (Common memory 4 hold time) */
- #define EXMC_COMTR4_COMHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_COMTR4_COMHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_COMTR4_COMHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_COMTR4_COMHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_COMTR4_COMHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_COMTR4_COMHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_COMTR4_COMHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_COMTR4_COMHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_COMTR4_COMHIZT ((uint32_t)0xFF000000) /*!< COMHIZ[7:0] bits (Common memory 4 databus HiZ time) */
- #define EXMC_COMTR4_COMHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_COMTR4_COMHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_COMTR4_COMHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_COMTR4_COMHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_COMTR4_COMHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_COMTR4_COMHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_COMTR4_COMHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_COMTR4_COMHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_ATTR2 register ******************/
- #define EXMC_ATTR2_ATTST ((uint32_t)0x000000FF) /*!< ATTST[7:0] bits (Attribute memory 2 setup time) */
- #define EXMC_ATTR2_ATTST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_ATTR2_ATTST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_ATTR2_ATTST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_ATTR2_ATTST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_ATTR2_ATTST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_ATTR2_ATTST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_ATTR2_ATTST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_ATTR2_ATTST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_ATTR2_ATTWT ((uint32_t)0x0000FF00) /*!< ATTWT[7:0] bits (Attribute memory 2 wait time) */
- #define EXMC_ATTR2_ATTWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_ATTR2_ATTWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_ATTR2_ATTWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_ATTR2_ATTWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_ATTR2_ATTWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_ATTR2_ATTWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_ATTR2_ATTWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_ATTR2_ATTWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_ATTR2_ATTHT ((uint32_t)0x00FF0000) /*!< ATTHT[7:0] bits (Attribute memory 2 hold time) */
- #define EXMC_ATTR2_ATTHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_ATTR2_ATTHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_ATTR2_ATTHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_ATTR2_ATTHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_ATTR2_ATTHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_ATTR2_ATTHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_ATTR2_ATTHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_ATTR2_ATTHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_ATTR2_ATTHIZT ((uint32_t)0xFF000000) /*!< ATTHIZ[7:0] bits (Attribute memory 2 databus HiZ time) */
- #define EXMC_ATTR2_ATTHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_ATTR2_ATTHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_ATTR2_ATTHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_ATTR2_ATTHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_ATTR2_ATTHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_ATTR2_ATTHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_ATTR2_ATTHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_ATTR2_ATTHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_ATTR3 register ******************/
- #define EXMC_ATTR3_ATTST ((uint32_t)0x000000FF) /*!< ATTST[7:0] bits (Attribute memory 3 setup time) */
- #define EXMC_ATTR3_ATTST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_ATTR3_ATTST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_ATTR3_ATTST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_ATTR3_ATTST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_ATTR3_ATTST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_ATTR3_ATTST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_ATTR3_ATTST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_ATTR3_ATTST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_ATTR3_ATTWT ((uint32_t)0x0000FF00) /*!< ATTWT[7:0] bits (Attribute memory 3 wait time) */
- #define EXMC_ATTR3_ATTWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_ATTR3_ATTWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_ATTR3_ATTWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_ATTR3_ATTWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_ATTR3_ATTWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_ATTR3_ATTWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_ATTR3_ATTWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_ATTR3_ATTWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_ATTR3_ATTHT ((uint32_t)0x00FF0000) /*!< ATTHT[7:0] bits (Attribute memory 3 hold time) */
- #define EXMC_ATTR3_ATTHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_ATTR3_ATTHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_ATTR3_ATTHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_ATTR3_ATTHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_ATTR3_ATTHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_ATTR3_ATTHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_ATTR3_ATTHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_ATTR3_ATTHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_ATTR3_ATTHIZT ((uint32_t)0xFF000000) /*!< ATTHIZ[7:0] bits (Attribute memory 3 databus HiZ time) */
- #define EXMC_ATTR3_ATTHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_ATTR3_ATTHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_ATTR3_ATTHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_ATTR3_ATTHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_ATTR3_ATTHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_ATTR3_ATTHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_ATTR3_ATTHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_ATTR3_ATTHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_ATTR4 register ******************/
- #define EXMC_ATTR4_ATTST ((uint32_t)0x000000FF) /*!< ATTST[7:0] bits (Attribute memory 4 setup time) */
- #define EXMC_ATTR4_ATTST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_ATTR4_ATTST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_ATTR4_ATTST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_ATTR4_ATTST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_ATTR4_ATTST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_ATTR4_ATTST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_ATTR4_ATTST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_ATTR4_ATTST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_ATTR4_ATTWT ((uint32_t)0x0000FF00) /*!< ATTWT[7:0] bits (Attribute memory 4 wait time) */
- #define EXMC_ATTR4_ATTWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_ATTR4_ATTWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_ATTR4_ATTWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_ATTR4_ATTWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_ATTR4_ATTWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_ATTR4_ATTWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_ATTR4_ATTWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_ATTR4_ATTWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_ATTR4_ATTHT ((uint32_t)0x00FF0000) /*!< ATTHT[7:0] bits (Attribute memory 4 hold time) */
- #define EXMC_ATTR4_ATTHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_ATTR4_ATTHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_ATTR4_ATTHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_ATTR4_ATTHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_ATTR4_ATTHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_ATTR4_ATTHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_ATTR4_ATTHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_ATTR4_ATTHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_ATTR4_ATTHIZT ((uint32_t)0xFF000000) /*!< ATTHIZ[7:0] bits (Attribute memory 4 databus HiZ time) */
- #define EXMC_ATTR4_ATTHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_ATTR4_ATTHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_ATTR4_ATTHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_ATTR4_ATTHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_ATTR4_ATTHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_ATTR4_ATTHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_ATTR4_ATTHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_ATTR3_ATTHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_IOTR4 register ******************/
- #define EXMC_IOTR4_IOST ((uint32_t)0x000000FF) /*!< IOST[7:0] bits (I/O memory 4 setup time) */
- #define EXMC_IOTR4_IOST_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define EXMC_IOTR4_IOST_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define EXMC_IOTR4_IOST_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define EXMC_IOTR4_IOST_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define EXMC_IOTR4_IOST_4 ((uint32_t)0x00000010) /*!< Bit 4 */
- #define EXMC_IOTR4_IOST_5 ((uint32_t)0x00000020) /*!< Bit 5 */
- #define EXMC_IOTR4_IOST_6 ((uint32_t)0x00000040) /*!< Bit 6 */
- #define EXMC_IOTR4_IOST_7 ((uint32_t)0x00000080) /*!< Bit 7 */
- #define EXMC_IOTR4_IOWT ((uint32_t)0x0000FF00) /*!< IOWT[7:0] bits (I/O memory 4 wait time) */
- #define EXMC_IOTR4_IOWT_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define EXMC_IOTR4_IOWT_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define EXMC_IOTR4_IOWT_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define EXMC_IOTR4_IOWT_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define EXMC_IOTR4_IOWT_4 ((uint32_t)0x00001000) /*!< Bit 4 */
- #define EXMC_IOTR4_IOWT_5 ((uint32_t)0x00002000) /*!< Bit 5 */
- #define EXMC_IOTR4_IOWT_6 ((uint32_t)0x00004000) /*!< Bit 6 */
- #define EXMC_IOTR4_IOWT_7 ((uint32_t)0x00008000) /*!< Bit 7 */
- #define EXMC_IOTR4_IOHT ((uint32_t)0x00FF0000) /*!< IOHT[7:0] bits (I/O memory 4 hold time) */
- #define EXMC_IOTR4_IOHT_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define EXMC_IOTR4_IOHT_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define EXMC_IOTR4_IOHT_2 ((uint32_t)0x00040000) /*!< Bit 2 */
- #define EXMC_IOTR4_IOHT_3 ((uint32_t)0x00080000) /*!< Bit 3 */
- #define EXMC_IOTR4_IOHT_4 ((uint32_t)0x00100000) /*!< Bit 4 */
- #define EXMC_IOTR4_IOHT_5 ((uint32_t)0x00200000) /*!< Bit 5 */
- #define EXMC_IOTR4_IOHT_6 ((uint32_t)0x00400000) /*!< Bit 6 */
- #define EXMC_IOTR4_IOHT_7 ((uint32_t)0x00800000) /*!< Bit 7 */
- #define EXMC_IOTR4_IOHIZT ((uint32_t)0xFF000000) /*!< IOHIZ[7:0] bits (I/O memory 4 databus HiZ time) */
- #define EXMC_IOTR4_IOHIZT_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define EXMC_IOTR4_IOHIZT_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define EXMC_IOTR4_IOHIZT_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define EXMC_IOTR4_IOHIZT_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define EXMC_IOTR4_IOHIZT_4 ((uint32_t)0x10000000) /*!< Bit 4 */
- #define EXMC_IOTR4_IOHIZT_5 ((uint32_t)0x20000000) /*!< Bit 5 */
- #define EXMC_IOTR4_IOHIZT_6 ((uint32_t)0x40000000) /*!< Bit 6 */
- #define EXMC_IOTR4_IOHIZT_7 ((uint32_t)0x80000000) /*!< Bit 7 */
- /****************** Bit definition for EXMC_ECCR2 register ******************/
- #define EXMC_ECCR2_ECC ((uint32_t)0xFFFFFFFF) /*!< ECC result */
- /****************** Bit definition for EXMC_ECCR3 register ******************/
- #define EXMC_ECCR3_ECC ((uint32_t)0xFFFFFFFF) /*!< ECC result */
- /******************************************************************************/
- /* */
- /* SystemTick */
- /* */
- /******************************************************************************/
- /***************** Bit definition for SysTick_CTRL register *****************/
- #define SYSTICK_CTRL_ENABLE ((uint32_t)0x00000001) /*!< Counter enable */
- #define SYSTICK_CTRL_TICKINT ((uint32_t)0x00000002) /*!< Counting down to 0 pends the SysTick handler */
- #define SYSTICK_CTRL_CLKSOURCE ((uint32_t)0x00000004) /*!< Clock source */
- #define SYSTICK_CTRL_COUNTFLAG ((uint32_t)0x00010000) /*!< Count Flag */
- /***************** Bit definition for SysTick_LOAD register *****************/
- #define SYSTICK_LOAD_RELOAD ((uint32_t)0x00FFFFFF) /*!< Value to load into the SysTick Current Value Register when the counter reaches 0 */
- /***************** Bit definition for SysTick_VAL register ******************/
- #define SYSTICK_VAL_CURRENT ((uint32_t)0x00FFFFFF) /*!< Current value at the time the register is accessed */
- /***************** Bit definition for SysTick_CALIB register ****************/
- #define SYSTICK_CALIB_TENMS ((uint32_t)0x00FFFFFF) /*!< Reload value to use for 10ms timing */
- #define SYSTICK_CALIB_SKEW ((uint32_t)0x40000000) /*!< Calibration value is not exactly 10 ms */
- #define SYSTICK_CALIB_NOREF ((uint32_t)0x80000000) /*!< The reference clock is not provided */
- /******************************************************************************/
- /* */
- /* Nested Vectored Interrupt Controller */
- /* */
- /******************************************************************************/
- /****************** Bit definition for NVIC_ISER register *******************/
- #define NVIC_ISER_SETENA ((uint32_t)0xFFFFFFFF) /*!< Interrupt set enable bits */
- #define NVIC_ISER_SETENA_0 ((uint32_t)0x00000001) /*!< bit 0 */
- #define NVIC_ISER_SETENA_1 ((uint32_t)0x00000002) /*!< bit 1 */
- #define NVIC_ISER_SETENA_2 ((uint32_t)0x00000004) /*!< bit 2 */
- #define NVIC_ISER_SETENA_3 ((uint32_t)0x00000008) /*!< bit 3 */
- #define NVIC_ISER_SETENA_4 ((uint32_t)0x00000010) /*!< bit 4 */
- #define NVIC_ISER_SETENA_5 ((uint32_t)0x00000020) /*!< bit 5 */
- #define NVIC_ISER_SETENA_6 ((uint32_t)0x00000040) /*!< bit 6 */
- #define NVIC_ISER_SETENA_7 ((uint32_t)0x00000080) /*!< bit 7 */
- #define NVIC_ISER_SETENA_8 ((uint32_t)0x00000100) /*!< bit 8 */
- #define NVIC_ISER_SETENA_9 ((uint32_t)0x00000200) /*!< bit 9 */
- #define NVIC_ISER_SETENA_10 ((uint32_t)0x00000400) /*!< bit 10 */
- #define NVIC_ISER_SETENA_11 ((uint32_t)0x00000800) /*!< bit 11 */
- #define NVIC_ISER_SETENA_12 ((uint32_t)0x00001000) /*!< bit 12 */
- #define NVIC_ISER_SETENA_13 ((uint32_t)0x00002000) /*!< bit 13 */
- #define NVIC_ISER_SETENA_14 ((uint32_t)0x00004000) /*!< bit 14 */
- #define NVIC_ISER_SETENA_15 ((uint32_t)0x00008000) /*!< bit 15 */
- #define NVIC_ISER_SETENA_16 ((uint32_t)0x00010000) /*!< bit 16 */
- #define NVIC_ISER_SETENA_17 ((uint32_t)0x00020000) /*!< bit 17 */
- #define NVIC_ISER_SETENA_18 ((uint32_t)0x00040000) /*!< bit 18 */
- #define NVIC_ISER_SETENA_19 ((uint32_t)0x00080000) /*!< bit 19 */
- #define NVIC_ISER_SETENA_20 ((uint32_t)0x00100000) /*!< bit 20 */
- #define NVIC_ISER_SETENA_21 ((uint32_t)0x00200000) /*!< bit 21 */
- #define NVIC_ISER_SETENA_22 ((uint32_t)0x00400000) /*!< bit 22 */
- #define NVIC_ISER_SETENA_23 ((uint32_t)0x00800000) /*!< bit 23 */
- #define NVIC_ISER_SETENA_24 ((uint32_t)0x01000000) /*!< bit 24 */
- #define NVIC_ISER_SETENA_25 ((uint32_t)0x02000000) /*!< bit 25 */
- #define NVIC_ISER_SETENA_26 ((uint32_t)0x04000000) /*!< bit 26 */
- #define NVIC_ISER_SETENA_27 ((uint32_t)0x08000000) /*!< bit 27 */
- #define NVIC_ISER_SETENA_28 ((uint32_t)0x10000000) /*!< bit 28 */
- #define NVIC_ISER_SETENA_29 ((uint32_t)0x20000000) /*!< bit 29 */
- #define NVIC_ISER_SETENA_30 ((uint32_t)0x40000000) /*!< bit 30 */
- #define NVIC_ISER_SETENA_31 ((uint32_t)0x80000000) /*!< bit 31 */
- /****************** Bit definition for NVIC_ICER register *******************/
- #define NVIC_ICER_CLRENA ((uint32_t)0xFFFFFFFF) /*!< Interrupt clear-enable bits */
- #define NVIC_ICER_CLRENA_0 ((uint32_t)0x00000001) /*!< bit 0 */
- #define NVIC_ICER_CLRENA_1 ((uint32_t)0x00000002) /*!< bit 1 */
- #define NVIC_ICER_CLRENA_2 ((uint32_t)0x00000004) /*!< bit 2 */
- #define NVIC_ICER_CLRENA_3 ((uint32_t)0x00000008) /*!< bit 3 */
- #define NVIC_ICER_CLRENA_4 ((uint32_t)0x00000010) /*!< bit 4 */
- #define NVIC_ICER_CLRENA_5 ((uint32_t)0x00000020) /*!< bit 5 */
- #define NVIC_ICER_CLRENA_6 ((uint32_t)0x00000040) /*!< bit 6 */
- #define NVIC_ICER_CLRENA_7 ((uint32_t)0x00000080) /*!< bit 7 */
- #define NVIC_ICER_CLRENA_8 ((uint32_t)0x00000100) /*!< bit 8 */
- #define NVIC_ICER_CLRENA_9 ((uint32_t)0x00000200) /*!< bit 9 */
- #define NVIC_ICER_CLRENA_10 ((uint32_t)0x00000400) /*!< bit 10 */
- #define NVIC_ICER_CLRENA_11 ((uint32_t)0x00000800) /*!< bit 11 */
- #define NVIC_ICER_CLRENA_12 ((uint32_t)0x00001000) /*!< bit 12 */
- #define NVIC_ICER_CLRENA_13 ((uint32_t)0x00002000) /*!< bit 13 */
- #define NVIC_ICER_CLRENA_14 ((uint32_t)0x00004000) /*!< bit 14 */
- #define NVIC_ICER_CLRENA_15 ((uint32_t)0x00008000) /*!< bit 15 */
- #define NVIC_ICER_CLRENA_16 ((uint32_t)0x00010000) /*!< bit 16 */
- #define NVIC_ICER_CLRENA_17 ((uint32_t)0x00020000) /*!< bit 17 */
- #define NVIC_ICER_CLRENA_18 ((uint32_t)0x00040000) /*!< bit 18 */
- #define NVIC_ICER_CLRENA_19 ((uint32_t)0x00080000) /*!< bit 19 */
- #define NVIC_ICER_CLRENA_20 ((uint32_t)0x00100000) /*!< bit 20 */
- #define NVIC_ICER_CLRENA_21 ((uint32_t)0x00200000) /*!< bit 21 */
- #define NVIC_ICER_CLRENA_22 ((uint32_t)0x00400000) /*!< bit 22 */
- #define NVIC_ICER_CLRENA_23 ((uint32_t)0x00800000) /*!< bit 23 */
- #define NVIC_ICER_CLRENA_24 ((uint32_t)0x01000000) /*!< bit 24 */
- #define NVIC_ICER_CLRENA_25 ((uint32_t)0x02000000) /*!< bit 25 */
- #define NVIC_ICER_CLRENA_26 ((uint32_t)0x04000000) /*!< bit 26 */
- #define NVIC_ICER_CLRENA_27 ((uint32_t)0x08000000) /*!< bit 27 */
- #define NVIC_ICER_CLRENA_28 ((uint32_t)0x10000000) /*!< bit 28 */
- #define NVIC_ICER_CLRENA_29 ((uint32_t)0x20000000) /*!< bit 29 */
- #define NVIC_ICER_CLRENA_30 ((uint32_t)0x40000000) /*!< bit 30 */
- #define NVIC_ICER_CLRENA_31 ((uint32_t)0x80000000) /*!< bit 31 */
- /****************** Bit definition for NVIC_ISPR register *******************/
- #define NVIC_ISPR_SETPEND ((uint32_t)0xFFFFFFFF) /*!< Interrupt set-pending bits */
- #define NVIC_ISPR_SETPEND_0 ((uint32_t)0x00000001) /*!< bit 0 */
- #define NVIC_ISPR_SETPEND_1 ((uint32_t)0x00000002) /*!< bit 1 */
- #define NVIC_ISPR_SETPEND_2 ((uint32_t)0x00000004) /*!< bit 2 */
- #define NVIC_ISPR_SETPEND_3 ((uint32_t)0x00000008) /*!< bit 3 */
- #define NVIC_ISPR_SETPEND_4 ((uint32_t)0x00000010) /*!< bit 4 */
- #define NVIC_ISPR_SETPEND_5 ((uint32_t)0x00000020) /*!< bit 5 */
- #define NVIC_ISPR_SETPEND_6 ((uint32_t)0x00000040) /*!< bit 6 */
- #define NVIC_ISPR_SETPEND_7 ((uint32_t)0x00000080) /*!< bit 7 */
- #define NVIC_ISPR_SETPEND_8 ((uint32_t)0x00000100) /*!< bit 8 */
- #define NVIC_ISPR_SETPEND_9 ((uint32_t)0x00000200) /*!< bit 9 */
- #define NVIC_ISPR_SETPEND_10 ((uint32_t)0x00000400) /*!< bit 10 */
- #define NVIC_ISPR_SETPEND_11 ((uint32_t)0x00000800) /*!< bit 11 */
- #define NVIC_ISPR_SETPEND_12 ((uint32_t)0x00001000) /*!< bit 12 */
- #define NVIC_ISPR_SETPEND_13 ((uint32_t)0x00002000) /*!< bit 13 */
- #define NVIC_ISPR_SETPEND_14 ((uint32_t)0x00004000) /*!< bit 14 */
- #define NVIC_ISPR_SETPEND_15 ((uint32_t)0x00008000) /*!< bit 15 */
- #define NVIC_ISPR_SETPEND_16 ((uint32_t)0x00010000) /*!< bit 16 */
- #define NVIC_ISPR_SETPEND_17 ((uint32_t)0x00020000) /*!< bit 17 */
- #define NVIC_ISPR_SETPEND_18 ((uint32_t)0x00040000) /*!< bit 18 */
- #define NVIC_ISPR_SETPEND_19 ((uint32_t)0x00080000) /*!< bit 19 */
- #define NVIC_ISPR_SETPEND_20 ((uint32_t)0x00100000) /*!< bit 20 */
- #define NVIC_ISPR_SETPEND_21 ((uint32_t)0x00200000) /*!< bit 21 */
- #define NVIC_ISPR_SETPEND_22 ((uint32_t)0x00400000) /*!< bit 22 */
- #define NVIC_ISPR_SETPEND_23 ((uint32_t)0x00800000) /*!< bit 23 */
- #define NVIC_ISPR_SETPEND_24 ((uint32_t)0x01000000) /*!< bit 24 */
- #define NVIC_ISPR_SETPEND_25 ((uint32_t)0x02000000) /*!< bit 25 */
- #define NVIC_ISPR_SETPEND_26 ((uint32_t)0x04000000) /*!< bit 26 */
- #define NVIC_ISPR_SETPEND_27 ((uint32_t)0x08000000) /*!< bit 27 */
- #define NVIC_ISPR_SETPEND_28 ((uint32_t)0x10000000) /*!< bit 28 */
- #define NVIC_ISPR_SETPEND_29 ((uint32_t)0x20000000) /*!< bit 29 */
- #define NVIC_ISPR_SETPEND_30 ((uint32_t)0x40000000) /*!< bit 30 */
- #define NVIC_ISPR_SETPEND_31 ((uint32_t)0x80000000) /*!< bit 31 */
- /****************** Bit definition for NVIC_ICPR register *******************/
- #define NVIC_ICPR_CLRPEND ((uint32_t)0xFFFFFFFF) /*!< Interrupt clear-pending bits */
- #define NVIC_ICPR_CLRPEND_0 ((uint32_t)0x00000001) /*!< bit 0 */
- #define NVIC_ICPR_CLRPEND_1 ((uint32_t)0x00000002) /*!< bit 1 */
- #define NVIC_ICPR_CLRPEND_2 ((uint32_t)0x00000004) /*!< bit 2 */
- #define NVIC_ICPR_CLRPEND_3 ((uint32_t)0x00000008) /*!< bit 3 */
- #define NVIC_ICPR_CLRPEND_4 ((uint32_t)0x00000010) /*!< bit 4 */
- #define NVIC_ICPR_CLRPEND_5 ((uint32_t)0x00000020) /*!< bit 5 */
- #define NVIC_ICPR_CLRPEND_6 ((uint32_t)0x00000040) /*!< bit 6 */
- #define NVIC_ICPR_CLRPEND_7 ((uint32_t)0x00000080) /*!< bit 7 */
- #define NVIC_ICPR_CLRPEND_8 ((uint32_t)0x00000100) /*!< bit 8 */
- #define NVIC_ICPR_CLRPEND_9 ((uint32_t)0x00000200) /*!< bit 9 */
- #define NVIC_ICPR_CLRPEND_10 ((uint32_t)0x00000400) /*!< bit 10 */
- #define NVIC_ICPR_CLRPEND_11 ((uint32_t)0x00000800) /*!< bit 11 */
- #define NVIC_ICPR_CLRPEND_12 ((uint32_t)0x00001000) /*!< bit 12 */
- #define NVIC_ICPR_CLRPEND_13 ((uint32_t)0x00002000) /*!< bit 13 */
- #define NVIC_ICPR_CLRPEND_14 ((uint32_t)0x00004000) /*!< bit 14 */
- #define NVIC_ICPR_CLRPEND_15 ((uint32_t)0x00008000) /*!< bit 15 */
- #define NVIC_ICPR_CLRPEND_16 ((uint32_t)0x00010000) /*!< bit 16 */
- #define NVIC_ICPR_CLRPEND_17 ((uint32_t)0x00020000) /*!< bit 17 */
- #define NVIC_ICPR_CLRPEND_18 ((uint32_t)0x00040000) /*!< bit 18 */
- #define NVIC_ICPR_CLRPEND_19 ((uint32_t)0x00080000) /*!< bit 19 */
- #define NVIC_ICPR_CLRPEND_20 ((uint32_t)0x00100000) /*!< bit 20 */
- #define NVIC_ICPR_CLRPEND_21 ((uint32_t)0x00200000) /*!< bit 21 */
- #define NVIC_ICPR_CLRPEND_22 ((uint32_t)0x00400000) /*!< bit 22 */
- #define NVIC_ICPR_CLRPEND_23 ((uint32_t)0x00800000) /*!< bit 23 */
- #define NVIC_ICPR_CLRPEND_24 ((uint32_t)0x01000000) /*!< bit 24 */
- #define NVIC_ICPR_CLRPEND_25 ((uint32_t)0x02000000) /*!< bit 25 */
- #define NVIC_ICPR_CLRPEND_26 ((uint32_t)0x04000000) /*!< bit 26 */
- #define NVIC_ICPR_CLRPEND_27 ((uint32_t)0x08000000) /*!< bit 27 */
- #define NVIC_ICPR_CLRPEND_28 ((uint32_t)0x10000000) /*!< bit 28 */
- #define NVIC_ICPR_CLRPEND_29 ((uint32_t)0x20000000) /*!< bit 29 */
- #define NVIC_ICPR_CLRPEND_30 ((uint32_t)0x40000000) /*!< bit 30 */
- #define NVIC_ICPR_CLRPEND_31 ((uint32_t)0x80000000) /*!< bit 31 */
- /****************** Bit definition for NVIC_IABR register *******************/
- #define NVIC_IABR_ACTIVE ((uint32_t)0xFFFFFFFF) /*!< Interrupt active flags */
- #define NVIC_IABR_ACTIVE_0 ((uint32_t)0x00000001) /*!< bit 0 */
- #define NVIC_IABR_ACTIVE_1 ((uint32_t)0x00000002) /*!< bit 1 */
- #define NVIC_IABR_ACTIVE_2 ((uint32_t)0x00000004) /*!< bit 2 */
- #define NVIC_IABR_ACTIVE_3 ((uint32_t)0x00000008) /*!< bit 3 */
- #define NVIC_IABR_ACTIVE_4 ((uint32_t)0x00000010) /*!< bit 4 */
- #define NVIC_IABR_ACTIVE_5 ((uint32_t)0x00000020) /*!< bit 5 */
- #define NVIC_IABR_ACTIVE_6 ((uint32_t)0x00000040) /*!< bit 6 */
- #define NVIC_IABR_ACTIVE_7 ((uint32_t)0x00000080) /*!< bit 7 */
- #define NVIC_IABR_ACTIVE_8 ((uint32_t)0x00000100) /*!< bit 8 */
- #define NVIC_IABR_ACTIVE_9 ((uint32_t)0x00000200) /*!< bit 9 */
- #define NVIC_IABR_ACTIVE_10 ((uint32_t)0x00000400) /*!< bit 10 */
- #define NVIC_IABR_ACTIVE_11 ((uint32_t)0x00000800) /*!< bit 11 */
- #define NVIC_IABR_ACTIVE_12 ((uint32_t)0x00001000) /*!< bit 12 */
- #define NVIC_IABR_ACTIVE_13 ((uint32_t)0x00002000) /*!< bit 13 */
- #define NVIC_IABR_ACTIVE_14 ((uint32_t)0x00004000) /*!< bit 14 */
- #define NVIC_IABR_ACTIVE_15 ((uint32_t)0x00008000) /*!< bit 15 */
- #define NVIC_IABR_ACTIVE_16 ((uint32_t)0x00010000) /*!< bit 16 */
- #define NVIC_IABR_ACTIVE_17 ((uint32_t)0x00020000) /*!< bit 17 */
- #define NVIC_IABR_ACTIVE_18 ((uint32_t)0x00040000) /*!< bit 18 */
- #define NVIC_IABR_ACTIVE_19 ((uint32_t)0x00080000) /*!< bit 19 */
- #define NVIC_IABR_ACTIVE_20 ((uint32_t)0x00100000) /*!< bit 20 */
- #define NVIC_IABR_ACTIVE_21 ((uint32_t)0x00200000) /*!< bit 21 */
- #define NVIC_IABR_ACTIVE_22 ((uint32_t)0x00400000) /*!< bit 22 */
- #define NVIC_IABR_ACTIVE_23 ((uint32_t)0x00800000) /*!< bit 23 */
- #define NVIC_IABR_ACTIVE_24 ((uint32_t)0x01000000) /*!< bit 24 */
- #define NVIC_IABR_ACTIVE_25 ((uint32_t)0x02000000) /*!< bit 25 */
- #define NVIC_IABR_ACTIVE_26 ((uint32_t)0x04000000) /*!< bit 26 */
- #define NVIC_IABR_ACTIVE_27 ((uint32_t)0x08000000) /*!< bit 27 */
- #define NVIC_IABR_ACTIVE_28 ((uint32_t)0x10000000) /*!< bit 28 */
- #define NVIC_IABR_ACTIVE_29 ((uint32_t)0x20000000) /*!< bit 29 */
- #define NVIC_IABR_ACTIVE_30 ((uint32_t)0x40000000) /*!< bit 30 */
- #define NVIC_IABR_ACTIVE_31 ((uint32_t)0x80000000) /*!< bit 31 */
- /****************** Bit definition for NVIC_PRI0 register *******************/
- #define NVIC_IPR0_PRI_0 ((uint32_t)0x000000FF) /*!< Priority of interrupt 0 */
- #define NVIC_IPR0_PRI_1 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 1 */
- #define NVIC_IPR0_PRI_2 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 2 */
- #define NVIC_IPR0_PRI_3 ((uint32_t)0xFF000000) /*!< Priority of interrupt 3 */
- /****************** Bit definition for NVIC_PRI1 register *******************/
- #define NVIC_IPR1_PRI_4 ((uint32_t)0x000000FF) /*!< Priority of interrupt 4 */
- #define NVIC_IPR1_PRI_5 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 5 */
- #define NVIC_IPR1_PRI_6 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 6 */
- #define NVIC_IPR1_PRI_7 ((uint32_t)0xFF000000) /*!< Priority of interrupt 7 */
- /****************** Bit definition for NVIC_PRI2 register *******************/
- #define NVIC_IPR2_PRI_8 ((uint32_t)0x000000FF) /*!< Priority of interrupt 8 */
- #define NVIC_IPR2_PRI_9 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 9 */
- #define NVIC_IPR2_PRI_10 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 10 */
- #define NVIC_IPR2_PRI_11 ((uint32_t)0xFF000000) /*!< Priority of interrupt 11 */
- /****************** Bit definition for NVIC_PRI3 register *******************/
- #define NVIC_IPR3_PRI_12 ((uint32_t)0x000000FF) /*!< Priority of interrupt 12 */
- #define NVIC_IPR3_PRI_13 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 13 */
- #define NVIC_IPR3_PRI_14 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 14 */
- #define NVIC_IPR3_PRI_15 ((uint32_t)0xFF000000) /*!< Priority of interrupt 15 */
- /****************** Bit definition for NVIC_PRI4 register *******************/
- #define NVIC_IPR4_PRI_16 ((uint32_t)0x000000FF) /*!< Priority of interrupt 16 */
- #define NVIC_IPR4_PRI_17 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 17 */
- #define NVIC_IPR4_PRI_18 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 18 */
- #define NVIC_IPR4_PRI_19 ((uint32_t)0xFF000000) /*!< Priority of interrupt 19 */
- /****************** Bit definition for NVIC_PRI5 register *******************/
- #define NVIC_IPR5_PRI_20 ((uint32_t)0x000000FF) /*!< Priority of interrupt 20 */
- #define NVIC_IPR5_PRI_21 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 21 */
- #define NVIC_IPR5_PRI_22 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 22 */
- #define NVIC_IPR5_PRI_23 ((uint32_t)0xFF000000) /*!< Priority of interrupt 23 */
- /****************** Bit definition for NVIC_PRI6 register *******************/
- #define NVIC_IPR6_PRI_24 ((uint32_t)0x000000FF) /*!< Priority of interrupt 24 */
- #define NVIC_IPR6_PRI_25 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 25 */
- #define NVIC_IPR6_PRI_26 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 26 */
- #define NVIC_IPR6_PRI_27 ((uint32_t)0xFF000000) /*!< Priority of interrupt 27 */
- /****************** Bit definition for NVIC_PRI7 register *******************/
- #define NVIC_IPR7_PRI_28 ((uint32_t)0x000000FF) /*!< Priority of interrupt 28 */
- #define NVIC_IPR7_PRI_29 ((uint32_t)0x0000FF00) /*!< Priority of interrupt 29 */
- #define NVIC_IPR7_PRI_30 ((uint32_t)0x00FF0000) /*!< Priority of interrupt 30 */
- #define NVIC_IPR7_PRI_31 ((uint32_t)0xFF000000) /*!< Priority of interrupt 31 */
- /****************** Bit definition for SCB_CPUID register *******************/
- #define SCB_CPUID_REVISION ((uint32_t)0x0000000F) /*!< Implementation defined revision number */
- #define SCB_CPUID_PARTNO ((uint32_t)0x0000FFF0) /*!< Number of processor within family */
- #define SCB_CPUID_Constant ((uint32_t)0x000F0000) /*!< Reads as 0x0F */
- #define SCB_CPUID_VARIANT ((uint32_t)0x00F00000) /*!< Implementation defined variant number */
- #define SCB_CPUID_IMPLEMENTER ((uint32_t)0xFF000000) /*!< Implementer code. ARM is 0x41 */
- /******************* Bit definition for SCB_ICSR register *******************/
- #define SCB_ICSR_VECTACTIVE ((uint32_t)0x000001FF) /*!< Active ISR number field */
- #define SCB_ICSR_RETTOBASE ((uint32_t)0x00000800) /*!< All active exceptions minus the IPSR_current_exception yields the empty set */
- #define SCB_ICSR_VECTPENDING ((uint32_t)0x003FF000) /*!< Pending ISR number field */
- #define SCB_ICSR_ISRPENDING ((uint32_t)0x00400000) /*!< Interrupt pending flag */
- #define SCB_ICSR_ISRPREEMPT ((uint32_t)0x00800000) /*!< It indicates that a pending interrupt becomes active in the next running cycle */
- #define SCB_ICSR_PENDSTCLR ((uint32_t)0x02000000) /*!< Clear pending SysTick bit */
- #define SCB_ICSR_PENDSTSET ((uint32_t)0x04000000) /*!< Set pending SysTick bit */
- #define SCB_ICSR_PENDSVCLR ((uint32_t)0x08000000) /*!< Clear pending pendSV bit */
- #define SCB_ICSR_PENDSVSET ((uint32_t)0x10000000) /*!< Set pending pendSV bit */
- #define SCB_ICSR_NMIPENDSET ((uint32_t)0x80000000) /*!< Set pending NMI bit */
- /******************* Bit definition for SCB_VTOR register *******************/
- #define SCB_VTOR_TBLOFF ((uint32_t)0x1FFFFF80) /*!< Vector table base offset field */
- #define SCB_VTOR_TBLBASE ((uint32_t)0x20000000) /*!< Table base in code(0) or RAM(1) */
- /*!<***************** Bit definition for SCB_AIRCR register *******************/
- #define SCB_AIRCR_VECTRESET ((uint32_t)0x00000001) /*!< System Reset bit */
- #define SCB_AIRCR_VECTCLRACTIVE ((uint32_t)0x00000002) /*!< Clear active vector bit */
- #define SCB_AIRCR_SYSRESETREQ ((uint32_t)0x00000004) /*!< Requests chip control logic to generate a reset */
- #define SCB_AIRCR_PRIGROUP ((uint32_t)0x00000700) /*!< PRIGROUP[2:0] bits (Priority group) */
- #define SCB_AIRCR_PRIGROUP_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define SCB_AIRCR_PRIGROUP_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define SCB_AIRCR_PRIGROUP_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- /* prority group configuration */
- #define SCB_AIRCR_PRIGROUP0 ((uint32_t)0x00000000) /*!< Priority group=0 (7 bits of pre-emption priority, 1 bit of subpriority) */
- #define SCB_AIRCR_PRIGROUP1 ((uint32_t)0x00000100) /*!< Priority group=1 (6 bits of pre-emption priority, 2 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP2 ((uint32_t)0x00000200) /*!< Priority group=2 (5 bits of pre-emption priority, 3 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP3 ((uint32_t)0x00000300) /*!< Priority group=3 (4 bits of pre-emption priority, 4 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP4 ((uint32_t)0x00000400) /*!< Priority group=4 (3 bits of pre-emption priority, 5 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP5 ((uint32_t)0x00000500) /*!< Priority group=5 (2 bits of pre-emption priority, 6 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP6 ((uint32_t)0x00000600) /*!< Priority group=6 (1 bit of pre-emption priority, 7 bits of subpriority) */
- #define SCB_AIRCR_PRIGROUP7 ((uint32_t)0x00000700) /*!< Priority group=7 (no pre-emption priority, 8 bits of subpriority) */
- #define SCB_AIRCR_ENDIANESS ((uint32_t)0x00008000) /*!< Data endianness bit */
- #define SCB_AIRCR_VECTKEY ((uint32_t)0xFFFF0000) /*!< Register key (VECTKEY) - Reads as 0xFA05 (VECTKEYSTAT) */
- /******************* Bit definition for SCB_SCR register ********************/
- #define SCB_SCR_SLEEPONEXIT ((uint8_t)0x02) /*!< Sleep on exit bit */
- #define SCB_SCR_SLEEPDEEP ((uint8_t)0x04) /*!< Sleep deep bit */
- #define SCB_SCR_SEVONPEND ((uint8_t)0x10) /*!< Wake up from WFE */
- /******************** Bit definition for SCB_CCR register *******************/
- #define SCB_CCR_NONBASETHRDENA ((uint16_t)0x0001) /*!< Thread mode can be entered from any level in Handler mode by controlled return value */
- #define SCB_CCR_USERSETMPEND ((uint16_t)0x0002) /*!< Enables user code to write the Software Trigger Interrupt register to trigger (pend) a Main exception */
- #define SCB_CCR_UNALIGN_TRP ((uint16_t)0x0008) /*!< Trap for unaligned access */
- #define SCB_CCR_DIV_0_TRP ((uint16_t)0x0010) /*!< Trap on Divide by 0 */
- #define SCB_CCR_BFHFNMIGN ((uint16_t)0x0100) /*!< Handlers running at priority -1 and -2 */
- #define SCB_CCR_STKALIGN ((uint16_t)0x0200) /*!< On exception entry, the SP used prior to the exception is adjusted to be 8-byte aligned */
- /******************* Bit definition for SCB_SHPR register ********************/
- #define SCB_SHPR_PRI_N ((uint32_t)0x000000FF) /*!< Priority of system handler 4,8, and 12. Mem Manage, reserved and Debug Monitor */
- #define SCB_SHPR_PRI_N1 ((uint32_t)0x0000FF00) /*!< Priority of system handler 5,9, and 13. Bus Fault, reserved and reserved */
- #define SCB_SHPR_PRI_N2 ((uint32_t)0x00FF0000) /*!< Priority of system handler 6,10, and 14. Usage Fault, reserved and PendSV */
- #define SCB_SHPR_PRI_N3 ((uint32_t)0xFF000000) /*!< Priority of system handler 7,11, and 15. Reserved, SVCall and SysTick */
- /****************** Bit definition for SCB_SHCSR register *******************/
- #define SCB_SHCSR_MEMFAULTACT ((uint32_t)0x00000001) /*!< MemManage is active */
- #define SCB_SHCSR_BUSFAULTACT ((uint32_t)0x00000002) /*!< BusFault is active */
- #define SCB_SHCSR_USGFAULTACT ((uint32_t)0x00000008) /*!< UsageFault is active */
- #define SCB_SHCSR_SVCALLACT ((uint32_t)0x00000080) /*!< SVCall is active */
- #define SCB_SHCSR_MONITORACT ((uint32_t)0x00000100) /*!< Monitor is active */
- #define SCB_SHCSR_PENDSVACT ((uint32_t)0x00000400) /*!< PendSV is active */
- #define SCB_SHCSR_SYSTICKACT ((uint32_t)0x00000800) /*!< SysTick is active */
- #define SCB_SHCSR_USGFAULTPENDED ((uint32_t)0x00001000) /*!< Usage Fault is pended */
- #define SCB_SHCSR_MEMFAULTPENDED ((uint32_t)0x00002000) /*!< MemManage is pended */
- #define SCB_SHCSR_BUSFAULTPENDED ((uint32_t)0x00004000) /*!< Bus Fault is pended */
- #define SCB_SHCSR_SVCALLPENDED ((uint32_t)0x00008000) /*!< SVCall is pended */
- #define SCB_SHCSR_MEMFAULTENA ((uint32_t)0x00010000) /*!< MemManage enable */
- #define SCB_SHCSR_BUSFAULTENA ((uint32_t)0x00020000) /*!< Bus Fault enable */
- #define SCB_SHCSR_USGFAULTENA ((uint32_t)0x00040000) /*!< UsageFault enable */
- /******************* Bit definition for SCB_CFSR register *******************/
- /*!< MFSR */
- #define SCB_CFSR_IACCVIOL ((uint32_t)0x00000001) /*!< Instruction access violation */
- #define SCB_CFSR_DACCVIOL ((uint32_t)0x00000002) /*!< Data access violation */
- #define SCB_CFSR_MUNSTKERR ((uint32_t)0x00000008) /*!< Unstacking error */
- #define SCB_CFSR_MSTKERR ((uint32_t)0x00000010) /*!< Stacking error */
- #define SCB_CFSR_MMARVALID ((uint32_t)0x00000080) /*!< Memory Manage Address Register address valid flag */
- /*!< BFSR */
- #define SCB_CFSR_IBUSERR ((uint32_t)0x00000100) /*!< Instruction bus error flag */
- #define SCB_CFSR_PRECISERR ((uint32_t)0x00000200) /*!< Precise data bus error */
- #define SCB_CFSR_IMPRECISERR ((uint32_t)0x00000400) /*!< Imprecise data bus error */
- #define SCB_CFSR_UNSTKERR ((uint32_t)0x00000800) /*!< Unstacking error */
- #define SCB_CFSR_STKERR ((uint32_t)0x00001000) /*!< Stacking error */
- #define SCB_CFSR_BFARVALID ((uint32_t)0x00008000) /*!< Bus Fault Address Register address valid flag */
- /*!< UFSR */
- #define SCB_CFSR_UNDEFINSTR ((uint32_t)0x00010000) /*!< The processor attempt to execute an undefined instruction */
- #define SCB_CFSR_INVSTATE ((uint32_t)0x00020000) /*!< Invalid combination of EPSR and instruction */
- #define SCB_CFSR_INVPC ((uint32_t)0x00040000) /*!< Attempt to load EXC_RETURN into pc illegally */
- #define SCB_CFSR_NOCP ((uint32_t)0x00080000) /*!< Attempt to use a coprocessor instruction */
- #define SCB_CFSR_UNALIGNED ((uint32_t)0x01000000) /*!< Fault occurs when there is an attempt to make an unaligned memory access */
- #define SCB_CFSR_DIVBYZERO ((uint32_t)0x02000000) /*!< Fault occurs when SDIV or DIV instruction is used with a divisor of 0 */
- /******************* Bit definition for SCB_HFSR register *******************/
- #define SCB_HFSR_VECTTBL ((uint32_t)0x00000002) /*!< Fault occurs because of vector table read on exception processing */
- #define SCB_HFSR_FORCED ((uint32_t)0x40000000) /*!< Hard Fault activated when a configurable Fault was received and cannot activate */
- #define SCB_HFSR_DEBUGEVT ((uint32_t)0x80000000) /*!< Fault related to debug */
- /******************* Bit definition for SCB_DFSR register *******************/
- #define SCB_DFSR_HALTED ((uint8_t)0x01) /*!< Halt request flag */
- #define SCB_DFSR_BKPT ((uint8_t)0x02) /*!< BKPT flag */
- #define SCB_DFSR_DWTTRAP ((uint8_t)0x04) /*!< Data Watchpoint and Trace (DWT) flag */
- #define SCB_DFSR_VCATCH ((uint8_t)0x08) /*!< Vector catch flag */
- #define SCB_DFSR_EXTERNAL ((uint8_t)0x10) /*!< External debug request flag */
- /******************* Bit definition for SCB_MMFAR register ******************/
- #define SCB_MMFAR_ADDRESS ((uint32_t)0xFFFFFFFF) /*!< Mem Manage fault address field */
- /******************* Bit definition for SCB_BFAR register *******************/
- #define SCB_BFAR_ADDRESS ((uint32_t)0xFFFFFFFF) /*!< Bus fault address field */
- /******************* Bit definition for SCB_afsr register *******************/
- #define SCB_AFSR_IMPDEF ((uint32_t)0xFFFFFFFF) /*!< Implementation defined */
- /******************************************************************************/
- /* */
- /* External Interrupt/Event Controller (EXTI) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for EXTI_IER register *******************/
- #define EXTI_IER_IER0 ((uint32_t)0x00000001) /*!< Interrupt Enable Control on line 0 */
- #define EXTI_IER_IER1 ((uint32_t)0x00000002) /*!< Interrupt Enable Control on line 1 */
- #define EXTI_IER_IER2 ((uint32_t)0x00000004) /*!< Interrupt Enable Control on line 2 */
- #define EXTI_IER_IER3 ((uint32_t)0x00000008) /*!< Interrupt Enable Control on line 3 */
- #define EXTI_IER_IER4 ((uint32_t)0x00000010) /*!< Interrupt Enable Control on line 4 */
- #define EXTI_IER_IER5 ((uint32_t)0x00000020) /*!< Interrupt Enable Control on line 5 */
- #define EXTI_IER_IER6 ((uint32_t)0x00000040) /*!< Interrupt Enable Control on line 6 */
- #define EXTI_IER_IER7 ((uint32_t)0x00000080) /*!< Interrupt Enable Control on line 7 */
- #define EXTI_IER_IER8 ((uint32_t)0x00000100) /*!< Interrupt Enable Control on line 8 */
- #define EXTI_IER_IER9 ((uint32_t)0x00000200) /*!< Interrupt Enable Control on line 9 */
- #define EXTI_IER_IER10 ((uint32_t)0x00000400) /*!< Interrupt Enable Control on line 10 */
- #define EXTI_IER_IER11 ((uint32_t)0x00000800) /*!< Interrupt Enable Control on line 11 */
- #define EXTI_IER_IER12 ((uint32_t)0x00001000) /*!< Interrupt Enable Control on line 12 */
- #define EXTI_IER_IER13 ((uint32_t)0x00002000) /*!< Interrupt Enable Control on line 13 */
- #define EXTI_IER_IER14 ((uint32_t)0x00004000) /*!< Interrupt Enable Control on line 14 */
- #define EXTI_IER_IER15 ((uint32_t)0x00008000) /*!< Interrupt Enable Control on line 15 */
- #define EXTI_IER_IER16 ((uint32_t)0x00010000) /*!< Interrupt Enable Control on line 16 */
- #define EXTI_IER_IER17 ((uint32_t)0x00020000) /*!< Interrupt Enable Control on line 17 */
- #define EXTI_IER_IER18 ((uint32_t)0x00040000) /*!< Interrupt Enable Control on line 18 */
- #define EXTI_IER_IER19 ((uint32_t)0x00080000) /*!< Interrupt Enable Control on line 19 */
- /****************** Bit definition for EXTI_EER register ********************/
- #define EXTI_EER_EER0 ((uint32_t)0x00000001) /*!< Event Enable Control on line 0 */
- #define EXTI_EER_EER1 ((uint32_t)0x00000002) /*!< Event Enable Control on line 1 */
- #define EXTI_EER_EER2 ((uint32_t)0x00000004) /*!< Event Enable Control on line 2 */
- #define EXTI_EER_EER3 ((uint32_t)0x00000008) /*!< Event Enable Control on line 3 */
- #define EXTI_EER_EER4 ((uint32_t)0x00000010) /*!< Event Enable Control on line 4 */
- #define EXTI_EER_EER5 ((uint32_t)0x00000020) /*!< Event Enable Control on line 5 */
- #define EXTI_EER_EER6 ((uint32_t)0x00000040) /*!< Event Enable Control on line 6 */
- #define EXTI_EER_EER7 ((uint32_t)0x00000080) /*!< Event Enable Control on line 7 */
- #define EXTI_EER_EER8 ((uint32_t)0x00000100) /*!< Event Enable Control on line 8 */
- #define EXTI_EER_EER9 ((uint32_t)0x00000200) /*!< Event Enable Control on line 9 */
- #define EXTI_EER_EER10 ((uint32_t)0x00000400) /*!< Event Enable Control on line 10 */
- #define EXTI_EER_EER11 ((uint32_t)0x00000800) /*!< Event Enable Control on line 11 */
- #define EXTI_EER_EER12 ((uint32_t)0x00001000) /*!< Event Enable Control on line 12 */
- #define EXTI_EER_EER13 ((uint32_t)0x00002000) /*!< Event Enable Control on line 13 */
- #define EXTI_EER_EER14 ((uint32_t)0x00004000) /*!< Event Enable Control on line 14 */
- #define EXTI_EER_EER15 ((uint32_t)0x00008000) /*!< Event Enable Control on line 15 */
- #define EXTI_EER_EER16 ((uint32_t)0x00010000) /*!< Event Enable Control on line 16 */
- #define EXTI_EER_EER17 ((uint32_t)0x00020000) /*!< Event Enable Control on line 17 */
- #define EXTI_EER_EER18 ((uint32_t)0x00040000) /*!< Event Enable Control on line 18 */
- #define EXTI_EER_EER19 ((uint32_t)0x00080000) /*!< Event Enable Control on line 19 */
- /******************* Bit definition for EXTI_RTE register ******************/
- #define EXTI_RTE_RTE0 ((uint32_t)0x00000001) /*!< Rising Edge Trigger Enabled for line 0 */
- #define EXTI_RTE_RTE1 ((uint32_t)0x00000002) /*!< Rising Edge Trigger Enabled for line 1 */
- #define EXTI_RTE_RTE2 ((uint32_t)0x00000004) /*!< Rising Edge Trigger Enabled for line 2 */
- #define EXTI_RTE_RTE3 ((uint32_t)0x00000008) /*!< Rising Edge Trigger Enabled for line 3 */
- #define EXTI_RTE_RTE4 ((uint32_t)0x00000010) /*!< Rising Edge Trigger Enabled for line 4 */
- #define EXTI_RTE_RTE5 ((uint32_t)0x00000020) /*!< Rising Edge Trigger Enabled for line 5 */
- #define EXTI_RTE_RTE6 ((uint32_t)0x00000040) /*!< Rising Edge Trigger Enabled for line 6 */
- #define EXTI_RTE_RTE7 ((uint32_t)0x00000080) /*!< Rising Edge Trigger Enabled for line 7 */
- #define EXTI_RTE_RTE8 ((uint32_t)0x00000100) /*!< Rising Edge Trigger Enabled for line 8 */
- #define EXTI_RTE_RTE9 ((uint32_t)0x00000200) /*!< Rising Edge Trigger Enabled for line 9 */
- #define EXTI_RTE_RTE10 ((uint32_t)0x00000400) /*!< Rising Edge Trigger Enabled for line 10 */
- #define EXTI_RTE_RTE11 ((uint32_t)0x00000800) /*!< Rising Edge Trigger Enabled for line 11 */
- #define EXTI_RTE_RTE12 ((uint32_t)0x00001000) /*!< Rising Edge Trigger Enabled for line 12 */
- #define EXTI_RTE_RTE13 ((uint32_t)0x00002000) /*!< Rising Edge Trigger Enabled for line 13 */
- #define EXTI_RTE_RTE14 ((uint32_t)0x00004000) /*!< Rising Edge Trigger Enabled for line 14 */
- #define EXTI_RTE_RTE15 ((uint32_t)0x00008000) /*!< Rising Edge Trigger Enabled for line 15 */
- #define EXTI_RTE_RTE16 ((uint32_t)0x00010000) /*!< Rising Edge Trigger Enabled for line 16 */
- #define EXTI_RTE_RTE17 ((uint32_t)0x00020000) /*!< Rising Edge Trigger Enabled for line 17 */
- #define EXTI_RTE_RTE18 ((uint32_t)0x00040000) /*!< Rising Edge Trigger Enabled for line 18 */
- #define EXTI_RTE_RTE19 ((uint32_t)0x00080000) /*!< Rising Edge Trigger Enabled for line 19 */
- /******************* Bit definition for EXTI_FTE register *******************/
- #define EXTI_FTE_FTE0 ((uint32_t)0x00000001) /*!< Falling Edge Trigger Enabled for line 0 */
- #define EXTI_FTE_FTE1 ((uint32_t)0x00000002) /*!< Falling Edge Trigger Enabled for line 1 */
- #define EXTI_FTE_FTE2 ((uint32_t)0x00000004) /*!< Falling Edge Trigger Enabled for line 2 */
- #define EXTI_FTE_FTE3 ((uint32_t)0x00000008) /*!< Falling Edge Trigger Enabled for line 3 */
- #define EXTI_FTE_FTE4 ((uint32_t)0x00000010) /*!< Falling Edge Trigger Enabled for line 4 */
- #define EXTI_FTE_FTE5 ((uint32_t)0x00000020) /*!< Falling Edge Trigger Enabled for line 5 */
- #define EXTI_FTE_FTE6 ((uint32_t)0x00000040) /*!< Falling Edge Trigger Enabled for line 6 */
- #define EXTI_FTE_FTE7 ((uint32_t)0x00000080) /*!< Falling Edge Trigger Enabled for line 7 */
- #define EXTI_FTE_FTE8 ((uint32_t)0x00000100) /*!< Falling Edge Trigger Enabled for line 8 */
- #define EXTI_FTE_FTE9 ((uint32_t)0x00000200) /*!< Falling Edge Trigger Enabled for line 9 */
- #define EXTI_FTE_FTE10 ((uint32_t)0x00000400) /*!< Falling Edge Trigger Enabled for line 10 */
- #define EXTI_FTE_FTE11 ((uint32_t)0x00000800) /*!< Falling Edge Trigger Enabled for line 11 */
- #define EXTI_FTE_FTE12 ((uint32_t)0x00001000) /*!< Falling Edge Trigger Enabled for line 12 */
- #define EXTI_FTE_FTE13 ((uint32_t)0x00002000) /*!< Falling Edge Trigger Enabled for line 13 */
- #define EXTI_FTE_FTE14 ((uint32_t)0x00004000) /*!< Falling Edge Trigger Enabled for line 14 */
- #define EXTI_FTE_FTE15 ((uint32_t)0x00008000) /*!< Falling Edge Trigger Enabled for line 15 */
- #define EXTI_FTE_FTE16 ((uint32_t)0x00010000) /*!< Falling Edge Trigger Enabled for line 16 */
- #define EXTI_FTE_FTE17 ((uint32_t)0x00020000) /*!< Falling Edge Trigger Enabled for line 17 */
- #define EXTI_FTE_FTE18 ((uint32_t)0x00040000) /*!< Falling Edge Trigger Enabled for line 18 */
- #define EXTI_FTE_FTE19 ((uint32_t)0x00080000) /*!< Falling Edge Trigger Enabled for line 19 */
- /******************* Bit definition for EXTI_SIE register *******************/
- #define EXTI_SIE_SIE0 ((uint32_t)0x00000001) /*!< Interrupt/Event Software Trigger on line 0 */
- #define EXTI_SIE_SIE1 ((uint32_t)0x00000002) /*!< Interrupt/Event Software Trigger on line 1 */
- #define EXTI_SIE_SIE2 ((uint32_t)0x00000004) /*!< Interrupt/Event Software Trigger on line 2 */
- #define EXTI_SIE_SIE3 ((uint32_t)0x00000008) /*!< Interrupt/Event Software Trigger on line 3 */
- #define EXTI_SIE_SIE4 ((uint32_t)0x00000010) /*!< Interrupt/Event Software Trigger on line 4 */
- #define EXTI_SIE_SIE5 ((uint32_t)0x00000020) /*!< Interrupt/Event Software Trigger on line 5 */
- #define EXTI_SIE_SIE6 ((uint32_t)0x00000040) /*!< Interrupt/Event Software Trigger on line 6 */
- #define EXTI_SIE_SIE7 ((uint32_t)0x00000080) /*!< Interrupt/Event Software Trigger on line 7 */
- #define EXTI_SIE_SIE8 ((uint32_t)0x00000100) /*!< Interrupt/Event Software Trigger on line 8 */
- #define EXTI_SIE_SIE9 ((uint32_t)0x00000200) /*!< Interrupt/Event Software Trigger on line 9 */
- #define EXTI_SIE_SIE10 ((uint32_t)0x00000400) /*!< Interrupt/Event Software Trigger on line 10 */
- #define EXTI_SIE_SIE11 ((uint32_t)0x00000800) /*!< Interrupt/Event Software Trigger on line 11 */
- #define EXTI_SIE_SIE12 ((uint32_t)0x00001000) /*!< Interrupt/Event Software Trigger on line 12 */
- #define EXTI_SIE_SIE13 ((uint32_t)0x00002000) /*!< Interrupt/Event Software Trigger on line 13 */
- #define EXTI_SIE_SIE14 ((uint32_t)0x00004000) /*!< Interrupt/Event Software Trigger on line 14 */
- #define EXTI_SIE_SIE15 ((uint32_t)0x00008000) /*!< Interrupt/Event Software Trigger on line 15 */
- #define EXTI_SIE_SIE16 ((uint32_t)0x00010000) /*!< Interrupt/Event Software Trigger on line 16 */
- #define EXTI_SIE_SIE17 ((uint32_t)0x00020000) /*!< Interrupt/Event Software Trigger on line 17 */
- #define EXTI_SIE_SIE18 ((uint32_t)0x00040000) /*!< Interrupt/Event Software Trigger on line 18 */
- #define EXTI_SIE_SIE19 ((uint32_t)0x00080000) /*!< Interrupt/Event Software Trigger on line 19 */
- /****************** Bit definition for EXTI_PD register *********************/
- #define EXTI_PD_PD0 ((uint32_t)0x00000001) /*!< Interrupt/Event Pending Status on line 0 */
- #define EXTI_PD_PD1 ((uint32_t)0x00000002) /*!< Interrupt/Event Pending Status on line 1 */
- #define EXTI_PD_PD2 ((uint32_t)0x00000004) /*!< Interrupt/Event Pending Status on line 2 */
- #define EXTI_PD_PD3 ((uint32_t)0x00000008) /*!< Interrupt/Event Pending Status on line 3 */
- #define EXTI_PD_PD4 ((uint32_t)0x00000010) /*!< Interrupt/Event Pending Status on line 4 */
- #define EXTI_PD_PD5 ((uint32_t)0x00000020) /*!< Interrupt/Event Pending Status on line 5 */
- #define EXTI_PD_PD6 ((uint32_t)0x00000040) /*!< Interrupt/Event Pending Status on line 6 */
- #define EXTI_PD_PD7 ((uint32_t)0x00000080) /*!< Interrupt/Event Pending Status on line 7 */
- #define EXTI_PD_PD8 ((uint32_t)0x00000100) /*!< Interrupt/Event Pending Status on line 8 */
- #define EXTI_PD_PD9 ((uint32_t)0x00000200) /*!< Interrupt/Event Pending Status on line 9 */
- #define EXTI_PD_PD10 ((uint32_t)0x00000400) /*!< Interrupt/Event Pending Status on line 10 */
- #define EXTI_PD_PD11 ((uint32_t)0x00000800) /*!< Interrupt/Event Pending Status on line 11 */
- #define EXTI_PD_PD12 ((uint32_t)0x00001000) /*!< Interrupt/Event Pending Status on line 12 */
- #define EXTI_PD_PD13 ((uint32_t)0x00002000) /*!< Interrupt/Event Pending Status on line 13 */
- #define EXTI_PD_PD14 ((uint32_t)0x00004000) /*!< Interrupt/Event Pending Status on line 14 */
- #define EXTI_PD_PD15 ((uint32_t)0x00008000) /*!< Interrupt/Event Pending Status on line 15 */
- #define EXTI_PD_PD16 ((uint32_t)0x00010000) /*!< Interrupt/Event Pending Status on line 16 */
- #define EXTI_PD_PD17 ((uint32_t)0x00020000) /*!< Interrupt/Event Pending Status on line 17 */
- #define EXTI_PD_PD18 ((uint32_t)0x00040000) /*!< Interrupt/Event Pending Status on line 18 */
- #define EXTI_PD_PD19 ((uint32_t)0x00080000) /*!< Interrupt/Event Pending Status on line 19 */
- /******************************************************************************/
- /* */
- /* FMC Registers */
- /* */
- /******************************************************************************/
- /******************* Bit definition for FMC_RESR register ******************/
- #define FMC_RESR_WSCNT ((uint32_t)0x00000007) /*!< LATENCY bit (Latency) */
- /****************** Bit definition for FMC_UKEYR register ******************/
- #define FMC_UKEYR_UKEY ((uint32_t)0xFFFFFFFF) /*!< FPEC Key */
- /***************** Bit definition for FMC_OBKEYR register ****************/
- #define FMC_OBKEYR_OBKEY ((uint32_t)0xFFFFFFFF) /*!< Option Byte Key */
- /****************** FMC Keys **********************************************/
- #define FMC_KEY1 ((uint32_t)0x45670123) /*!< Flash program erase key1 */
- #define FMC_KEY2 ((uint32_t)0xCDEF89AB) /*!< Flash program erase key2 */
- /****************** Bit definition for FMC_CSR register *******************/
- #define FMC_CSR_BUSY ((uint32_t)0x00000001) /*!< Busy */
- #define FMC_CSR_PGEF ((uint32_t)0x00000004) /*!< Programming Error */
- #define FMC_CSR_WPEF ((uint32_t)0x00000010) /*!< Write Protection Error */
- #define FMC_CSR_ENDF ((uint32_t)0x00000020) /*!< End of operation */
- #define FMC_CSR2_BUSY ((uint32_t)0x80000001) /*!< Busy For Bank2 */
- #define FMC_CSR2_PGEF ((uint32_t)0x80000004) /*!< Programming Error For Bank2*/
- #define FMC_CSR2_WPEF ((uint32_t)0x80000010) /*!< Write Protection Error For Bank2*/
- #define FMC_CSR2_ENDF ((uint32_t)0x80000020) /*!< End of operation For Bank2*/
- /******************* Bit definition for FMC_CMR register *******************/
- #define FMC_CMR_PG ((uint32_t)0x00000001) /*!< Programming */
- #define FMC_CMR_PE ((uint32_t)0x00000002) /*!< Page Erase */
- #define FMC_CMR_ME ((uint32_t)0x00000004) /*!< Mass Erase */
- #define FMC_CMR_OBPG ((uint32_t)0x00000010) /*!< Option Byte Programming */
- #define FMC_CMR_OBER ((uint32_t)0x00000020) /*!< Option Byte Erase */
- #define FMC_CMR_START ((uint32_t)0x00000040) /*!< Start */
- #define FMC_CMR_LK ((uint32_t)0x00000080) /*!< Lock */
- #define FMC_CMR_OBWE ((uint32_t)0x00000200) /*!< Option Bytes Write Enable */
- #define FMC_CMR_ERIE ((uint32_t)0x00000400) /*!< Error Interrupt Enable */
- #define FMC_CMR_ENDIE ((uint32_t)0x00001000) /*!< End of operation interrupt enable */
- #define FMC_CMR_OPTR ((uint32_t)0x00002000) /*!< Option Bytes Loader Launch */
- /******************* Bit definition for FMC_AR register *******************/
- #define FMC_AR_AR ((uint32_t)0xFFFFFFFF) /*!< Flash Address */
- /****************** Bit definition for FMC_OPTR register *******************/
- #define FMC_OPTR_OBER ((uint32_t)0x00000001) /*!< Option Byte Error */
- #define FMC_OPTR_PLEVEL1 ((uint32_t)0x00000002) /*!< Read protection Level 1 */
- #define FMC_OPTR_OB_USER ((uint32_t)0x00003700) /*!< User Option Bytes */
- /****************** Bit definition for FMC_WPR register ******************/
- #define FMC_WPR_WRP ((uint32_t)0xFFFFFFFF) /*!< Write Protect */
- /*----------------------------------------------------------------------------*/
- /****************** Bit definition for OB_RDP register **********************/
- #define OB_RDP_RDP ((uint32_t)0x000000FF) /*!< Read protection option byte */
- #define OB_RDP_nRDP ((uint32_t)0x0000FF00) /*!< Read protection complemented option byte */
- /****************** Bit definition for OB_USER register *********************/
- #define OB_USER_USER ((uint32_t)0x00FF0000) /*!< User option byte */
- #define OB_USER_nUSER ((uint32_t)0xFF000000) /*!< User complemented option byte */
- /****************** Bit definition for OB_WRP0 register *********************/
- #define OB_WRP0_WRP0 ((uint32_t)0x000000FF) /*!< Flash memory write protection option bytes */
- #define OB_WRP0_nWRP0 ((uint32_t)0x0000FF00) /*!< Flash memory write protection complemented option bytes */
- /****************** Bit definition for OB_WRP1 register *********************/
- #define OB_WRP1_WRP1 ((uint32_t)0x00FF0000) /*!< Flash memory write protection option bytes */
- #define OB_WRP1_nWRP1 ((uint32_t)0xFF000000) /*!< Flash memory write protection complemented option bytes */
- /****************** Bit definition for OB_WRP2 register *********************/
- #define OB_WRP2_WRP2 ((uint32_t)0x000000FF) /*!< Flash memory write protection option bytes */
- #define OB_WRP2_nWRP2 ((uint32_t)0x0000FF00) /*!< Flash memory write protection complemented option bytes */
- /****************** Bit definition for OB_WRP3 register *********************/
- #define OB_WRP3_WRP3 ((uint32_t)0x00FF0000) /*!< Flash memory write protection option bytes */
- #define OB_WRP3_nWRP3 ((uint32_t)0xFF000000) /*!< Flash memory write protection complemented option bytes */
- /******************************************************************************/
- /* */
- /* General Purpose IOs (GPIO) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for GPIO_CTLR1 register *******************/
- #define GPIO_CTLR1_MD ((uint32_t)0x33333333) /*!< Port x mode bits */
- #define GPIO_CTLR1_MD0 ((uint32_t)0x00000003) /*!< MODE0[1:0] bits (Port x mode bits, pin 0) */
- #define GPIO_CTLR1_MD0_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define GPIO_CTLR1_MD0_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define GPIO_CTLR1_MD1 ((uint32_t)0x00000030) /*!< MODE1[1:0] bits (Port x mode bits, pin 1) */
- #define GPIO_CTLR1_MD1_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define GPIO_CTLR1_MD1_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define GPIO_CTLR1_MD2 ((uint32_t)0x00000300) /*!< MODE2[1:0] bits (Port x mode bits, pin 2) */
- #define GPIO_CTLR1_MD2_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define GPIO_CTLR1_MD2_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define GPIO_CTLR1_MD3 ((uint32_t)0x00003000) /*!< MODE3[1:0] bits (Port x mode bits, pin 3) */
- #define GPIO_CTLR1_MD3_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define GPIO_CTLR1_MD3_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define GPIO_CTLR1_MD4 ((uint32_t)0x00030000) /*!< MODE4[1:0] bits (Port x mode bits, pin 4) */
- #define GPIO_CTLR1_MD4_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define GPIO_CTLR1_MD4_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define GPIO_CTLR1_MD5 ((uint32_t)0x00300000) /*!< MODE5[1:0] bits (Port x mode bits, pin 5) */
- #define GPIO_CTLR1_MD5_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define GPIO_CTLR1_MD5_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define GPIO_CTLR1_MD6 ((uint32_t)0x03000000) /*!< MODE6[1:0] bits (Port x mode bits, pin 6) */
- #define GPIO_CTLR1_MD6_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define GPIO_CTLR1_MD6_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define GPIO_CTLR1_MD7 ((uint32_t)0x30000000) /*!< MODE7[1:0] bits (Port x mode bits, pin 7) */
- #define GPIO_CTLR1_MD7_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define GPIO_CTLR1_MD7_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- #define GPIO_CTLR1_CF ((uint32_t)0xCCCCCCCC) /*!< Port x configuration bits */
- #define GPIO_CTLR1_CF0 ((uint32_t)0x0000000C) /*!< CNF0[1:0] bits (Port x configuration bits, pin 0) */
- #define GPIO_CTLR1_CF0_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define GPIO_CTLR1_CF0_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define GPIO_CTLR1_CF1 ((uint32_t)0x000000C0) /*!< CNF1[1:0] bits (Port x configuration bits, pin 1) */
- #define GPIO_CTLR1_CF1_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define GPIO_CTLR1_CF1_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- #define GPIO_CTLR1_CF2 ((uint32_t)0x00000C00) /*!< CNF2[1:0] bits (Port x configuration bits, pin 2) */
- #define GPIO_CTLR1_CF2_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define GPIO_CTLR1_CF2_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define GPIO_CTLR1_CF3 ((uint32_t)0x0000C000) /*!< CNF3[1:0] bits (Port x configuration bits, pin 3) */
- #define GPIO_CTLR1_CF3_0 ((uint32_t)0x00004000) /*!< Bit 0 */
- #define GPIO_CTLR1_CF3_1 ((uint32_t)0x00008000) /*!< Bit 1 */
- #define GPIO_CTLR1_CF4 ((uint32_t)0x000C0000) /*!< CNF4[1:0] bits (Port x configuration bits, pin 4) */
- #define GPIO_CTLR1_CF4_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define GPIO_CTLR1_CF4_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define GPIO_CTLR1_CF5 ((uint32_t)0x00C00000) /*!< CNF5[1:0] bits (Port x configuration bits, pin 5) */
- #define GPIO_CTLR1_CF5_0 ((uint32_t)0x00400000) /*!< Bit 0 */
- #define GPIO_CTLR1_CF5_1 ((uint32_t)0x00800000) /*!< Bit 1 */
- #define GPIO_CTLR1_CF6 ((uint32_t)0x0C000000) /*!< CNF6[1:0] bits (Port x configuration bits, pin 6) */
- #define GPIO_CTLR1_CF6_0 ((uint32_t)0x04000000) /*!< Bit 0 */
- #define GPIO_CTLR1_CF6_1 ((uint32_t)0x08000000) /*!< Bit 1 */
- #define GPIO_CTLR1_CF7 ((uint32_t)0xC0000000) /*!< CNF7[1:0] bits (Port x configuration bits, pin 7) */
- #define GPIO_CTLR1_CF7_0 ((uint32_t)0x40000000) /*!< Bit 0 */
- #define GPIO_CTLR1_CF7_1 ((uint32_t)0x80000000) /*!< Bit 1 */
- /******************* Bit definition for GPIO_CRH register *******************/
- #define GPIO_CTLR2_MD ((uint32_t)0x33333333) /*!< Port x mode bits */
- #define GPIO_CTLR2_MD8 ((uint32_t)0x00000003) /*!< MODE8[1:0] bits (Port x mode bits, pin 8) */
- #define GPIO_CTLR2_MD8_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define GPIO_CTLR2_MD8_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define GPIO_CTLR2_MD9 ((uint32_t)0x00000030) /*!< MODE9[1:0] bits (Port x mode bits, pin 9) */
- #define GPIO_CTLR2_MD9_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define GPIO_CTLR2_MD9_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define GPIO_CTLR2_MD10 ((uint32_t)0x00000300) /*!< MODE10[1:0] bits (Port x mode bits, pin 10) */
- #define GPIO_CTLR2_MD10_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define GPIO_CTLR2_MD10_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define GPIO_CTLR2_MD11 ((uint32_t)0x00003000) /*!< MODE11[1:0] bits (Port x mode bits, pin 11) */
- #define GPIO_CTLR2_MD11_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define GPIO_CTLR2_MD11_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define GPIO_CTLR2_MD12 ((uint32_t)0x00030000) /*!< MODE12[1:0] bits (Port x mode bits, pin 12) */
- #define GPIO_CTLR2_MD12_0 ((uint32_t)0x00010000) /*!< Bit 0 */
- #define GPIO_CTLR2_MD12_1 ((uint32_t)0x00020000) /*!< Bit 1 */
- #define GPIO_CTLR2_MD13 ((uint32_t)0x00300000) /*!< MODE13[1:0] bits (Port x mode bits, pin 13) */
- #define GPIO_CTLR2_MD13_0 ((uint32_t)0x00100000) /*!< Bit 0 */
- #define GPIO_CTLR2_MD13_1 ((uint32_t)0x00200000) /*!< Bit 1 */
- #define GPIO_CTLR2_MD14 ((uint32_t)0x03000000) /*!< MODE14[1:0] bits (Port x mode bits, pin 14) */
- #define GPIO_CTLR2_MD14_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define GPIO_CTLR2_MD14_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define GPIO_CTLR2_MD15 ((uint32_t)0x30000000) /*!< MODE15[1:0] bits (Port x mode bits, pin 15) */
- #define GPIO_CTLR2_MD15_0 ((uint32_t)0x10000000) /*!< Bit 0 */
- #define GPIO_CTLR2_MD15_1 ((uint32_t)0x20000000) /*!< Bit 1 */
- #define GPIO_CTLR2_CF ((uint32_t)0xCCCCCCCC) /*!< Port x configuration bits */
- #define GPIO_CTLR2_CF8 ((uint32_t)0x0000000C) /*!< CNF8[1:0] bits (Port x configuration bits, pin 8) */
- #define GPIO_CTLR2_CF8_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define GPIO_CTLR2_CF8_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define GPIO_CTLR2_CF9 ((uint32_t)0x000000C0) /*!< CNF9[1:0] bits (Port x configuration bits, pin 9) */
- #define GPIO_CTLR2_CF9_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define GPIO_CTLR2_CF9_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- #define GPIO_CTLR2_CF10 ((uint32_t)0x00000C00) /*!< CNF10[1:0] bits (Port x configuration bits, pin 10) */
- #define GPIO_CTLR2_CF10_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define GPIO_CTLR2_CF10_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- #define GPIO_CTLR2_CF11 ((uint32_t)0x0000C000) /*!< CNF11[1:0] bits (Port x configuration bits, pin 11) */
- #define GPIO_CTLR2_CF11_0 ((uint32_t)0x00004000) /*!< Bit 0 */
- #define GPIO_CTLR2_CF11_1 ((uint32_t)0x00008000) /*!< Bit 1 */
- #define GPIO_CTLR2_CF12 ((uint32_t)0x000C0000) /*!< CNF12[1:0] bits (Port x configuration bits, pin 12) */
- #define GPIO_CTLR2_CF12_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define GPIO_CTLR2_CF12_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define GPIO_CTLR2_CF13 ((uint32_t)0x00C00000) /*!< CNF13[1:0] bits (Port x configuration bits, pin 13) */
- #define GPIO_CTLR2_CF13_0 ((uint32_t)0x00400000) /*!< Bit 0 */
- #define GPIO_CTLR2_CF13_1 ((uint32_t)0x00800000) /*!< Bit 1 */
- #define GPIO_CTLR2_CF14 ((uint32_t)0x0C000000) /*!< CNF14[1:0] bits (Port x configuration bits, pin 14) */
- #define GPIO_CTLR2_CF14_0 ((uint32_t)0x04000000) /*!< Bit 0 */
- #define GPIO_CTLR2_CF14_1 ((uint32_t)0x08000000) /*!< Bit 1 */
- #define GPIO_CTLR2_CF15 ((uint32_t)0xC0000000) /*!< CNF15[1:0] bits (Port x configuration bits, pin 15) */
- #define GPIO_CTLR2_CF15_0 ((uint32_t)0x40000000) /*!< Bit 0 */
- #define GPIO_CTLR2_CF15_1 ((uint32_t)0x80000000) /*!< Bit 1 */
- /*!<****************** Bit definition for GPIO_DIR register *******************/
- #define GPIO_DIR_DIR0 ((uint16_t)0x0001) /*!< Port input data, bit 0 */
- #define GPIO_DIR_DIR1 ((uint16_t)0x0002) /*!< Port input data, bit 1 */
- #define GPIO_DIR_DIR2 ((uint16_t)0x0004) /*!< Port input data, bit 2 */
- #define GPIO_DIR_DIR3 ((uint16_t)0x0008) /*!< Port input data, bit 3 */
- #define GPIO_DIR_DIR4 ((uint16_t)0x0010) /*!< Port input data, bit 4 */
- #define GPIO_DIR_DIR5 ((uint16_t)0x0020) /*!< Port input data, bit 5 */
- #define GPIO_DIR_DIR6 ((uint16_t)0x0040) /*!< Port input data, bit 6 */
- #define GPIO_DIR_DIR7 ((uint16_t)0x0080) /*!< Port input data, bit 7 */
- #define GPIO_DIR_DIR8 ((uint16_t)0x0100) /*!< Port input data, bit 8 */
- #define GPIO_DIR_DIR9 ((uint16_t)0x0200) /*!< Port input data, bit 9 */
- #define GPIO_DIR_DIR10 ((uint16_t)0x0400) /*!< Port input data, bit 10 */
- #define GPIO_DIR_DIR11 ((uint16_t)0x0800) /*!< Port input data, bit 11 */
- #define GPIO_DIR_DIR12 ((uint16_t)0x1000) /*!< Port input data, bit 12 */
- #define GPIO_DIR_DIR13 ((uint16_t)0x2000) /*!< Port input data, bit 13 */
- #define GPIO_DIR_DIR14 ((uint16_t)0x4000) /*!< Port input data, bit 14 */
- #define GPIO_DIR_DIR15 ((uint16_t)0x8000) /*!< Port input data, bit 15 */
- /******************* Bit definition for GPIO_DOR register *******************/
- #define GPIO_DOR_DOR0 ((uint16_t)0x0001) /*!< Port output data, bit 0 */
- #define GPIO_DOR_DOR1 ((uint16_t)0x0002) /*!< Port output data, bit 1 */
- #define GPIO_DOR_DOR2 ((uint16_t)0x0004) /*!< Port output data, bit 2 */
- #define GPIO_DOR_DOR3 ((uint16_t)0x0008) /*!< Port output data, bit 3 */
- #define GPIO_DOR_DOR4 ((uint16_t)0x0010) /*!< Port output data, bit 4 */
- #define GPIO_DOR_DOR5 ((uint16_t)0x0020) /*!< Port output data, bit 5 */
- #define GPIO_DOR_DOR6 ((uint16_t)0x0040) /*!< Port output data, bit 6 */
- #define GPIO_DOR_DOR7 ((uint16_t)0x0080) /*!< Port output data, bit 7 */
- #define GPIO_DOR_DOR8 ((uint16_t)0x0100) /*!< Port output data, bit 8 */
- #define GPIO_DOR_DOR9 ((uint16_t)0x0200) /*!< Port output data, bit 9 */
- #define GPIO_DOR_DOR10 ((uint16_t)0x0400) /*!< Port output data, bit 10 */
- #define GPIO_DOR_DOR11 ((uint16_t)0x0800) /*!< Port output data, bit 11 */
- #define GPIO_DOR_DOR12 ((uint16_t)0x1000) /*!< Port output data, bit 12 */
- #define GPIO_DOR_DOR13 ((uint16_t)0x2000) /*!< Port output data, bit 13 */
- #define GPIO_DOR_DOR14 ((uint16_t)0x4000) /*!< Port output data, bit 14 */
- #define GPIO_DOR_DOR15 ((uint16_t)0x8000) /*!< Port output data, bit 15 */
- /****************** Bit definition for GPIO_BOR register *******************/
- #define GPIO_BOR_BOR0 ((uint32_t)0x00000001) /*!< Port x Set bit 0 */
- #define GPIO_BOR_BOR1 ((uint32_t)0x00000002) /*!< Port x Set bit 1 */
- #define GPIO_BOR_BOR2 ((uint32_t)0x00000004) /*!< Port x Set bit 2 */
- #define GPIO_BOR_BOR3 ((uint32_t)0x00000008) /*!< Port x Set bit 3 */
- #define GPIO_BOR_BOR4 ((uint32_t)0x00000010) /*!< Port x Set bit 4 */
- #define GPIO_BOR_BOR5 ((uint32_t)0x00000020) /*!< Port x Set bit 5 */
- #define GPIO_BOR_BOR6 ((uint32_t)0x00000040) /*!< Port x Set bit 6 */
- #define GPIO_BOR_BOR7 ((uint32_t)0x00000080) /*!< Port x Set bit 7 */
- #define GPIO_BOR_BOR8 ((uint32_t)0x00000100) /*!< Port x Set bit 8 */
- #define GPIO_BOR_BOR9 ((uint32_t)0x00000200) /*!< Port x Set bit 9 */
- #define GPIO_BOR_BOR10 ((uint32_t)0x00000400) /*!< Port x Set bit 10 */
- #define GPIO_BOR_BOR11 ((uint32_t)0x00000800) /*!< Port x Set bit 11 */
- #define GPIO_BOR_BOR12 ((uint32_t)0x00001000) /*!< Port x Set bit 12 */
- #define GPIO_BOR_BOR13 ((uint32_t)0x00002000) /*!< Port x Set bit 13 */
- #define GPIO_BOR_BOR14 ((uint32_t)0x00004000) /*!< Port x Set bit 14 */
- #define GPIO_BOR_BOR15 ((uint32_t)0x00008000) /*!< Port x Set bit 15 */
- #define GPIO_BOR_COR0 ((uint32_t)0x00010000) /*!< Port x Reset bit 0 */
- #define GPIO_BOR_COR1 ((uint32_t)0x00020000) /*!< Port x Reset bit 1 */
- #define GPIO_BOR_COR2 ((uint32_t)0x00040000) /*!< Port x Reset bit 2 */
- #define GPIO_BOR_COR3 ((uint32_t)0x00080000) /*!< Port x Reset bit 3 */
- #define GPIO_BOR_COR4 ((uint32_t)0x00100000) /*!< Port x Reset bit 4 */
- #define GPIO_BOR_COR5 ((uint32_t)0x00200000) /*!< Port x Reset bit 5 */
- #define GPIO_BOR_COR6 ((uint32_t)0x00400000) /*!< Port x Reset bit 6 */
- #define GPIO_BOR_COR7 ((uint32_t)0x00800000) /*!< Port x Reset bit 7 */
- #define GPIO_BOR_COR8 ((uint32_t)0x01000000) /*!< Port x Reset bit 8 */
- #define GPIO_BOR_COR9 ((uint32_t)0x02000000) /*!< Port x Reset bit 9 */
- #define GPIO_BOR_COR10 ((uint32_t)0x04000000) /*!< Port x Reset bit 10 */
- #define GPIO_BOR_COR11 ((uint32_t)0x08000000) /*!< Port x Reset bit 11 */
- #define GPIO_BOR_COR12 ((uint32_t)0x10000000) /*!< Port x Reset bit 12 */
- #define GPIO_BOR_COR13 ((uint32_t)0x20000000) /*!< Port x Reset bit 13 */
- #define GPIO_BOR_COR14 ((uint32_t)0x40000000) /*!< Port x Reset bit 14 */
- #define GPIO_BOR_COR15 ((uint32_t)0x80000000) /*!< Port x Reset bit 15 */
- /******************* Bit definition for GPIO_BCR register *******************/
- #define GPIO_BCR_BR0 ((uint16_t)0x0001) /*!< Port x Reset bit 0 */
- #define GPIO_BCR_BR1 ((uint16_t)0x0002) /*!< Port x Reset bit 1 */
- #define GPIO_BCR_BR2 ((uint16_t)0x0004) /*!< Port x Reset bit 2 */
- #define GPIO_BCR_BR3 ((uint16_t)0x0008) /*!< Port x Reset bit 3 */
- #define GPIO_BCR_BR4 ((uint16_t)0x0010) /*!< Port x Reset bit 4 */
- #define GPIO_BCR_BR5 ((uint16_t)0x0020) /*!< Port x Reset bit 5 */
- #define GPIO_BCR_BR6 ((uint16_t)0x0040) /*!< Port x Reset bit 6 */
- #define GPIO_BCR_BR7 ((uint16_t)0x0080) /*!< Port x Reset bit 7 */
- #define GPIO_BCR_BR8 ((uint16_t)0x0100) /*!< Port x Reset bit 8 */
- #define GPIO_BCR_BR9 ((uint16_t)0x0200) /*!< Port x Reset bit 9 */
- #define GPIO_BCR_BR10 ((uint16_t)0x0400) /*!< Port x Reset bit 10 */
- #define GPIO_BCR_BR11 ((uint16_t)0x0800) /*!< Port x Reset bit 11 */
- #define GPIO_BCR_BR12 ((uint16_t)0x1000) /*!< Port x Reset bit 12 */
- #define GPIO_BCR_BR13 ((uint16_t)0x2000) /*!< Port x Reset bit 13 */
- #define GPIO_BCR_BR14 ((uint16_t)0x4000) /*!< Port x Reset bit 14 */
- #define GPIO_BCR_BR15 ((uint16_t)0x8000) /*!< Port x Reset bit 15 */
- /****************** Bit definition for GPIO_LOCKR register *******************/
- #define GPIO_LOCKR_LK0 ((uint32_t)0x00000001) /*!< Port x Lock bit 0 */
- #define GPIO_LOCKR_LK1 ((uint32_t)0x00000002) /*!< Port x Lock bit 1 */
- #define GPIO_LOCKR_LK2 ((uint32_t)0x00000004) /*!< Port x Lock bit 2 */
- #define GPIO_LOCKR_LK3 ((uint32_t)0x00000008) /*!< Port x Lock bit 3 */
- #define GPIO_LOCKR_LK4 ((uint32_t)0x00000010) /*!< Port x Lock bit 4 */
- #define GPIO_LOCKR_LK5 ((uint32_t)0x00000020) /*!< Port x Lock bit 5 */
- #define GPIO_LOCKR_LK6 ((uint32_t)0x00000040) /*!< Port x Lock bit 6 */
- #define GPIO_LOCKR_LK7 ((uint32_t)0x00000080) /*!< Port x Lock bit 7 */
- #define GPIO_LOCKR_LK8 ((uint32_t)0x00000100) /*!< Port x Lock bit 8 */
- #define GPIO_LOCKR_LK9 ((uint32_t)0x00000200) /*!< Port x Lock bit 9 */
- #define GPIO_LOCKR_LK10 ((uint32_t)0x00000400) /*!< Port x Lock bit 10 */
- #define GPIO_LOCKR_LK11 ((uint32_t)0x00000800) /*!< Port x Lock bit 11 */
- #define GPIO_LOCKR_LK12 ((uint32_t)0x00001000) /*!< Port x Lock bit 12 */
- #define GPIO_LOCKR_LK13 ((uint32_t)0x00002000) /*!< Port x Lock bit 13 */
- #define GPIO_LOCKR_LK14 ((uint32_t)0x00004000) /*!< Port x Lock bit 14 */
- #define GPIO_LOCKR_LK15 ((uint32_t)0x00008000) /*!< Port x Lock bit 15 */
- #define GPIO_LOCKR_LKK ((uint32_t)0x00010000) /*!< Lock key */
- /*----------------------------------------------------------------------------*/
- /****************** Bit definition for AFIO_ECR register *******************/
- #define AFIO_ECR_PIN ((uint8_t)0x0F) /*!< PIN[3:0] bits (Pin selection) */
- #define AFIO_ECR_PIN_0 ((uint8_t)0x01) /*!< Bit 0 */
- #define AFIO_ECR_PIN_1 ((uint8_t)0x02) /*!< Bit 1 */
- #define AFIO_ECR_PIN_2 ((uint8_t)0x04) /*!< Bit 2 */
- #define AFIO_ECR_PIN_3 ((uint8_t)0x08) /*!< Bit 3 */
- /*!< PIN configuration */
- #define AFIO_ECR_PIN_PX0 ((uint8_t)0x00) /*!< Pin 0 selected */
- #define AFIO_ECR_PIN_PX1 ((uint8_t)0x01) /*!< Pin 1 selected */
- #define AFIO_ECR_PIN_PX2 ((uint8_t)0x02) /*!< Pin 2 selected */
- #define AFIO_ECR_PIN_PX3 ((uint8_t)0x03) /*!< Pin 3 selected */
- #define AFIO_ECR_PIN_PX4 ((uint8_t)0x04) /*!< Pin 4 selected */
- #define AFIO_ECR_PIN_PX5 ((uint8_t)0x05) /*!< Pin 5 selected */
- #define AFIO_ECR_PIN_PX6 ((uint8_t)0x06) /*!< Pin 6 selected */
- #define AFIO_ECR_PIN_PX7 ((uint8_t)0x07) /*!< Pin 7 selected */
- #define AFIO_ECR_PIN_PX8 ((uint8_t)0x08) /*!< Pin 8 selected */
- #define AFIO_ECR_PIN_PX9 ((uint8_t)0x09) /*!< Pin 9 selected */
- #define AFIO_ECR_PIN_PX10 ((uint8_t)0x0A) /*!< Pin 10 selected */
- #define AFIO_ECR_PIN_PX11 ((uint8_t)0x0B) /*!< Pin 11 selected */
- #define AFIO_ECR_PIN_PX12 ((uint8_t)0x0C) /*!< Pin 12 selected */
- #define AFIO_ECR_PIN_PX13 ((uint8_t)0x0D) /*!< Pin 13 selected */
- #define AFIO_ECR_PIN_PX14 ((uint8_t)0x0E) /*!< Pin 14 selected */
- #define AFIO_ECR_PIN_PX15 ((uint8_t)0x0F) /*!< Pin 15 selected */
- #define AFIO_ECR_PORT ((uint8_t)0x70) /*!< PORT[2:0] bits (Port selection) */
- #define AFIO_ECR_PORT_0 ((uint8_t)0x10) /*!< Bit 0 */
- #define AFIO_ECR_PORT_1 ((uint8_t)0x20) /*!< Bit 1 */
- #define AFIO_ECR_PORT_2 ((uint8_t)0x40) /*!< Bit 2 */
- /*!< PORT configuration */
- #define AFIO_ECR_PORT_PA ((uint8_t)0x00) /*!< Port A selected */
- #define AFIO_ECR_PORT_PB ((uint8_t)0x10) /*!< Port B selected */
- #define AFIO_ECR_PORT_PC ((uint8_t)0x20) /*!< Port C selected */
- #define AFIO_ECR_PORT_PD ((uint8_t)0x30) /*!< Port D selected */
- #define AFIO_ECR_PORT_PE ((uint8_t)0x40) /*!< Port E selected */
- #define AFIO_ECR_EOE ((uint8_t)0x80) /*!< Event Output Enable */
- /****************** Bit definition for AFIO_MAPR register *******************/
- #define AFIO_PCFR1_SPI1_REMAP ((uint32_t)0x00000001) /*!< SPI1 remapping */
- #define AFIO_PCFR1_I2C1_REMAP ((uint32_t)0x00000002) /*!< I2C1 remapping */
- #define AFIO_PCFR1_USART1_REMAP ((uint32_t)0x00000004) /*!< USART1 remapping */
- #define AFIO_PCFR1_USART2_REMAP ((uint32_t)0x00000008) /*!< USART2 remapping */
- #define AFIO_PCFR1_USART3_REMAP ((uint32_t)0x00000030) /*!< USART3_REMAP[1:0] bits (USART3 remapping) */
- #define AFIO_PCFR1_USART3_REMAP_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define AFIO_PCFR1_USART3_REMAP_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- /* USART3_REMAP configuration */
- #define AFIO_PCFR1_USART3_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (TX/PB10, RX/PB11, CK/PB12, CTS/PB13, RTS/PB14) */
- #define AFIO_PCFR1_USART3_REMAP_PARTIALREMAP ((uint32_t)0x00000010) /*!< Partial remap (TX/PC10, RX/PC11, CK/PC12, CTS/PB13, RTS/PB14) */
- #define AFIO_PCFR1_USART3_REMAP_FULLREMAP ((uint32_t)0x00000030) /*!< Full remap (TX/PD8, RX/PD9, CK/PD10, CTS/PD11, RTS/PD12) */
- #define AFIO_PCFR1_TIM1_REMAP ((uint32_t)0x000000C0) /*!< TIM1_REMAP[1:0] bits (TIM1 remapping) */
- #define AFIO_PCFR1_TIM1_REMAP_0 ((uint32_t)0x00000040) /*!< Bit 0 */
- #define AFIO_PCFR1_TIM1_REMAP_1 ((uint32_t)0x00000080) /*!< Bit 1 */
- /*!< TIM1_REMAP configuration */
- #define AFIO_PCFR1_TIM1_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (ETR/PA12, CH1/PA8, CH2/PA9, CH3/PA10, CH4/PA11, BKIN/PB12, CH1N/PB13, CH2N/PB14, CH3N/PB15) */
- #define AFIO_PCFR1_TIM1_REMAP_PARTIALREMAP ((uint32_t)0x00000040) /*!< Partial remap (ETR/PA12, CH1/PA8, CH2/PA9, CH3/PA10, CH4/PA11, BKIN/PA6, CH1N/PA7, CH2N/PB0, CH3N/PB1) */
- #define AFIO_PCFR1_TIM1_REMAP_FULLREMAP ((uint32_t)0x000000C0) /*!< Full remap (ETR/PE7, CH1/PE9, CH2/PE11, CH3/PE13, CH4/PE14, BKIN/PE15, CH1N/PE8, CH2N/PE10, CH3N/PE12) */
- #define AFIO_PCFR1_TIM2_REMAP ((uint32_t)0x00000300) /*!< TIM2_REMAP[1:0] bits (TIM2 remapping) */
- #define AFIO_PCFR1_TIM2_REMAP_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define AFIO_PCFR1_TIM2_REMAP_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- /*!< TIM2_REMAP configuration */
- #define AFIO_PCFR1_TIM2_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (CH1/ETR/PA0, CH2/PA1, CH3/PA2, CH4/PA3) */
- #define AFIO_PCFR1_TIM2_REMAP_PARTIALREMAP1 ((uint32_t)0x00000100) /*!< Partial remap (CH1/ETR/PA15, CH2/PB3, CH3/PA2, CH4/PA3) */
- #define AFIO_PCFR1_TIM2_REMAP_PARTIALREMAP2 ((uint32_t)0x00000200) /*!< Partial remap (CH1/ETR/PA0, CH2/PA1, CH3/PB10, CH4/PB11) */
- #define AFIO_PCFR1_TIM2_REMAP_FULLREMAP ((uint32_t)0x00000300) /*!< Full remap (CH1/ETR/PA15, CH2/PB3, CH3/PB10, CH4/PB11) */
- #define AFIO_PCFR1_TIM3_REMAP ((uint32_t)0x00000C00) /*!< TIM3_REMAP[1:0] bits (TIM3 remapping) */
- #define AFIO_PCFR1_TIM3_REMAP_0 ((uint32_t)0x00000400) /*!< Bit 0 */
- #define AFIO_PCFR1_TIM3_REMAP_1 ((uint32_t)0x00000800) /*!< Bit 1 */
- /*!< TIM3_REMAP configuration */
- #define AFIO_PCFR1_TIM3_REMAP_NOREMAP ((uint32_t)0x00000000) /*!< No remap (CH1/PA6, CH2/PA7, CH3/PB0, CH4/PB1) */
- #define AFIO_PCFR1_TIM3_REMAP_PARTIALREMAP ((uint32_t)0x00000800) /*!< Partial remap (CH1/PB4, CH2/PB5, CH3/PB0, CH4/PB1) */
- #define AFIO_PCFR1_TIM3_REMAP_FULLREMAP ((uint32_t)0x00000C00) /*!< Full remap (CH1/PC6, CH2/PC7, CH3/PC8, CH4/PC9) */
- #define AFIO_PCFR1_TIM4_REMAP ((uint32_t)0x00001000) /*!< TIM4_REMAP bit (TIM4 remapping) */
- #define AFIO_PCFR1_CAN_REMAP ((uint32_t)0x00006000) /*!< CAN_REMAP[1:0] bits (CAN Alternate function remapping) */
- #define AFIO_PCFR1_CAN_REMAP_0 ((uint32_t)0x00002000) /*!< Bit 0 */
- #define AFIO_PCFR1_CAN_REMAP_1 ((uint32_t)0x00004000) /*!< Bit 1 */
- /*!< CAN_REMAP configuration */
- #define AFIO_PCFR1_CAN_REMAP_REMAP1 ((uint32_t)0x00000000) /*!< CANRX mapped to PA11, CANTX mapped to PA12 */
- #define AFIO_PCFR1_CAN_REMAP_REMAP2 ((uint32_t)0x00004000) /*!< CANRX mapped to PB8, CANTX mapped to PB9 */
- #define AFIO_PCFR1_CAN_REMAP_REMAP3 ((uint32_t)0x00006000) /*!< CANRX mapped to PD0, CANTX mapped to PD1 */
- #define AFIO_PCFR1_PD01_REMAP ((uint32_t)0x00008000) /*!< Port D0/Port D1 mapping on OSC_IN/OSC_OUT */
- #define AFIO_PCFR1_TIM5CH4_IREMAP ((uint32_t)0x00010000) /*!< TIM5 Channel4 Internal Remap */
- #define AFIO_PCFR1_ADC0_ETRGINJ_REMAP ((uint32_t)0x00020000) /*!< ADC 1 External Trigger Injected Conversion remapping */
- #define AFIO_PCFR1_ADC0_ETRGREG_REMAP ((uint32_t)0x00040000) /*!< ADC 1 External Trigger Regular Conversion remapping */
- #define AFIO_PCFR1_ADC1_ETRGINJ_REMAP ((uint32_t)0x00080000) /*!< ADC 2 External Trigger Injected Conversion remapping */
- #define AFIO_PCFR1_ADC1_ETRGREG_REMAP ((uint32_t)0x00100000) /*!< ADC 2 External Trigger Regular Conversion remapping */
- /*!< SWJ_CFG configuration */
- #define AFIO_PCFR1_SWJ_CFG ((uint32_t)0x07000000) /*!< SWJ_CFG[2:0] bits (Serial Wire JTAG configuration) */
- #define AFIO_PCFR1_SWJ_CFG_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define AFIO_PCFR1_SWJ_CFG_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define AFIO_PCFR1_SWJ_CFG_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define AFIO_PCFR1_SWJ_CFG_RESET ((uint32_t)0x00000000) /*!< Full SWJ (JTAG-DP + SW-DP) : Reset State */
- #define AFIO_PCFR1_SWJ_CFG_NOJNTRST ((uint32_t)0x01000000) /*!< Full SWJ (JTAG-DP + SW-DP) but without JNTRST */
- #define AFIO_PCFR1_SWJ_CFG_JTAGDISABLE ((uint32_t)0x02000000) /*!< JTAG-DP Disabled and SW-DP Enabled */
- #define AFIO_PCFR1_SWJ_CFG_DISABLE ((uint32_t)0x04000000) /*!< JTAG-DP Disabled and SW-DP Disabled */
- #ifdef GD32F10X_CL
- /*!< ETH_REMAP configuration */
- #define AFIO_PCFR1_ETH_REMAP ((uint32_t)0x00200000) /*!< SPI3_REMAP bit (Ethernet MAC I/O remapping) */
- /*!< CAN2_REMAP configuration */
- #define AFIO_PCFR1_CAN2_REMAP ((uint32_t)0x00400000) /*!< CAN2_REMAP bit (CAN2 I/O remapping) */
- /*!< MII_RMII_SEL configuration */
- #define AFIO_PCFR1_MII_RMII_SEL ((uint32_t)0x00800000) /*!< MII_RMII_SEL bit (Ethernet MII or RMII selection) */
- /*!< SPI3_REMAP configuration */
- #define AFIO_PCFR1_SPI3_REMAP ((uint32_t)0x10000000) /*!< SPI3_REMAP bit (SPI3 remapping) */
- /*!< TIM2ITR1_IREMAP configuration */
- #define AFIO_PCFR1_TIM2ITR1_IREMAP ((uint32_t)0x20000000) /*!< TIM2ITR1_IREMAP bit (TIM2 internal trigger 1 remapping) */
- /*!< PTP_PPS_REMAP configuration */
- #define AFIO_PCFR1_PTP_PPS_REMAP ((uint32_t)0x40000000) /*!< PTP_PPS_REMAP bit (Ethernet PTP PPS remapping) */
- #endif
- /***************** Bit definition for AFIO_EXTICR1 register *****************/
- #define AFIO_ESSR1_EXTI0 ((uint16_t)0x000F) /*!< EXTI 0 configuration */
- #define AFIO_ESSR1_EXTI1 ((uint16_t)0x00F0) /*!< EXTI 1 configuration */
- #define AFIO_ESSR1_EXTI2 ((uint16_t)0x0F00) /*!< EXTI 2 configuration */
- #define AFIO_ESSR1_EXTI3 ((uint16_t)0xF000) /*!< EXTI 3 configuration */
- /*!< EXTI0 configuration */
- #define AFIO_ESSR1_EXTI0_PA ((uint16_t)0x0000) /*!< PA[0] pin */
- #define AFIO_ESSR1_EXTI0_PB ((uint16_t)0x0001) /*!< PB[0] pin */
- #define AFIO_ESSR1_EXTI0_PC ((uint16_t)0x0002) /*!< PC[0] pin */
- #define AFIO_ESSR1_EXTI0_PD ((uint16_t)0x0003) /*!< PD[0] pin */
- #define AFIO_ESSR1_EXTI0_PE ((uint16_t)0x0004) /*!< PE[0] pin */
- #define AFIO_ESSR1_EXTI0_PF ((uint16_t)0x0005) /*!< PF[0] pin */
- #define AFIO_ESSR1_EXTI0_PG ((uint16_t)0x0006) /*!< PG[0] pin */
- /*!< EXTI1 configuration */
- #define AFIO_ESSR1_EXTI1_PA ((uint16_t)0x0000) /*!< PA[1] pin */
- #define AFIO_ESSR1_EXTI1_PB ((uint16_t)0x0010) /*!< PB[1] pin */
- #define AFIO_ESSR1_EXTI1_PC ((uint16_t)0x0020) /*!< PC[1] pin */
- #define AFIO_ESSR1_EXTI1_PD ((uint16_t)0x0030) /*!< PD[1] pin */
- #define AFIO_ESSR1_EXTI1_PE ((uint16_t)0x0040) /*!< PE[1] pin */
- #define AFIO_ESSR1_EXTI1_PF ((uint16_t)0x0050) /*!< PF[1] pin */
- #define AFIO_ESSR1_EXTI1_PG ((uint16_t)0x0060) /*!< PG[1] pin */
- /*!< EXTI2 configuration */
- #define AFIO_ESSR1_EXTI2_PA ((uint16_t)0x0000) /*!< PA[2] pin */
- #define AFIO_ESSR1_EXTI2_PB ((uint16_t)0x0100) /*!< PB[2] pin */
- #define AFIO_ESSR1_EXTI2_PC ((uint16_t)0x0200) /*!< PC[2] pin */
- #define AFIO_ESSR1_EXTI2_PD ((uint16_t)0x0300) /*!< PD[2] pin */
- #define AFIO_ESSR1_EXTI2_PE ((uint16_t)0x0400) /*!< PE[2] pin */
- #define AFIO_ESSR1_EXTI2_PF ((uint16_t)0x0500) /*!< PF[2] pin */
- #define AFIO_ESSR1_EXTI2_PG ((uint16_t)0x0600) /*!< PG[2] pin */
- /*!< EXTI3 configuration */
- #define AFIO_ESSR1_EXTI3_PA ((uint16_t)0x0000) /*!< PA[3] pin */
- #define AFIO_ESSR1_EXTI3_PB ((uint16_t)0x1000) /*!< PB[3] pin */
- #define AFIO_ESSR1_EXTI3_PC ((uint16_t)0x2000) /*!< PC[3] pin */
- #define AFIO_ESSR1_EXTI3_PD ((uint16_t)0x3000) /*!< PD[3] pin */
- #define AFIO_ESSR1_EXTI3_PE ((uint16_t)0x4000) /*!< PE[3] pin */
- #define AFIO_ESSR1_EXTI3_PF ((uint16_t)0x5000) /*!< PF[3] pin */
- #define AFIO_ESSR1_EXTI3_PG ((uint16_t)0x6000) /*!< PG[3] pin */
- /***************** Bit definition for AFIO_EXTICR2 register *****************/
- #define AFIO_ESSR2_EXTI4 ((uint16_t)0x000F) /*!< EXTI 4 configuration */
- #define AFIO_ESSR2_EXTI5 ((uint16_t)0x00F0) /*!< EXTI 5 configuration */
- #define AFIO_ESSR2_EXTI6 ((uint16_t)0x0F00) /*!< EXTI 6 configuration */
- #define AFIO_ESSR2_EXTI7 ((uint16_t)0xF000) /*!< EXTI 7 configuration */
- /*!< EXTI4 configuration */
- #define AFIO_ESSR2_EXTI4_PA ((uint16_t)0x0000) /*!< PA[4] pin */
- #define AFIO_ESSR2_EXTI4_PB ((uint16_t)0x0001) /*!< PB[4] pin */
- #define AFIO_ESSR2_EXTI4_PC ((uint16_t)0x0002) /*!< PC[4] pin */
- #define AFIO_ESSR2_EXTI4_PD ((uint16_t)0x0003) /*!< PD[4] pin */
- #define AFIO_ESSR2_EXTI4_PE ((uint16_t)0x0004) /*!< PE[4] pin */
- #define AFIO_ESSR2_EXTI4_PF ((uint16_t)0x0005) /*!< PF[4] pin */
- #define AFIO_ESSR2_EXTI4_PG ((uint16_t)0x0006) /*!< PG[4] pin */
- /* EXTI5 configuration */
- #define AFIO_ESSR2_EXTI5_PA ((uint16_t)0x0000) /*!< PA[5] pin */
- #define AFIO_ESSR2_EXTI5_PB ((uint16_t)0x0010) /*!< PB[5] pin */
- #define AFIO_ESSR2_EXTI5_PC ((uint16_t)0x0020) /*!< PC[5] pin */
- #define AFIO_ESSR2_EXTI5_PD ((uint16_t)0x0030) /*!< PD[5] pin */
- #define AFIO_ESSR2_EXTI5_PE ((uint16_t)0x0040) /*!< PE[5] pin */
- #define AFIO_ESSR2_EXTI5_PF ((uint16_t)0x0050) /*!< PF[5] pin */
- #define AFIO_ESSR2_EXTI5_PG ((uint16_t)0x0060) /*!< PG[5] pin */
- /*!< EXTI6 configuration */
- #define AFIO_ESSR2_EXTI6_PA ((uint16_t)0x0000) /*!< PA[6] pin */
- #define AFIO_ESSR2_EXTI6_PB ((uint16_t)0x0100) /*!< PB[6] pin */
- #define AFIO_ESSR2_EXTI6_PC ((uint16_t)0x0200) /*!< PC[6] pin */
- #define AFIO_ESSR2_EXTI6_PD ((uint16_t)0x0300) /*!< PD[6] pin */
- #define AFIO_ESSR2_EXTI6_PE ((uint16_t)0x0400) /*!< PE[6] pin */
- #define AFIO_ESSR2_EXTI6_PF ((uint16_t)0x0500) /*!< PF[6] pin */
- #define AFIO_ESSR2_EXTI6_PG ((uint16_t)0x0600) /*!< PG[6] pin */
- /*!< EXTI7 configuration */
- #define AFIO_ESSR2_EXTI7_PA ((uint16_t)0x0000) /*!< PA[7] pin */
- #define AFIO_ESSR2_EXTI7_PB ((uint16_t)0x1000) /*!< PB[7] pin */
- #define AFIO_ESSR2_EXTI7_PC ((uint16_t)0x2000) /*!< PC[7] pin */
- #define AFIO_ESSR2_EXTI7_PD ((uint16_t)0x3000) /*!< PD[7] pin */
- #define AFIO_ESSR2_EXTI7_PE ((uint16_t)0x4000) /*!< PE[7] pin */
- #define AFIO_ESSR2_EXTI7_PF ((uint16_t)0x5000) /*!< PF[7] pin */
- #define AFIO_ESSR2_EXTI7_PG ((uint16_t)0x6000) /*!< PG[7] pin */
- /***************** Bit definition for AFIO_EXTICR3 register *****************/
- #define AFIO_ESSR3_EXTI8 ((uint16_t)0x000F) /*!< EXTI 8 configuration */
- #define AFIO_ESSR3_EXTI9 ((uint16_t)0x00F0) /*!< EXTI 9 configuration */
- #define AFIO_ESSR3_EXTI10 ((uint16_t)0x0F00) /*!< EXTI 10 configuration */
- #define AFIO_ESSR3_EXTI11 ((uint16_t)0xF000) /*!< EXTI 11 configuration */
- /*!< EXTI8 configuration */
- #define AFIO_ESSR3_EXTI8_PA ((uint16_t)0x0000) /*!< PA[8] pin */
- #define AFIO_ESSR3_EXTI8_PB ((uint16_t)0x0001) /*!< PB[8] pin */
- #define AFIO_ESSR3_EXTI8_PC ((uint16_t)0x0002) /*!< PC[8] pin */
- #define AFIO_ESSR3_EXTI8_PD ((uint16_t)0x0003) /*!< PD[8] pin */
- #define AFIO_ESSR3_EXTI8_PE ((uint16_t)0x0004) /*!< PE[8] pin */
- #define AFIO_ESSR3_EXTI8_PF ((uint16_t)0x0005) /*!< PF[8] pin */
- #define AFIO_ESSR3_EXTI8_PG ((uint16_t)0x0006) /*!< PG[8] pin */
- /*!< EXTI9 configuration */
- #define AFIO_ESSR3_EXTI9_PA ((uint16_t)0x0000) /*!< PA[9] pin */
- #define AFIO_ESSR3_EXTI9_PB ((uint16_t)0x0010) /*!< PB[9] pin */
- #define AFIO_ESSR3_EXTI9_PC ((uint16_t)0x0020) /*!< PC[9] pin */
- #define AFIO_ESSR3_EXTI9_PD ((uint16_t)0x0030) /*!< PD[9] pin */
- #define AFIO_ESSR3_EXTI9_PE ((uint16_t)0x0040) /*!< PE[9] pin */
- #define AFIO_ESSR3_EXTI9_PF ((uint16_t)0x0050) /*!< PF[9] pin */
- #define AFIO_ESSR3_EXTI9_PG ((uint16_t)0x0060) /*!< PG[9] pin */
- /*!< EXTI10 configuration */
- #define AFIO_ESSR3_EXTI10_PA ((uint16_t)0x0000) /*!< PA[10] pin */
- #define AFIO_ESSR3_EXTI10_PB ((uint16_t)0x0100) /*!< PB[10] pin */
- #define AFIO_ESSR3_EXTI10_PC ((uint16_t)0x0200) /*!< PC[10] pin */
- #define AFIO_ESSR3_EXTI10_PD ((uint16_t)0x0300) /*!< PD[10] pin */
- #define AFIO_ESSR3_EXTI10_PE ((uint16_t)0x0400) /*!< PE[10] pin */
- #define AFIO_ESSR3_EXTI10_PF ((uint16_t)0x0500) /*!< PF[10] pin */
- #define AFIO_ESSR3_EXTI10_PG ((uint16_t)0x0600) /*!< PG[10] pin */
- /*!< EXTI11 configuration */
- #define AFIO_ESSR3_EXTI11_PA ((uint16_t)0x0000) /*!< PA[11] pin */
- #define AFIO_ESSR3_EXTI11_PB ((uint16_t)0x1000) /*!< PB[11] pin */
- #define AFIO_ESSR3_EXTI11_PC ((uint16_t)0x2000) /*!< PC[11] pin */
- #define AFIO_ESSR3_EXTI11_PD ((uint16_t)0x3000) /*!< PD[11] pin */
- #define AFIO_ESSR3_EXTI11_PE ((uint16_t)0x4000) /*!< PE[11] pin */
- #define AFIO_ESSR3_EXTI11_PF ((uint16_t)0x5000) /*!< PF[11] pin */
- #define AFIO_ESSR3_EXTI11_PG ((uint16_t)0x6000) /*!< PG[11] pin */
- /***************** Bit definition for AFIO_EXTICR4 register *****************/
- #define AFIO_ESSR4_EXTI12 ((uint16_t)0x000F) /*!< EXTI 12 configuration */
- #define AFIO_ESSR4_EXTI13 ((uint16_t)0x00F0) /*!< EXTI 13 configuration */
- #define AFIO_ESSR4_EXTI14 ((uint16_t)0x0F00) /*!< EXTI 14 configuration */
- #define AFIO_ESSR4_EXTI15 ((uint16_t)0xF000) /*!< EXTI 15 configuration */
- /* EXTI12 configuration */
- #define AFIO_ESSR4_EXTI12_PA ((uint16_t)0x0000) /*!< PA[12] pin */
- #define AFIO_ESSR4_EXTI12_PB ((uint16_t)0x0001) /*!< PB[12] pin */
- #define AFIO_ESSR4_EXTI12_PC ((uint16_t)0x0002) /*!< PC[12] pin */
- #define AFIO_ESSR4_EXTI12_PD ((uint16_t)0x0003) /*!< PD[12] pin */
- #define AFIO_ESSR4_EXTI12_PE ((uint16_t)0x0004) /*!< PE[12] pin */
- #define AFIO_ESSR4_EXTI12_PF ((uint16_t)0x0005) /*!< PF[12] pin */
- #define AFIO_ESSR4_EXTI12_PG ((uint16_t)0x0006) /*!< PG[12] pin */
- /* EXTI13 configuration */
- #define AFIO_ESSR4_EXTI13_PA ((uint16_t)0x0000) /*!< PA[13] pin */
- #define AFIO_ESSR4_EXTI13_PB ((uint16_t)0x0010) /*!< PB[13] pin */
- #define AFIO_ESSR4_EXTI13_PC ((uint16_t)0x0020) /*!< PC[13] pin */
- #define AFIO_ESSR4_EXTI13_PD ((uint16_t)0x0030) /*!< PD[13] pin */
- #define AFIO_ESSR4_EXTI13_PE ((uint16_t)0x0040) /*!< PE[13] pin */
- #define AFIO_ESSR4_EXTI13_PF ((uint16_t)0x0050) /*!< PF[13] pin */
- #define AFIO_ESSR4_EXTI13_PG ((uint16_t)0x0060) /*!< PG[13] pin */
- /*!< EXTI14 configuration */
- #define AFIO_ESSR4_EXTI14_PA ((uint16_t)0x0000) /*!< PA[14] pin */
- #define AFIO_ESSR4_EXTI14_PB ((uint16_t)0x0100) /*!< PB[14] pin */
- #define AFIO_ESSR4_EXTI14_PC ((uint16_t)0x0200) /*!< PC[14] pin */
- #define AFIO_ESSR4_EXTI14_PD ((uint16_t)0x0300) /*!< PD[14] pin */
- #define AFIO_ESSR4_EXTI14_PE ((uint16_t)0x0400) /*!< PE[14] pin */
- #define AFIO_ESSR4_EXTI14_PF ((uint16_t)0x0500) /*!< PF[14] pin */
- #define AFIO_ESSR4_EXTI14_PG ((uint16_t)0x0600) /*!< PG[14] pin */
- /*!< EXTI15 configuration */
- #define AFIO_ESSR4_EXTI15_PA ((uint16_t)0x0000) /*!< PA[15] pin */
- #define AFIO_ESSR4_EXTI15_PB ((uint16_t)0x1000) /*!< PB[15] pin */
- #define AFIO_ESSR4_EXTI15_PC ((uint16_t)0x2000) /*!< PC[15] pin */
- #define AFIO_ESSR4_EXTI15_PD ((uint16_t)0x3000) /*!< PD[15] pin */
- #define AFIO_ESSR4_EXTI15_PE ((uint16_t)0x4000) /*!< PE[15] pin */
- #define AFIO_ESSR4_EXTI15_PF ((uint16_t)0x5000) /*!< PF[15] pin */
- #define AFIO_ESSR4_EXTI15_PG ((uint16_t)0x6000) /*!< PG[15] pin */
- #if defined (GD32F10X_MD) || defined (GD32F10X_HD)
- /****************** Bit definition for AFIO_MAPR2 register ******************/
- #define AFIO_PCFR2_TIM15_REMAP ((uint32_t)0x00000001) /*!< TIM15 remapping */
- #define AFIO_PCFR2_TIM16_REMAP ((uint32_t)0x00000002) /*!< TIM16 remapping */
- #define AFIO_PCFR2_TIM17_REMAP ((uint32_t)0x00000004) /*!< TIM17 remapping */
- #define AFIO_PCFR2_CEC_REMAP ((uint32_t)0x00000008) /*!< CEC remapping */
- #define AFIO_PCFR2_TIM1_DMA_REMAP ((uint32_t)0x00000010) /*!< TIM1_DMA remapping */
- #endif
- #ifdef GD32F10X_HD
- #define AFIO_PCFR2_TIM13_REMAP ((uint32_t)0x00000100) /*!< TIM13 remapping */
- #define AFIO_PCFR2_TIM14_REMAP ((uint32_t)0x00000200) /*!< TIM14 remapping */
- #define AFIO_PCFR2_EXMC_NADV_REMAP ((uint32_t)0x00000400) /*!< EXMC NADV remapping */
- #define AFIO_PCFR2_TIM67_DAC_DMA_REMAP ((uint32_t)0x00000800) /*!< TIM6/TIM7 and DAC DMA remapping */
- #define AFIO_PCFR2_TIM12_REMAP ((uint32_t)0x00001000) /*!< TIM12 remapping */
- #define AFIO_PCFR2_MISC_REMAP ((uint32_t)0x00002000) /*!< Miscellaneous remapping */
- #endif
- #ifdef GD32F10X_XD
- /****************** Bit definition for AFIO_MAPR2 register ******************/
- #define AFIO_PCFR2_TIM9_REMAP ((uint32_t)0x00000020) /*!< TIM9 remapping */
- #define AFIO_PCFR2_TIM10_REMAP ((uint32_t)0x00000040) /*!< TIM10 remapping */
- #define AFIO_PCFR2_TIM11_REMAP ((uint32_t)0x00000080) /*!< TIM11 remapping */
- #define AFIO_PCFR2_TIM13_REMAP ((uint32_t)0x00000100) /*!< TIM13 remapping */
- #define AFIO_PCFR2_TIM14_REMAP ((uint32_t)0x00000200) /*!< TIM14 remapping */
- #define AFIO_PCFR2_EXMC_NADV_REMAP ((uint32_t)0x00000400) /*!< EXMC NADV remapping */
- #endif
- /******************************************************************************/
- /* */
- /* Inter-integrated Circuit Interface */
- /* */
- /******************************************************************************/
- /******************* Bit definition for I2C_CTLR1 register *******************/
- #define I2C_CTLR1_I2CEN ((uint16_t)0x0001) /*!< Peripheral Enable */
- #define I2C_CTLR1_SMBEN ((uint16_t)0x0002) /*!< SMBus Mode */
- #define I2C_CTLR1_SMBSEL ((uint16_t)0x0008) /*!< SMBus Type */
- #define I2C_CTLR1_ARPEN ((uint16_t)0x0010) /*!< ARP Enable */
- #define I2C_CTLR1_PECEN ((uint16_t)0x0020) /*!< PEC Enable */
- #define I2C_CTLR1_GCEN ((uint16_t)0x0040) /*!< General Call Enable */
- #define I2C_CTLR1_DISSTRC ((uint16_t)0x0080) /*!< Clock Stretching Disable (Slave mode) */
- #define I2C_CTLR1_GENSTA ((uint16_t)0x0100) /*!< Start Generation */
- #define I2C_CTLR1_GENSTP ((uint16_t)0x0200) /*!< Stop Generation */
- #define I2C_CTLR1_ACKEN ((uint16_t)0x0400) /*!< Acknowledge Enable */
- #define I2C_CTLR1_POAP ((uint16_t)0x0800) /*!< Acknowledge/PEC Position (for data reception) */
- #define I2C_CTLR1_PECTRANS ((uint16_t)0x1000) /*!< Packet Error Checking */
- #define I2C_CTLR1_SALT ((uint16_t)0x2000) /*!< SMBus Alert */
- #define I2C_CTLR1_SRESET ((uint16_t)0x8000) /*!< Software Reset */
- /******************* Bit definition for I2C_CTLR2 register ********************/
- #define I2C_CTLR2_I2CCLK ((uint16_t)0x003F) /*!< I2CCLK[5:0] bits (Peripheral Clock Frequency) */
- #define I2C_CTLR2_I2CCLK_0 ((uint16_t)0x0001) /*!< Bit 0 */
- #define I2C_CTLR2_I2CCLK_1 ((uint16_t)0x0002) /*!< Bit 1 */
- #define I2C_CTLR2_I2CCLK_2 ((uint16_t)0x0004) /*!< Bit 2 */
- #define I2C_CTLR2_I2CCLK_3 ((uint16_t)0x0008) /*!< Bit 3 */
- #define I2C_CTLR2_I2CCLK_4 ((uint16_t)0x0010) /*!< Bit 4 */
- #define I2C_CTLR2_I2CCLK_5 ((uint16_t)0x0020) /*!< Bit 5 */
- #define I2C_CTLR2_EIE ((uint16_t)0x0100) /*!< Error Interrupt Enable */
- #define I2C_CTLR2_EE ((uint16_t)0x0200) /*!< Event Interrupt Enable */
- #define I2C_CTLR2_BIE ((uint16_t)0x0400) /*!< Buffer Interrupt Enable */
- #define I2C_CTLR2_DMAON ((uint16_t)0x0800) /*!< DMA Requests Enable */
- #define I2C_CTLR2_DMALST ((uint16_t)0x1000) /*!< DMA Last Transfer */
- /******************* Bit definition for I2C_AR1 register *******************/
- #define I2C_AR1_ADDRESS1_7 ((uint16_t)0x00FE) /*!< Interface Address */
- #define I2C_AR1_ADDRESS8_9 ((uint16_t)0x0300) /*!< Interface Address */
- #define I2C_AR1_ADDRESS0 ((uint16_t)0x0001) /*!< Bit 0 */
- #define I2C_AR1_ADDRESS1 ((uint16_t)0x0002) /*!< Bit 1 */
- #define I2C_AR1_ADDRESS2 ((uint16_t)0x0004) /*!< Bit 2 */
- #define I2C_AR1_ADDRESS3 ((uint16_t)0x0008) /*!< Bit 3 */
- #define I2C_AR1_ADDRESS4 ((uint16_t)0x0010) /*!< Bit 4 */
- #define I2C_AR1_ADDRESS5 ((uint16_t)0x0020) /*!< Bit 5 */
- #define I2C_AR1_ADDRESS6 ((uint16_t)0x0040) /*!< Bit 6 */
- #define I2C_AR1_ADDRESS7 ((uint16_t)0x0080) /*!< Bit 7 */
- #define I2C_AR1_ADDRESS8 ((uint16_t)0x0100) /*!< Bit 8 */
- #define I2C_AR1_ADDRESS9 ((uint16_t)0x0200) /*!< Bit 9 */
- #define I2C_AR1_ADDFORMAT ((uint16_t)0x8000) /*!< Addressing Mode (Slave mode) */
- /******************* Bit definition for I2C_AR2 register *******************/
- #define I2C_AR2_DUADEN ((uint8_t)0x01) /*!< Dual addressing mode enable */
- #define I2C_AR2_ADDRESS2 ((uint8_t)0xFE) /*!< Interface address */
- /******************** Bit definition for I2C_DTR register ********************/
- #define I2C_DTR_TRB ((uint8_t)0xFF) /*!< 8-bit Data Register */
- /******************* Bit definition for I2C_STR1 register ********************/
- #define I2C_STR1_SBSEND ((uint16_t)0x0001) /*!< Start Bit (Master mode) */
- #define I2C_STR1_ADDSEND ((uint16_t)0x0002) /*!< Address sent (master mode)/matched (slave mode) */
- #define I2C_STR1_BTC ((uint16_t)0x0004) /*!< Byte Transfer Finished */
- #define I2C_STR1_ADD10SEND ((uint16_t)0x0008) /*!< 10-bit header sent (Master mode) */
- #define I2C_STR1_STPDET ((uint16_t)0x0010) /*!< Stop detection (Slave mode) */
- #define I2C_STR1_RBNE ((uint16_t)0x0040) /*!< Data Register not Empty (receivers) */
- #define I2C_STR1_TBE ((uint16_t)0x0080) /*!< Data Register Empty (transmitters) */
- #define I2C_STR1_BE ((uint16_t)0x0100) /*!< Bus Error */
- #define I2C_STR1_LOSTARB ((uint16_t)0x0200) /*!< Arbitration Lost (master mode) */
- #define I2C_STR1_AE ((uint16_t)0x0400) /*!< Acknowledge Failure */
- #define I2C_STR1_RXORE ((uint16_t)0x0800) /*!< Overrun/Underrun */
- #define I2C_STR1_PECE ((uint16_t)0x1000) /*!< PEC Error in reception */
- #define I2C_STR1_SMBTO ((uint16_t)0x4000) /*!< Timeout or Tlow Error */
- #define I2C_STR1_SMBALTS ((uint16_t)0x8000) /*!< SMBus Alert */
- /******************* Bit definition for I2C_STR2 register ********************/
- #define I2C_STR2_MASTER ((uint16_t)0x0001) /*!< Master/Slave */
- #define I2C_STR2_I2CBSY ((uint16_t)0x0002) /*!< Bus Busy */
- #define I2C_STR2_TRS ((uint16_t)0x0004) /*!< Transmitter/Receiver */
- #define I2C_STR2_RXGC ((uint16_t)0x0010) /*!< General Call Address (Slave mode) */
- #define I2C_STR2_DEFSMB ((uint16_t)0x0020) /*!< SMBus Device Default Address (Slave mode) */
- #define I2C_STR2_HSTSMB ((uint16_t)0x0040) /*!< SMBus Host Header (Slave mode) */
- #define I2C_STR2_DUMODF ((uint16_t)0x0080) /*!< Dual Flag (Slave mode) */
- #define I2C_STR2_ECV ((uint16_t)0xFF00) /*!< Packet Error Checking Register */
- /******************* Bit definition for I2C_CLKR register ********************/
- #define I2C_CLKR_CLKC ((uint16_t)0x0FFF) /*!< Clock Control Register in Fast/Standard mode (Master mode) */
- #define I2C_CLKR_DTCY ((uint16_t)0x4000) /*!< Fast Mode Duty Cycle */
- #define I2C_CLKR_FAST ((uint16_t)0x8000) /*!< I2C speed selection in master mode */
- /****************** Bit definition for I2C_RTR register *******************/
- #define I2C_RTR_RISETIME ((uint8_t)0x3F) /*!< Maximum Rise Time in Fast/Standard mode (Master mode) */
- /******************************************************************************/
- /* */
- /* Independent WATCHDOG (IWDG) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for IWDG_CTLR register ******************/
- #define IWDG_CTLR_CT ((uint16_t)0xFFFF) /*!< Key value (write only, read 0000h) */
- /******************* Bit definition for IWDG_PSR register ********************/
- #define IWDG_PSR_PS ((uint8_t)0x07) /*!< PS[2:0] (Prescaler divider) */
- #define IWDG_PSR_PS_0 ((uint8_t)0x01) /*!< Bit 0 */
- #define IWDG_PSR_PS_1 ((uint8_t)0x02) /*!< Bit 1 */
- #define IWDG_PSR_PS_2 ((uint8_t)0x04) /*!< Bit 2 */
- /******************* Bit definition for IWDG_RLDR register *******************/
- #define IWDG_RLDR_RLD ((uint16_t)0x0FFF) /*!< Watchdog counter reload value */
- /******************* Bit definition for IWDG_STR register ********************/
- #define IWDG_STR_PUD ((uint8_t)0x01) /*!< Watchdog prescaler value update */
- #define IWDG_STR_RUD ((uint8_t)0x02) /*!< Watchdog counter reload value update */
- #define IWDG_STR_WUD ((uint8_t)0x04) /*!< Watchdog counter window value update */
- /******************************************************************************/
- /* */
- /* Power Control */
- /* */
- /******************************************************************************/
- /******************** Bit definition for PWR_CTLR register ********************/
- #define PWR_CTLR_LDOLP ((uint16_t)0x0001) /*!< LDO Low Power Mode */
- #define PWR_CTLR_SDBM ((uint16_t)0x0002) /*!< Standby Mode */
- #define PWR_CTLR_WUFR ((uint16_t)0x0004) /*!< Wakeup Flag Reset */
- #define PWR_CTLR_SBFR ((uint16_t)0x0008) /*!< Standby Flag Reset */
- #define PWR_CTLR_LVDE ((uint16_t)0x0010) /*!< Low Voltage Detector Enable */
- #define PWR_CTLR_LVDT ((uint16_t)0x00E0) /*!< LVDT[2:0] bits (Low Voltage Detector Threshold) */
- #define PWR_CTLR_LVDT_0 ((uint16_t)0x0020) /*!< Bit 0 */
- #define PWR_CTLR_LVDT_1 ((uint16_t)0x0040) /*!< Bit 1 */
- #define PWR_CTLR_LVDT_2 ((uint16_t)0x0080) /*!< Bit 2 */
- /*!< LVDT configuration */
- #define PWR_CTLR_LVDT_2V2 ((uint16_t)0x0000) /*!< LVDT is 2.2V */
- #define PWR_CTLR_LVDT_2V3 ((uint16_t)0x0020) /*!< LVDT is 2.3V */
- #define PWR_CTLR_LVDT_2V4 ((uint16_t)0x0040) /*!< LVDT is 2.4V */
- #define PWR_CTLR_LVDT_2V5 ((uint16_t)0x0060) /*!< LVDT is 2.5V */
- #define PWR_CTLR_LVDT_2V6 ((uint16_t)0x0080) /*!< LVDT is 2.6V */
- #define PWR_CTLR_LVDT_2V7 ((uint16_t)0x00A0) /*!< LVDT is 2.7V */
- #define PWR_CTLR_LVDT_2V8 ((uint16_t)0x00C0) /*!< LVDT is 2.8V */
- #define PWR_CTLR_LVDT_2V9 ((uint16_t)0x00E0) /*!< LVDT is 2.9V */
- #define PWR_CTLR_BKPWE ((uint16_t)0x0100) /*!< Backup Domain Write Enable */
- /******************* Bit definition for PWR_STR register ********************/
- #define PWR_STR_WUF ((uint16_t)0x0001) /*!< Wakeup Flag */
- #define PWR_STR_SBF ((uint16_t)0x0002) /*!< Standby Flag */
- #define PWR_STR_LVDF ((uint16_t)0x0004) /*!< Low Voltage Detector Status Flag */
- #define PWR_STR_WUPE ((uint16_t)0x0100) /*!< WKUP Pin Enable */
- /******************************************************************************/
- /* */
- /* Reset and Clock Control */
- /* */
- /******************************************************************************/
- /******************** Bit definition for RCC_GCCR register ********************/
- #define RCC_GCCR_HSIEN ((uint32_t)0x00000001) /*!< Internal High Speed clock enable */
- #define RCC_GCCR_HSISTB ((uint32_t)0x00000002) /*!< Internal High Speed clock ready flag */
- #define RCC_GCCR_HSIADJ ((uint32_t)0x000000F8) /*!< Internal High Speed clock trimming */
- #define RCC_GCCR_HSICALIB ((uint32_t)0x0000FF00) /*!< Internal High Speed clock Calibration */
- #define RCC_GCCR_HSEEN ((uint32_t)0x00010000) /*!< External High Speed clock enable */
- #define RCC_GCCR_HSESTB ((uint32_t)0x00020000) /*!< External High Speed clock ready flag */
- #define RCC_GCCR_HSEBPS ((uint32_t)0x00040000) /*!< External High Speed clock Bypass */
- #define RCC_GCCR_CKMEN ((uint32_t)0x00080000) /*!< Clock Security System enable */
- #define RCC_GCCR_PLLEN ((uint32_t)0x01000000) /*!< PLL enable */
- #define RCC_GCCR_PLLSTB ((uint32_t)0x02000000) /*!< PLL clock ready flag */
- #ifdef GD32F10X_CL
- #define RCC_GCCR_PLL2EN ((uint32_t)0x04000000) /*!< PLL2 enable */
- #define RCC_GCCR_PLL2STB ((uint32_t)0x08000000) /*!< PLL2 clock ready flag */
- #define RCC_GCCR_PLL3EN ((uint32_t)0x10000000) /*!< PLL3 enable */
- #define RCC_GCCR_PLL3STB ((uint32_t)0x20000000) /*!< PLL3 clock ready flag */
- #endif /* GD32F10X_CL */
- /******************* Bit definition for RCC_GCFGR register *******************/
- /*!< SW configuration */
- #define RCC_GCFGR_SCS ((uint32_t)0x00000003) /*!< SCS[1:0] bits (System clock Switch) */
- #define RCC_GCFGR_SCS_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define RCC_GCFGR_SCS_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define RCC_GCFGR_SCS_HSI ((uint32_t)0x00000000) /*!< HSI selected as system clock */
- #define RCC_GCFGR_SCS_HSE ((uint32_t)0x00000001) /*!< HSE selected as system clock */
- #define RCC_GCFGR_SCS_PLL ((uint32_t)0x00000002) /*!< PLL selected as system clock */
- /*!< SWS configuration */
- #define RCC_GCFGR_SCSS ((uint32_t)0x0000000C) /*!< SCSS[1:0] bits (System Clock Switch Status) */
- #define RCC_GCFGR_SCSS_0 ((uint32_t)0x00000004) /*!< Bit 0 */
- #define RCC_GCFGR_SCSS_1 ((uint32_t)0x00000008) /*!< Bit 1 */
- #define RCC_GCFGR_SCSS_HSI ((uint32_t)0x00000000) /*!< HSI oscillator used as system clock */
- #define RCC_GCFGR_SCSS_HSE ((uint32_t)0x00000004) /*!< HSE oscillator used as system clock */
- #define RCC_GCFGR_SCSS_PLL ((uint32_t)0x00000008) /*!< PLL used as system clock */
- /*!< AHBPS configuration */
- #define RCC_GCFGR_AHBPS ((uint32_t)0x000000F0) /*!< AHBPS[3:0] bits (AHB prescaler) */
- #define RCC_GCFGR_AHBPS_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define RCC_GCFGR_AHBPS_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define RCC_GCFGR_AHBPS_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define RCC_GCFGR_AHBPS_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define RCC_GCFGR_AHBPS_DIV1 ((uint32_t)0x00000000) /*!< SYSCLK not divided */
- #define RCC_GCFGR_AHBPS_DIV2 ((uint32_t)0x00000080) /*!< SYSCLK divided by 2 */
- #define RCC_GCFGR_AHBPS_DIV4 ((uint32_t)0x00000090) /*!< SYSCLK divided by 4 */
- #define RCC_GCFGR_AHBPS_DIV8 ((uint32_t)0x000000A0) /*!< SYSCLK divided by 8 */
- #define RCC_GCFGR_AHBPS_DIV16 ((uint32_t)0x000000B0) /*!< SYSCLK divided by 16 */
- #define RCC_GCFGR_AHBPS_DIV64 ((uint32_t)0x000000C0) /*!< SYSCLK divided by 64 */
- #define RCC_GCFGR_AHBPS_DIV128 ((uint32_t)0x000000D0) /*!< SYSCLK divided by 128 */
- #define RCC_GCFGR_AHBPS_DIV256 ((uint32_t)0x000000E0) /*!< SYSCLK divided by 256 */
- #define RCC_GCFGR_AHBPS_DIV512 ((uint32_t)0x000000F0) /*!< SYSCLK divided by 512 */
- /*!< APB1PS configuration */
- #define RCC_GCFGR_APB1PS ((uint32_t)0x00000700) /*!< APB1PS[2:0] bits (APB1 prescaler) */
- #define RCC_GCFGR_APB1PS_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define RCC_GCFGR_APB1PS_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define RCC_GCFGR_APB1PS_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define RCC_GCFGR_APB1PS_DIV1 ((uint32_t)0x00000000) /*!< AHB not divided */
- #define RCC_GCFGR_APB1PS_DIV2 ((uint32_t)0x00000400) /*!< AHB divided by 2 */
- #define RCC_GCFGR_APB1PS_DIV4 ((uint32_t)0x00000500) /*!< AHB divided by 4 */
- #define RCC_GCFGR_APB1PS_DIV8 ((uint32_t)0x00000600) /*!< AHB divided by 8 */
- #define RCC_GCFGR_APB1PS_DIV16 ((uint32_t)0x00000700) /*!< AHB divided by 16 */
- /*!< APB2PS configuration */
- #define RCC_GCFGR_APB2PS ((uint32_t)0x00003800) /*!< APB2PS[2:0] bits (APB2 prescaler) */
- #define RCC_GCFGR_APB2PS_0 ((uint32_t)0x00000800) /*!< Bit 0 */
- #define RCC_GCFGR_APB2PS_1 ((uint32_t)0x00001000) /*!< Bit 1 */
- #define RCC_GCFGR_APB2PS_2 ((uint32_t)0x00002000) /*!< Bit 2 */
- #define RCC_GCFGR_APB2PS_DIV1 ((uint32_t)0x00000000) /*!< AHB not divided */
- #define RCC_GCFGR_APB2PS_DIV2 ((uint32_t)0x00002000) /*!< AHB divided by 2 */
- #define RCC_GCFGR_APB2PS_DIV4 ((uint32_t)0x00002800) /*!< AHB divided by 4 */
- #define RCC_GCFGR_APB2PS_DIV8 ((uint32_t)0x00003000) /*!< AHB divided by 8 */
- #define RCC_GCFGR_APB2PS_DIV16 ((uint32_t)0x00003800) /*!< AHB divided by 16 */
- /*!< ADCPS configuration */
- #define RCC_GCFGR_ADCPS ((uint32_t)0x1000C000) /*!< ADCPS[2:0] bits (ADC prescaler) */
- #define RCC_GCFGR_ADCPS_0 ((uint32_t)0x00004000) /*!< Bit 0 */
- #define RCC_GCFGR_ADCPS_1 ((uint32_t)0x00008000) /*!< Bit 1 */
- #define RCC_GCFGR_ADCPS_2 ((uint32_t)0x10000000) /*!< Bit 2 */
- #define RCC_GCFGR_ADCPS_DIV2 ((uint32_t)0x00000000) /*!< APB2 divided by 2 */
- #define RCC_GCFGR_ADCPS_DIV4 ((uint32_t)0x00004000) /*!< APB2 divided by 4 */
- #define RCC_GCFGR_ADCPS_DIV6 ((uint32_t)0x00008000) /*!< APB2 divided by 6 */
- #define RCC_GCFGR_ADCPS_DIV8 ((uint32_t)0x0000C000) /*!< APB2 divided by 8 */
- #define RCC_GCFGR_ADCPS_DIV12 ((uint32_t)0x10004000) /*!< APB2 divided by 12 */
- #define RCC_GCFGR_ADCPS_DIV16 ((uint32_t)0x1000C000) /*!< APB2 divided by 16 */
- #ifdef GD32F10X_CL
- /*!< PLLSEL configuration */
- #define RCC_GCFGR_PLLSEL ((uint32_t)0x00010000) /*!< PLLSEL bit for entry clock source */
- #define RCC_GCFGR_PLLSEL_HSI_DIV2 ((uint32_t)0x00000000) /*!< HSI clock divided by 2 selected as PLL entry clock source */
- #define RCC_GCFGR_PLLSEL_PREDIV1 ((uint32_t)0x00010000) /*!< PREDIV1 clock selected as PLL entry clock source */
- /*!< PLLPREDV configuration */
- #define RCC_GCFGR_PLLPREDV ((uint32_t)0x00020000) /*!< PLLPREDV bit for PLL entry */
- #define RCC_GCFGR_PLLPREDV_PREDIV1 ((uint32_t)0x00000000) /*!< PREDIV1 clock not divided for PLL entry */
- #define RCC_GCFGR_PLLPREDV_PREDIV1_DIV2 ((uint32_t)0x00020000) /*!< PREDIV1 clock divided by 2 for PLL entry */
- /*!< PLLMF configuration */
- #define RCC_GCFGR_PLLMF ((uint32_t)0x203C0000) /*!< PLLMF[4:0] bits (PLL multiplication factor) */
- #define RCC_GCFGR_PLLMF_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define RCC_GCFGR_PLLMF_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define RCC_GCFGR_PLLMF_2 ((uint32_t)0x00100000) /*!< Bit 2 */
- #define RCC_GCFGR_PLLMF_3 ((uint32_t)0x00200000) /*!< Bit 3 */
- #define RCC_GCFGR_PLLMF_4 ((uint32_t)0x20000000) /*!< Bit 4 */
- #define RCC_GCFGR_PLLMF2 ((uint32_t)0x00000000) /*!< PLL input clock*2 */
- #define RCC_GCFGR_PLLMF3 ((uint32_t)0x00040000) /*!< PLL input clock*3 */
- #define RCC_GCFGR_PLLMF4 ((uint32_t)0x00080000) /*!< PLL input clock*4 */
- #define RCC_GCFGR_PLLMF5 ((uint32_t)0x000C0000) /*!< PLL input clock*5 */
- #define RCC_GCFGR_PLLMF6 ((uint32_t)0x00100000) /*!< PLL input clock*6 */
- #define RCC_GCFGR_PLLMF7 ((uint32_t)0x00140000) /*!< PLL input clock*7 */
- #define RCC_GCFGR_PLLMF8 ((uint32_t)0x00180000) /*!< PLL input clock*8 */
- #define RCC_GCFGR_PLLMF9 ((uint32_t)0x001C0000) /*!< PLL input clock*9 */
- #define RCC_GCFGR_PLLMF10 ((uint32_t)0x00200000) /*!< PLL input clock10 */
- #define RCC_GCFGR_PLLMF11 ((uint32_t)0x00240000) /*!< PLL input clock*11 */
- #define RCC_GCFGR_PLLMF12 ((uint32_t)0x00280000) /*!< PLL input clock*12 */
- #define RCC_GCFGR_PLLMF13 ((uint32_t)0x002C0000) /*!< PLL input clock*13 */
- #define RCC_GCFGR_PLLMF14 ((uint32_t)0x00300000) /*!< PLL input clock*14 */
- #define RCC_GCFGR_PLLMF6_5 ((uint32_t)0x00340000) /*!< PLL input clock*6.5 */
- #define RCC_GCFGR_PLLMF16 ((uint32_t)0x00380000) /*!< PLL input clock*16 */
- #define RCC_GCFGR_PLLMF17 ((uint32_t)0x20000000) /*!< PLL input clock*17 */
- #define RCC_GCFGR_PLLMF18 ((uint32_t)0x20040000) /*!< PLL input clock*18 */
- #define RCC_GCFGR_PLLMF19 ((uint32_t)0x20080000) /*!< PLL input clock*19 */
- #define RCC_GCFGR_PLLMF20 ((uint32_t)0x200C0000) /*!< PLL input clock*20 */
- #define RCC_GCFGR_PLLMF21 ((uint32_t)0x20100000) /*!< PLL input clock*21 */
- #define RCC_GCFGR_PLLMF22 ((uint32_t)0x20140000) /*!< PLL input clock*22 */
- #define RCC_GCFGR_PLLMF23 ((uint32_t)0x20180000) /*!< PLL input clock*23 */
- #define RCC_GCFGR_PLLMF24 ((uint32_t)0x201C0000) /*!< PLL input clock*24 */
- #define RCC_GCFGR_PLLMF25 ((uint32_t)0x20200000) /*!< PLL input clock*25 */
- #define RCC_GCFGR_PLLMF26 ((uint32_t)0x20240000) /*!< PLL input clock*26 */
- #define RCC_GCFGR_PLLMF27 ((uint32_t)0x20280000) /*!< PLL input clock*27 */
- #define RCC_GCFGR_PLLMF28 ((uint32_t)0x202C0000) /*!< PLL input clock*28 */
- #define RCC_GCFGR_PLLMF29 ((uint32_t)0x20300000) /*!< PLL input clock*29 */
- #define RCC_GCFGR_PLLMF30 ((uint32_t)0x20340000) /*!< PLL input clock*30 */
- #define RCC_GCFGR_PLLMF31 ((uint32_t)0x20380000) /*!< PLL input clock*31 */
- #define RCC_GCFGR_PLLMF32 ((uint32_t)0x203C0000) /*!< PLL input clock*32 */
- #define RCC_GCFGR_OTGFSPS ((uint32_t)0x00C00000) /*!< OTGFSPS[1:0] bits USB OTGDevice prescaler */
- #define RCC_GCFGR_OTGFSPS_0 ((uint32_t)0x00400000) /*!< Bit 0 */
- #define RCC_GCFGR_OTGFSPS_1 ((uint32_t)0x00800000) /*!< Bit 1 */
- #define RCC_GCFGR_OTGFSPS_Div1_5 ((uint32_t)0x00000000) /*!< PLL divided by 1.5 */
- #define RCC_GCFGR_OTGFSPS_Div1 ((uint32_t)0x00400000) /*!< PLL not divided */
- #define RCC_GCFGR_OTGFSPS_Div2_5 ((uint32_t)0x00800000) /*!< PLL divided by 2.5 */
- #define RCC_GCFGR_OTGFSPS_Div2 ((uint32_t)0x00C00000) /*!< PLL divided by 2 */
- /*!< CKOUTSEL configuration */
- #define RCC_GCFGR_CKOUTSEL ((uint32_t)0x0F000000) /*!< CKOUTSEL[3:0] bits (Microcontroller Clock Output) */
- #define RCC_GCFGR_CKOUTSEL_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define RCC_GCFGR_CKOUTSEL_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define RCC_GCFGR_CKOUTSEL_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define RCC_GCFGR_CKOUTSEL_3 ((uint32_t)0x08000000) /*!< Bit 3 */
- #define RCC_GCFGR_CKOUTSEL_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */
- #define RCC_GCFGR_CKOUTSEL_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_PLL_DIV2 ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_PLL2 ((uint32_t)0x08000000) /*!< PLL2 clock selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_PLL3_DIV2 ((uint32_t)0x09000000) /*!< PLL3 clock divided by 2 selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_EXT1 ((uint32_t)0x0A000000) /*!< EXT1 external 3-25 MHz oscillator clock selected as CKOUTSEL source */
- #define RCC_GCFGR_CKOUTSEL_PLL3 ((uint32_t)0x0B000000) /*!< PLL3 clock selected as CKOUTSEL source */
- #else
- #define RCC_GCFGR_PLLSEL ((uint32_t)0x00010000) /*!< PLLSEL bit for entry clock source */
- #define RCC_GCFGR_PLLSEL_HSI_DIV2 ((uint32_t)0x00000000) /*!< HSI clock divided by 2 selected as PLL entry clock source */
- #define RCC_GCFGR_PLLSEL_HSE ((uint32_t)0x00010000) /*!< HSE clock selected as PLL entry clock source */
- /*!< PLLPREDV configuration */
- #define RCC_GCFGR_PLLPREDV ((uint32_t)0x00020000) /*!< PLLPREDV bit for PLL entry */
- #define RCC_GCFGR_PLLPREDV_HSE ((uint32_t)0x00000000) /*!< HSE clock not divided for PLL entry */
- #define RCC_GCFGR_PLLPREDV_HSE_DIV2 ((uint32_t)0x00020000) /*!< HSE clock divided by 2 for PLL entry */
- /*!< PLLMF configuration */
- #define RCC_GCFGR_PLLMF ((uint32_t)0x083C0000) /*!< PLLMF[4:0] bits (PLL multiplication factor) */
- #define RCC_GCFGR_PLLMF_0 ((uint32_t)0x00040000) /*!< Bit 0 */
- #define RCC_GCFGR_PLLMF_1 ((uint32_t)0x00080000) /*!< Bit 1 */
- #define RCC_GCFGR_PLLMF_2 ((uint32_t)0x00100000) /*!< Bit 2 */
- #define RCC_GCFGR_PLLMF_3 ((uint32_t)0x00200000) /*!< Bit 3 */
- #define RCC_GCFGR_PLLMF_4 ((uint32_t)0x08000000) /*!< Bit 4 */
- #define RCC_GCFGR_PLLMF2 ((uint32_t)0x00000000) /*!< PLL input clock*2 */
- #define RCC_GCFGR_PLLMF3 ((uint32_t)0x00040000) /*!< PLL input clock*3 */
- #define RCC_GCFGR_PLLMF4 ((uint32_t)0x00080000) /*!< PLL input clock*4 */
- #define RCC_GCFGR_PLLMF5 ((uint32_t)0x000C0000) /*!< PLL input clock*5 */
- #define RCC_GCFGR_PLLMF6 ((uint32_t)0x00100000) /*!< PLL input clock*6 */
- #define RCC_GCFGR_PLLMF7 ((uint32_t)0x00140000) /*!< PLL input clock*7 */
- #define RCC_GCFGR_PLLMF8 ((uint32_t)0x00180000) /*!< PLL input clock*8 */
- #define RCC_GCFGR_PLLMF9 ((uint32_t)0x001C0000) /*!< PLL input clock*9 */
- #define RCC_GCFGR_PLLMF10 ((uint32_t)0x00200000) /*!< PLL input clock10 */
- #define RCC_GCFGR_PLLMF11 ((uint32_t)0x00240000) /*!< PLL input clock*11 */
- #define RCC_GCFGR_PLLMF12 ((uint32_t)0x00280000) /*!< PLL input clock*12 */
- #define RCC_GCFGR_PLLMF13 ((uint32_t)0x002C0000) /*!< PLL input clock*13 */
- #define RCC_GCFGR_PLLMF14 ((uint32_t)0x00300000) /*!< PLL input clock*14 */
- #define RCC_GCFGR_PLLMF15 ((uint32_t)0x00340000) /*!< PLL input clock*15 */
- #define RCC_GCFGR_PLLMF16 ((uint32_t)0x00380000) /*!< PLL input clock*16 */
- #define RCC_GCFGR_PLLMF17 ((uint32_t)0x08000000) /*!< PLL input clock*17 */
- #define RCC_GCFGR_PLLMF18 ((uint32_t)0x08040000) /*!< PLL input clock*18 */
- #define RCC_GCFGR_PLLMF19 ((uint32_t)0x08080000) /*!< PLL input clock*19 */
- #define RCC_GCFGR_PLLMF20 ((uint32_t)0x080C0000) /*!< PLL input clock*20 */
- #define RCC_GCFGR_PLLMF21 ((uint32_t)0x08100000) /*!< PLL input clock*21 */
- #define RCC_GCFGR_PLLMF22 ((uint32_t)0x08140000) /*!< PLL input clock*22 */
- #define RCC_GCFGR_PLLMF23 ((uint32_t)0x08180000) /*!< PLL input clock*23 */
- #define RCC_GCFGR_PLLMF24 ((uint32_t)0x081C0000) /*!< PLL input clock*24 */
- #define RCC_GCFGR_PLLMF25 ((uint32_t)0x08200000) /*!< PLL input clock*25 */
- #define RCC_GCFGR_PLLMF26 ((uint32_t)0x08240000) /*!< PLL input clock*26 */
- #define RCC_GCFGR_PLLMF27 ((uint32_t)0x08280000) /*!< PLL input clock*27 */
- #define RCC_GCFGR_PLLMF28 ((uint32_t)0x082C0000) /*!< PLL input clock*28 */
- #define RCC_GCFGR_PLLMF29 ((uint32_t)0x08300000) /*!< PLL input clock*29 */
- #define RCC_GCFGR_PLLMF30 ((uint32_t)0x08340000) /*!< PLL input clock*30 */
- #define RCC_GCFGR_PLLMF31 ((uint32_t)0x08380000) /*!< PLL input clock*31 */
- #define RCC_GCFGR_PLLMF32 ((uint32_t)0x083C0000) /*!< PLL input clock*32 */
- #define RCC_GCFGR_USBPS ((uint32_t)0x00C00000) /*!< USB Device prescaler */
- #define RCC_GCFGR_USBPS_0 ((uint32_t)0x00400000) /*!< Bit 0 */
- #define RCC_GCFGR_USBPS_1 ((uint32_t)0x00800000) /*!< Bit 1 */
- #define RCC_GCFGR_USBPS_Div1_5 ((uint32_t)0x00000000) /*!< PLL divided by 1.5 */
- #define RCC_GCFGR_USBPS_Div1 ((uint32_t)0x00400000) /*!< PLL not divided */
- #define RCC_GCFGR_USBPS_Div2_5 ((uint32_t)0x00800000) /*!< PLL divided by 2.5 */
- #define RCC_GCFGR_USBPS_Div2 ((uint32_t)0x00C00000) /*!< PLL divided by 2 */
- /*!< CKOUTSEL configuration */
- #define RCC_GCFGR_CKOUTSEL ((uint32_t)0x07000000) /*!< CKOUTSRC[2:0] bits (Microcontroller Clock Output) */
- #define RCC_GCFGR_CKOUTSEL_0 ((uint32_t)0x01000000) /*!< Bit 0 */
- #define RCC_GCFGR_CKOUTSEL_1 ((uint32_t)0x02000000) /*!< Bit 1 */
- #define RCC_GCFGR_CKOUTSEL_2 ((uint32_t)0x04000000) /*!< Bit 2 */
- #define RCC_GCFGR_CKOUTSEL_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */
- #define RCC_GCFGR_CKOUTSEL_SYSCLK ((uint32_t)0x04000000) /*!< System clock selected as CKOUTSRC source */
- #define RCC_GCFGR_CKOUTSEL_HSI ((uint32_t)0x05000000) /*!< HSI clock selected as CKOUTSRC source */
- #define RCC_GCFGR_CKOUTSEL_HSE ((uint32_t)0x06000000) /*!< HSE clock selected as CKOUTSRC source */
- #define RCC_GCFGR_CKOUTSEL_PLL_DIV2 ((uint32_t)0x07000000) /*!< PLL clock divided by 2 selected as CKOUTSRC source */
- #endif /* GD32F10X_CL */
- /*!<****************** Bit definition for RCC_GCIR register ********************/
- #define RCC_GCIR_LSISTBF ((uint32_t)0x00000001) /*!< LSI Ready Interrupt flag */
- #define RCC_GCIR_LSESTBF ((uint32_t)0x00000002) /*!< LSE Ready Interrupt flag */
- #define RCC_GCIR_HSISTBF ((uint32_t)0x00000004) /*!< HSI Ready Interrupt flag */
- #define RCC_GCIR_HSESTBF ((uint32_t)0x00000008) /*!< HSE Ready Interrupt flag */
- #define RCC_GCIR_PLLSTBF ((uint32_t)0x00000010) /*!< PLL Ready Interrupt flag */
- #define RCC_GCIR_CKMF ((uint32_t)0x00000080) /*!< Clock Security System Interrupt flag */
- #define RCC_GCIR_LSISTBIE ((uint32_t)0x00000100) /*!< LSI Ready Interrupt Enable */
- #define RCC_GCIR_LSESTBIE ((uint32_t)0x00000200) /*!< LSE Ready Interrupt Enable */
- #define RCC_GCIR_HSISTBIE ((uint32_t)0x00000400) /*!< HSI Ready Interrupt Enable */
- #define RCC_GCIR_HSESTBIE ((uint32_t)0x00000800) /*!< HSE Ready Interrupt Enable */
- #define RCC_GCIR_PLLSTBIE ((uint32_t)0x00001000) /*!< PLL Ready Interrupt Enable */
- #define RCC_GCIR_LSISTBR ((uint32_t)0x00010000) /*!< LSI Ready Interrupt Clear */
- #define RCC_GCIR_LSESTBR ((uint32_t)0x00020000) /*!< LSE Ready Interrupt Clear */
- #define RCC_GCIR_HSISTBR ((uint32_t)0x00040000) /*!< HSI Ready Interrupt Clear */
- #define RCC_GCIR_HSESTBR ((uint32_t)0x00080000) /*!< HSE Ready Interrupt Clear */
- #define RCC_GCIR_PLLSTBR ((uint32_t)0x00100000) /*!< PLL Ready Interrupt Clear */
- #define RCC_GCIR_CKMC ((uint32_t)0x00800000) /*!< Clock Security System Interrupt Clear */
- #ifdef GD32F10X_CL
- #define RCC_GCIR_PLL2STBF ((uint32_t)0x00000020) /*!< PLL2 Ready Interrupt flag */
- #define RCC_GCIR_PLL3STBF ((uint32_t)0x00000040) /*!< PLL3 Ready Interrupt flag */
- #define RCC_GCIR_PLL2STBIE ((uint32_t)0x00002000) /*!< PLL2 Ready Interrupt Enable */
- #define RCC_GCIR_PLL3STBIE ((uint32_t)0x00004000) /*!< PLL3 Ready Interrupt Enable */
- #define RCC_GCIR_PLL2STBR ((uint32_t)0x00200000) /*!< PLL2 Ready Interrupt Clear */
- #define RCC_GCIR_PLL3STBR ((uint32_t)0x00400000) /*!< PLL3 Ready Interrupt Clear */
- #endif /* GD32F10X_CL */
- /***************** Bit definition for RCC_APB2RCR register *****************/
- #define RCC_APB2RCR_AFRST ((uint32_t)0x00000001) /*!< Alternate Function I/O clock reset */
- #define RCC_APB2RCR_PARST ((uint32_t)0x00000004) /*!< GPIOA clock reset */
- #define RCC_APB2RCR_PBRST ((uint32_t)0x00000008) /*!< GPIOB clock reset */
- #define RCC_APB2RCR_PCRST ((uint32_t)0x00000010) /*!< GPIOC clock reset */
- #define RCC_APB2RCR_PDRST ((uint32_t)0x00000020) /*!< GPIOD clock reset */
- #define RCC_APB2RCR_PERST ((uint32_t)0x00000040) /*!< GPIOE clock reset */
- #define RCC_APB2RCR_PFRST ((uint32_t)0x00000080) /*!< GPIOF clock reset */
- #define RCC_APB2RCR_PGRST ((uint32_t)0x00000100) /*!< GPIOF clock reset */
- #define RCC_APB2RCR_ADC0RST ((uint32_t)0x00000200) /*!< ADC0 clock reset */
- #define RCC_APB2RCR_ADC1RST ((uint32_t)0x00000400) /*!< ADC1 clock reset */
- #define RCC_APB2RCR_TIMER0RST ((uint32_t)0x00000800) /*!< TIMER0 clock reset */
- #define RCC_APB2RCR_SPI1RST ((uint32_t)0x00001000) /*!< SPI1 clock reset */
- #define RCC_APB2RCR_TIMER7RST ((uint32_t)0x00002000) /*!< TIMER7 clock reset */
- #define RCC_APB2RCR_USART0RST ((uint32_t)0x00004000) /*!< USART1 clock reset */
- #define RCC_APB2RCR_ADC3RST ((uint32_t)0x00008000) /*!< ADC3 clock reset */
- #define RCC_APB2RCR_TIMER8RST ((uint32_t)0x00080000) /*!< TIMER8 clock reset */
- #define RCC_APB2RCR_TIMER9RST ((uint32_t)0x00100000) /*!< TIMER9 clock reset */
- #define RCC_APB2RCR_TIMER10RST ((uint32_t)0x00200000) /*!< TIMER10 clock reset */
- /***************** Bit definition for RCC_APB1RCR register *****************/
- #define RCC_APB1RCR_TIMER1RST ((uint32_t)0x00000001) /*!< TIMER1 clock reset */
- #define RCC_APB1RCR_TIMER2RST ((uint32_t)0x00000002) /*!< TIMER2 clock reset */
- #define RCC_APB1RCR_TIMER3RST ((uint32_t)0x00000004) /*!< TIMER3 clock reset */
- #define RCC_APB1RCR_TIMER4RST ((uint32_t)0x00000008) /*!< TIMER7 clock reset */
- #define RCC_APB1RCR_TIMER5RST ((uint32_t)0x00000010) /*!< TIMER5 clock reset */
- #define RCC_APB1RCR_TIMER6RST ((uint32_t)0x00000020) /*!< TIMER6 clock reset */
- #define RCC_APB1RCR_TIMER11RST ((uint32_t)0x00000040) /*!< TIMER11 clock reset */
- #define RCC_APB1RCR_TIMER12RST ((uint32_t)0x00000080) /*!< TIMER12 clock reset */
- #define RCC_APB1RCR_TIMER13RST ((uint32_t)0x00000100) /*!< TIMER13 clock reset */
- #define RCC_APB1RCR_WWDGRST ((uint32_t)0x00000800) /*!< Window Watchdog clock reset */
- #define RCC_APB1RCR_SPI2RST ((uint32_t)0x00004000) /*!< SPI2 clock reset */
- #define RCC_APB1RCR_SPI3RST ((uint32_t)0x00008000) /*!< SPI3 clock reset */
- #define RCC_APB1RCR_USART1RST ((uint32_t)0x00020000) /*!< USART 2 clock reset */
- #define RCC_APB1RCR_USART2RST ((uint32_t)0x00040000) /*!< USART 3 clock reset */
- #define RCC_APB1RCR_UART3RST ((uint32_t)0x00080000) /*!< UART 4 clock reset */
- #define RCC_APB1RCR_UART4RST ((uint32_t)0x00100000) /*!< UART 5 clock reset */
- #define RCC_APB1RCR_I2C1RST ((uint32_t)0x00200000) /*!< I2C 1 clock reset */
- #define RCC_APB1RCR_I2C2RST ((uint32_t)0x00400000) /*!< I2C 2 clock reset */
- #define RCC_APB1RCR_USBRST ((uint32_t)0x00800000) /*!< USB Device reset */
- #define RCC_APB1RCR_CAN1RST ((uint32_t)0x02000000) /*!< CAN1 Device reset */
- #define RCC_APB1RCR_CAN2RST ((uint32_t)0x04000000) /*!< CAN2 Device reset */
- #define RCC_APB1RCR_BKPRST ((uint32_t)0x08000000) /*!< BKP Device reset */
- #define RCC_APB1RCR_PWRRST ((uint32_t)0x10000000) /*!< PWR clock reset */
- #define RCC_APB1RCR_DACRST ((uint32_t)0x20000000) /*!< DAC clock reset */
- /****************** Bit definition for RCC_AHBCCR register ******************/
- #define RCC_AHBCCR_DMA1EN ((uint32_t)0x00000001) /*!< DMA1 clock enable */
- #define RCC_AHBCCR_DMA2EN ((uint32_t)0x00000002) /*!< DMA2 clock enable */
- #define RCC_AHBCCR_SRAMEN ((uint32_t)0x00000004) /*!< SRAM interface clock enable */
- #define RCC_AHBCCR_FMCEN ((uint32_t)0x00000010) /*!< FMC clock enable */
- #define RCC_AHBCCR_CRCEN ((uint32_t)0x00000040) /*!< CRC clock enable */
- #define RCC_AHBCCR_EXMCEN ((uint32_t)0x00000100) /*!< EXMC clock enable */
- #ifdef GD32F10X_CL
- #define RCC_AHBCCR_OTGFSEN ((uint32_t)0x00001000) /*!< OTGFS clock enable */
- #define RCC_AHBCCR_ETHMACEN ((uint32_t)0x00004000) /*!< ETHMAC clock enable */
- #define RCC_AHBCCR_ETHMACRXEN ((uint32_t)0x00008000) /*!< ETHMACRX clock enable */
- #define RCC_AHBCCR_ETHMACTXEN ((uint32_t)0x00010000) /*!< ETHMACTX clock enable */
- #else
- #define RCC_AHBCCR_SDIOEN ((uint32_t)0x00000400) /*!< SDIO clock enable */
- #endif/* GD32F10X_CL */
- /***************** Bit definition for RCC_APB2CCR register ******************/
- #define RCC_APB2CCR_AFEN ((uint32_t)0x00000001) /*!< Alternate Function I/O clock enable */
- #define RCC_APB2CCR_PAEN ((uint32_t)0x00000004) /*!< GPIOA clock enable */
- #define RCC_APB2CCR_PBEN ((uint32_t)0x00000008) /*!< GPIOB clock enable */
- #define RCC_APB2CCR_PCEN ((uint32_t)0x00000010) /*!< GPIOC clock enable */
- #define RCC_APB2CCR_PDEN ((uint32_t)0x00000020) /*!< GPIOD clock enable */
- #define RCC_APB2CCR_PEEN ((uint32_t)0x00000040) /*!< GPIOE clock enable */
- #define RCC_APB2CCR_PFEN ((uint32_t)0x00000080) /*!< GPIOF clock enable */
- #define RCC_APB2CCR_PGEN ((uint32_t)0x00000100) /*!< GPIOF clock enable */
- #define RCC_APB2CCR_ADC0EN ((uint32_t)0x00000200) /*!< ADC0 clock enable */
- #define RCC_APB2CCR_ADC1EN ((uint32_t)0x00000400) /*!< ADC1 clock enable */
- #define RCC_APB2CCR_TIMER0EN ((uint32_t)0x00000800) /*!< TIMER0 clock enable */
- #define RCC_APB2CCR_SPI1EN ((uint32_t)0x00001000) /*!< SPI1 clock enable */
- #define RCC_APB2CCR_TIMER7EN ((uint32_t)0x00002000) /*!< TIMER7 clock enable */
- #define RCC_APB2CCR_USART1EN ((uint32_t)0x00004000) /*!< USART1 clock enable */
- #define RCC_APB2CCR_ADC3EN ((uint32_t)0x00008000) /*!< ADC3 clock enable */
- #define RCC_APB2CCR_TIMER8EN ((uint32_t)0x00080000) /*!< TIMER8 clock enable */
- #define RCC_APB2CCR_TIMER9EN ((uint32_t)0x00100000) /*!< TIMER9 clock enable */
- #define RCC_APB2CCR_TIMER10EN ((uint32_t)0x00200000) /*!< TIMER10 clock enable */
- /***************** Bit definition for RCC_APB1CCR register ******************/
- #define RCC_APB1CCR_TIMER1EN ((uint32_t)0x00000001) /*!< TIMER1 clock enable */
- #define RCC_APB1CCR_TIMER2EN ((uint32_t)0x00000002) /*!< TIMER2 clock enable */
- #define RCC_APB1CCR_TIMER3EN ((uint32_t)0x00000004) /*!< TIMER3 clock enable */
- #define RCC_APB1CCR_TIMER4EN ((uint32_t)0x00000008) /*!< TIMER7 clock enable */
- #define RCC_APB1CCR_TIMER5EN ((uint32_t)0x00000010) /*!< TIMER5 clock enable */
- #define RCC_APB1CCR_TIMER6EN ((uint32_t)0x00000020) /*!< TIMER6 clock enable */
- #define RCC_APB1CCR_TIMER11EN ((uint32_t)0x00000040) /*!< TIMER11 clock enable */
- #define RCC_APB1CCR_TIMER12EN ((uint32_t)0x00000080) /*!< TIMER12 clock enable */
- #define RCC_APB1CCR_TIMER13EN ((uint32_t)0x00000100) /*!< TIMER13 clock enable */
- #define RCC_APB1CCR_WWDGEN ((uint32_t)0x00000800) /*!< Window Watchdog clock enable */
- #define RCC_APB1CCR_SPI2EN ((uint32_t)0x00004000) /*!< SPI2 clock enable */
- #define RCC_APB1CCR_SPI3EN ((uint32_t)0x00008000) /*!< SPI3 clock enable*/
- #define RCC_APB1CCR_USART2EN ((uint32_t)0x00020000) /*!< USART 2 clock enable */
- #define RCC_APB1CCR_USART3EN ((uint32_t)0x00040000) /*!< USART 3 clock enable */
- #define RCC_APB1CCR_UART4EN ((uint32_t)0x00080000) /*!< UART 4 clock enable */
- #define RCC_APB1CCR_UART5EN ((uint32_t)0x00100000) /*!< UART 5 clock enable */
- #define RCC_APB1CCR_I2C1EN ((uint32_t)0x00200000) /*!< I2C 1 clock enable */
- #define RCC_APB1CCR_I2C2EN ((uint32_t)0x00400000) /*!< I2C 2 clock enable */
- #define RCC_APB1CCR_USBEN ((uint32_t)0x00800000) /*!< USB Device enable */
- #define RCC_APB1CCR_CAN1EN ((uint32_t)0x02000000) /*!< CAN1 Device enable */
- #define RCC_APB1CCR_CAN2EN ((uint32_t)0x04000000) /*!< CAN2 Device enable */
- #define RCC_APB1CCR_BKPEN ((uint32_t)0x08000000) /*!< BKP Device enable */
- #define RCC_APB1CCR_PWREN ((uint32_t)0x10000000) /*!< PWR clock enable */
- #define RCC_APB1CCR_DACEN ((uint32_t)0x20000000) /*!< DAC clock enable */
- /******************* Bit definition for RCC_BDCR register *******************/
- #define RCC_BDCR_LSEEN ((uint32_t)0x00000001) /*!< External Low Speed oscillator enable */
- #define RCC_BDCR_LSESTB ((uint32_t)0x00000002) /*!< External Low Speed oscillator Ready */
- #define RCC_BDCR_LSEBPS ((uint32_t)0x00000004) /*!< External Low Speed oscillator Bypass */
- #define RCC_BDCR_RTCSEL ((uint32_t)0x00000300) /*!< RTCSEL[1:0] bits (RTC clock source selection) */
- #define RCC_BDCR_RTCSEL_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define RCC_BDCR_RTCSEL_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- /*!< RTC congiguration */
- #define RCC_BDCR_RTCSEL_NOCLOCK ((uint32_t)0x00000000) /*!< No clock */
- #define RCC_BDCR_RTCSEL_LSE ((uint32_t)0x00000100) /*!< LSE oscillator clock used as RTC clock */
- #define RCC_BDCR_RTCSEL_LSI ((uint32_t)0x00000200) /*!< LSI oscillator clock used as RTC clock */
- #define RCC_BDCR_RTCSEL_HSE128 ((uint32_t)0x00000300) /*!< HSE oscillator clock divided by 128 used as RTC clock */
- #define RCC_BDCR_RTCEN ((uint32_t)0x00008000) /*!< RTC clock enable */
- #define RCC_BDCR_BKPRST ((uint32_t)0x00010000) /*!< Backup domain software reset */
- /******************* Bit definition for RCC_GCSR register ********************/
- #define RCC_GCSR_LSIEN ((uint32_t)0x00000001) /*!< Internal Low Speed oscillator enable */
- #define RCC_GCSR_LSISTB ((uint32_t)0x00000002) /*!< Internal Low Speed oscillator Ready */
- #define RCC_GCSR_RSTFC ((uint32_t)0x01000000) /*!< Remove reset flag */
- #define RCC_GCSR_EPRSTF ((uint32_t)0x04000000) /*!< PIN reset flag */
- #define RCC_GCSR_POPDRSTF ((uint32_t)0x08000000) /*!< POR/PDR reset flag */
- #define RCC_GCSR_SWRSTF ((uint32_t)0x10000000) /*!< Software Reset flag */
- #define RCC_GCSR_IWDGRSTF ((uint32_t)0x20000000) /*!< Independent Watchdog reset flag */
- #define RCC_GCSR_WWDGRSTF ((uint32_t)0x40000000) /*!< Window watchdog reset flag */
- #define RCC_GCSR_LPRSTF ((uint32_t)0x80000000) /*!< Low-Power reset flag */
- /***************** Bit definition for RCC_DEEPSLEEP_VC register *****************/
- #define RCC_DEEPSLEEP_VC_CLEAR ((uint32_t)0x00000003) /*!< RCC_DEEPSLEEP_VC[2:0] bits */
- #define RCC_DEEPSLEEP_VC_0 ((uint32_t)0x00000000) /*!< Bit 0 bits */
- #define RCC_DEEPSLEEP_VC_1 ((uint32_t)0x00000002) /*!< Bit 1 bits */
- #define RCC_DEEPSLEEP_VC_2 ((uint32_t)0x00000004) /*!< Bit 2 bits */
- #define RCC_DEEPSLEEP_VC1_2 ((uint32_t)0x00000000) /*!< The kernel voltage in Deep-sleep mode is 1.2V */
- #define RCC_DEEPSLEEP_VC1_1 ((uint32_t)0x00000001) /*!< The kernel voltage in Deep-sleep is 1.1V */
- #define RCC_DEEPSLEEP_VC1_0 ((uint32_t)0x00000002) /*!< The kernel voltage in Deep-sleep is 1.0V */
- #define RCC_DEEPSLEEP_VC0_9 ((uint32_t)0x00000003) /*!< The kernel voltage in Deep-sleep is 0.9V */
- #ifdef GD32F10X_CL
- /******************* Bit definition for RCC_AHBRCR register ****************/
- #define RCC_AHBRCR_OTGFSRST ((uint32_t)0x00001000) /*!< OTGFS clock reset */
- #define RCC_AHBRCR_ETHMACRST ((uint32_t)0x00004000) /*!< ETHMAC clock reset */
- /******************* Bit definition for RCC_GCFGR2 register ******************/
- /*!< PREDIV1 configuration */
- #define RCC_GCFGR2_PREDV1 ((uint32_t)0x0000000F) /*!< PREDIV1[3:0] bits */
- #define RCC_GCFGR2_PREDV1_0 ((uint32_t)0x00000001) /*!< Bit 0 */
- #define RCC_GCFGR2_PREDV1_1 ((uint32_t)0x00000002) /*!< Bit 1 */
- #define RCC_GCFGR2_PREDV1_2 ((uint32_t)0x00000004) /*!< Bit 2 */
- #define RCC_GCFGR2_PREDV1_3 ((uint32_t)0x00000008) /*!< Bit 3 */
- #define RCC_GCFGR2_PREDV1_DIV1 ((uint32_t)0x00000000) /*!< PREDV1 input clock not divided */
- #define RCC_GCFGR2_PREDV1_DIV2 ((uint32_t)0x00000001) /*!< PREDV1 input clock divided by 2 */
- #define RCC_GCFGR2_PREDV1_DIV3 ((uint32_t)0x00000002) /*!< PREDV1 input clock divided by 3 */
- #define RCC_GCFGR2_PREDV1_DIV4 ((uint32_t)0x00000003) /*!< PREDV1 input clock divided by 4 */
- #define RCC_GCFGR2_PREDV1_DIV5 ((uint32_t)0x00000004) /*!< PREDV1 input clock divided by 5 */
- #define RCC_GCFGR2_PREDV1_DIV6 ((uint32_t)0x00000005) /*!< PREDV1 input clock divided by 6 */
- #define RCC_GCFGR2_PREDV1_DIV7 ((uint32_t)0x00000006) /*!< PREDV1 input clock divided by 7 */
- #define RCC_GCFGR2_PREDV1_DIV8 ((uint32_t)0x00000007) /*!< PREDV1 input clock divided by 8 */
- #define RCC_GCFGR2_PREDV1_DIV9 ((uint32_t)0x00000008) /*!< PREDV1 input clock divided by 9 */
- #define RCC_GCFGR2_PREDV1_DIV10 ((uint32_t)0x00000009) /*!< PREDV1 input clock divided by 10 */
- #define RCC_GCFGR2_PREDV1_DIV11 ((uint32_t)0x0000000A) /*!< PREDV1 input clock divided by 11 */
- #define RCC_GCFGR2_PREDV1_DIV12 ((uint32_t)0x0000000B) /*!< PREDV1 input clock divided by 12 */
- #define RCC_GCFGR2_PREDV1_DIV13 ((uint32_t)0x0000000C) /*!< PREDV1 input clock divided by 13 */
- #define RCC_GCFGR2_PREDV1_DIV14 ((uint32_t)0x0000000D) /*!< PREDV1 input clock divided by 14 */
- #define RCC_GCFGR2_PREDV1_DIV15 ((uint32_t)0x0000000E) /*!< PREDV1 input clock divided by 15 */
- #define RCC_GCFGR2_PREDV1_DIV16 ((uint32_t)0x0000000F) /*!< PREDV1 input clock divided by 16 */
- /*!< PREDIV2 configuration */
- #define RCC_GCFGR2_PREDV2 ((uint32_t)0x000000F0) /*!< PREDIV2[3:0] bits */
- #define RCC_GCFGR2_PREDV2_0 ((uint32_t)0x00000010) /*!< Bit 0 */
- #define RCC_GCFGR2_PREDV2_1 ((uint32_t)0x00000020) /*!< Bit 1 */
- #define RCC_GCFGR2_PREDV2_2 ((uint32_t)0x00000040) /*!< Bit 2 */
- #define RCC_GCFGR2_PREDV2_3 ((uint32_t)0x00000080) /*!< Bit 3 */
- #define RCC_GCFGR2_PREDV2_DIV1 ((uint32_t)0x00000000) /*!< PREDV1 input clock not divided */
- #define RCC_GCFGR2_PREDV2_DIV2 ((uint32_t)0x00000010) /*!< PREDV1 input clock divided by 2 */
- #define RCC_GCFGR2_PREDV2_DIV3 ((uint32_t)0x00000020) /*!< PREDV1 input clock divided by 3 */
- #define RCC_GCFGR2_PREDV2_DIV4 ((uint32_t)0x00000030) /*!< PREDV1 input clock divided by 4 */
- #define RCC_GCFGR2_PREDV2_DIV5 ((uint32_t)0x00000040) /*!< PREDV1 input clock divided by 5 */
- #define RCC_GCFGR2_PREDV2_DIV6 ((uint32_t)0x00000050) /*!< PREDV1 input clock divided by 6 */
- #define RCC_GCFGR2_PREDV2_DIV7 ((uint32_t)0x00000060) /*!< PREDV1 input clock divided by 7 */
- #define RCC_GCFGR2_PREDV2_DIV8 ((uint32_t)0x00000070) /*!< PREDV1 input clock divided by 8 */
- #define RCC_GCFGR2_PREDV2_DIV9 ((uint32_t)0x00000080) /*!< PREDV1 input clock divided by 9 */
- #define RCC_GCFGR2_PREDV2_DIV10 ((uint32_t)0x00000090) /*!< PREDV1 input clock divided by 10 */
- #define RCC_GCFGR2_PREDV2_DIV11 ((uint32_t)0x000000A0) /*!< PREDV1 input clock divided by 11 */
- #define RCC_GCFGR2_PREDV2_DIV12 ((uint32_t)0x000000B0) /*!< PREDV1 input clock divided by 12 */
- #define RCC_GCFGR2_PREDV2_DIV13 ((uint32_t)0x000000C0) /*!< PREDV1 input clock divided by 13 */
- #define RCC_GCFGR2_PREDV2_DIV14 ((uint32_t)0x000000D0) /*!< PREDV1 input clock divided by 14 */
- #define RCC_GCFGR2_PREDV2_DIV15 ((uint32_t)0x000000E0) /*!< PREDV1 input clock divided by 15 */
- #define RCC_GCFGR2_PREDV2_DIV16 ((uint32_t)0x000000F0) /*!< PREDV1 input clock divided by 16 */
- /*!< PLL2MF configuration */
- #define RCC_GCFGR2_PLL2MF ((uint32_t)0x00000F00) /*!< PLL2MF[4:0] bits (PLL2 multiplication factor) */
- #define RCC_GCFGR2_PLL2MF_0 ((uint32_t)0x00000100) /*!< Bit 0 */
- #define RCC_GCFGR2_PLL2MF_1 ((uint32_t)0x00000200) /*!< Bit 1 */
- #define RCC_GCFGR2_PLL2MF_2 ((uint32_t)0x00000400) /*!< Bit 2 */
- #define RCC_GCFGR2_PLL2MF_3 ((uint32_t)0x00000800) /*!< Bit 3 */
- #define RCC_GCFGR2_PLL2MF8 ((uint32_t)0x00000600) /*!< PLL2 input clock*8 */
- #define RCC_GCFGR2_PLL2MF9 ((uint32_t)0x00000700) /*!< PLL2 input clock*9 */
- #define RCC_GCFGR2_PLL2MF10 ((uint32_t)0x00000800) /*!< PLL2 input clock10 */
- #define RCC_GCFGR2_PLL2MF11 ((uint32_t)0x00000900) /*!< PLL2 input clock*11 */
- #define RCC_GCFGR2_PLL2MF12 ((uint32_t)0x00000A00) /*!< PLL2 input clock*12 */
- #define RCC_GCFGR2_PLL2MF13 ((uint32_t)0x00000B00) /*!< PLL2 input clock*13 */
- #define RCC_GCFGR2_PLL2MF14 ((uint32_t)0x00000C00) /*!< PLL2 input clock*14 */
- #define RCC_GCFGR2_PLL2MF16 ((uint32_t)0x00000E00) /*!< PLL2 input clock*16 */
- #define RCC_GCFGR2_PLL2MF20 ((uint32_t)0x00000F00) /*!< PLL2 input clock*20 */
- /*!< PLL3MF configuration */
- #define RCC_GCFGR2_PLL3MF ((uint32_t)0x0000F000) /*!< PLL3MF[4:0] bits (PLL3 multiplication factor) */
- #define RCC_GCFGR2_PLL3MF_0 ((uint32_t)0x00001000) /*!< Bit 0 */
- #define RCC_GCFGR2_PLL3MF_1 ((uint32_t)0x00002000) /*!< Bit 1 */
- #define RCC_GCFGR2_PLL3MF_2 ((uint32_t)0x00004000) /*!< Bit 2 */
- #define RCC_GCFGR2_PLL3MF_3 ((uint32_t)0x00008000) /*!< Bit 3 */
- #define RCC_GCFGR2_PLL3MF8 ((uint32_t)0x00006000) /*!< PLL input clock*8 */
- #define RCC_GCFGR2_PLL3MF9 ((uint32_t)0x00007000) /*!< PLL input clock*9 */
- #define RCC_GCFGR2_PLL3MF10 ((uint32_t)0x00008000) /*!< PLL input clock10 */
- #define RCC_GCFGR2_PLL3MF11 ((uint32_t)0x00009000) /*!< PLL input clock*11 */
- #define RCC_GCFGR2_PLL3MF12 ((uint32_t)0x0000A000) /*!< PLL input clock*12 */
- #define RCC_GCFGR2_PLL3MF13 ((uint32_t)0x0000B000) /*!< PLL input clock*13 */
- #define RCC_GCFGR2_PLL3MF14 ((uint32_t)0x0000C000) /*!< PLL input clock*14 */
- #define RCC_GCFGR2_PLL3MF16 ((uint32_t)0x0000E000) /*!< PLL input clock*16 */
- #define RCC_GCFGR2_PLL3MF20 ((uint32_t)0x0000F000) /*!< PLL input clock*20 */
- /*!< PREDV1SEL configuration */
- #define RCC_GCFGR2_PREDV1SEL ((uint32_t)0x00010000) /*!< PREDV1SEL bit for entry clock source */
- #define RCC_GCFGR2_PREDV1SEL_HSE ((uint32_t)0x00000000) /*!< HSE clock selected as PREDV1 entry clock source */
- #define RCC_GCFGR2_PREDV1SEL_PLL2 ((uint32_t)0x00010000) /*!< PLL2 clock selected as PREDV1 entry clock source */
- /*!< PREDV1SEL configuration */
- #define RCC_GCFGR2_I2S2SEL ((uint32_t)0x00020000) /*!< I2S2SEL bit for entry clock source */
- #define RCC_GCFGR2_I2S2SEL_CK_SYS ((uint32_t)0x00000000) /*!< CK_SYS clock selected as I2S2 entry clock source */
- #define RCC_GCFGR2_I2S2SEL_PLL3 ((uint32_t)0x00020000) /*!< PLL3 clock selected as I2S2 entry clock source */
- /*!< PREDV1SEL configuration */
- #define RCC_GCFGR2_I2S3SEL ((uint32_t)0x00040000) /*!< I2S3SEL bit for entry clock source */
- #define RCC_GCFGR2_I2S3SEL_CK_SYS ((uint32_t)0x00000000) /*!< CK_SYS clock selected as I2S3 entry clock source */
- #define RCC_GCFGR2_I2S3SEL_PLL3 ((uint32_t)0x00040000) /*!< PLL3 clock selected as I2S3 entry clock source */
- #endif/* GD32F10X_CL */
- /******************************************************************************/
- /* */
- /* Real-Time Clock (RTC) */
- /* */
- /******************************************************************************/
- /******************** Bits definition for RTC_TR register *******************/
- /******************** Bits definition for RTC_CTLR1 register ****************/
- #define RTC_CTLR1_SIE ((uint8_t)0x01) /*!< RTC Second Interrupt Enable */
- #define RTC_CTLR1_AIE ((uint8_t)0x02) /*!< RTC Alarm Interrupt Enable */
- #define RTC_CTLR1_OVIE ((uint8_t)0x04) /*!< RTC OverfloW Interrupt Enable */
- /******************** Bits definition for RTC_CTLR2 register ****************/
- #define RTC_CTLR2_SF ((uint8_t)0x01) /*!< RTC Second Flag */
- #define RTC_CTLR2_AF ((uint8_t)0x02) /*!< RTC Alarm Flag */
- #define RTC_CTLR2_OVF ((uint8_t)0x04) /*!< RTC OverfloW Flag */
- #define RTC_CTLR2_RSF ((uint8_t)0x08) /*!< RTC Registers Synchronized Flag */
- #define RTC_CTLR2_CMF ((uint8_t)0x10) /*!< RTC Configuration Mode Flag */
- #define RTC_CTLR2_LWOFF ((uint8_t)0x20) /*!< RTC Last Write Operation OFF */
- /******************** Bits definition for RTC_PLR1 register *****************/
- #define RTC_PLR1_PLR ((uint16_t)0x000F) /*!< RTC Prescaler Value High */
- /******************** Bits definition for RTC_PLR2 register *****************/
- #define RTC_PLR2_PLR ((uint16_t)0xFFFF) /*!< RTC Prescaler Value Low*/
- /******************** Bits definition for RTC_PREDIV1 register **************/
- #define RTC_PREDIV1_RTC_PREDIV ((uint16_t)0x000F) /*!< RTC Divider Value High */
- /******************** Bits definition for RTC_PREDIV2 register **************/
- #define RTC_PREDIV2_RTC_PREDIV ((uint16_t)0xFFFF) /*!< RTC Divider Value Low */
- /******************** Bits definition for RTC_CNT1 register *****************/
- #define RTC_CNT1_RTC_CNT ((uint16_t)0xFFFF) /*!< RTC Counter Value High */
- /******************** Bits definition for RTC_CNT2 register *****************/
- #define RTC_CNT2_RTC_CNT ((uint16_t)0xFFFF) /*!< RTC Counter Value Low */
- /******************** Bits definition for RTC_ALRMR1 register ***************/
- #define RTC_ALRMR1_RTC_ALRMR ((uint16_t)0xFFFF) /*!< RTC Alarm Value High */
- /******************** Bits definition for RTC_ALRMR2 register ***************/
- #define RTC_ALRMR2_RTC_ALRMR ((uint16_t)0xFFFF) /*!< RTC Alarm Value Low */
- /******************************************************************************/
- /* */
- /* SD host Interface */
- /* */
- /******************************************************************************/
- /****************** Bit definition for SDIO_POWER register ******************/
- #define SDIO_POWER_PWRSTATE ((uint8_t)0x03) /*!< PWRSTATE[1:0] bits (Power supply control bits) */
- #define SDIO_POWER_PWRSTATE_0 ((uint8_t)0x01) /*!< Bit 0 */
- #define SDIO_POWER_PWRSTATE_1 ((uint8_t)0x02) /*!< Bit 1 */
- /****************** Bit definition for SDIO_CLKCTLR register *****************/
- #define SDIO_CLKCTLR_DIV ((uint16_t)0x00FF) /*!< Clock divide factor */
- #define SDIO_CLKCTLR_CKEN ((uint16_t)0x0100) /*!< Clock enable bit */
- #define SDIO_CLKCTLR_PWRSAV ((uint16_t)0x0200) /*!< Power saving configuration bit */
- #define SDIO_CLKCTLR_BYPASS ((uint16_t)0x0400) /*!< Clock divider bypass enable bit */
- #define SDIO_CLKCTLR_BUSMODE ((uint16_t)0x1800) /*!< BUSMODE[1:0] bits (Wide bus mode enable bit) */
- #define SDIO_CLKCTLR_BUSMODE_0 ((uint16_t)0x0800) /*!< Bit 0 */
- #define SDIO_CLKCTLR_BUSMODE_1 ((uint16_t)0x1000) /*!< Bit 1 */
- #define SDIO_CLKCTLR_CKPH ((uint16_t)0x2000) /*!< SDIO_CLK dephasing selection bit */
- #define SDIO_CLKCTLR_HWFL_EN ((uint16_t)0x4000) /*!< HW Flow Control enable */
- /******************* Bit definition for SDIO_PARA register ******************/
- #define SDIO_PARA_CMDARG ((uint32_t)0xFFFFFFFF) /*!< Command argument */
- /******************* Bit definition for SDIO_CMD register *******************/
- #define SDIO_CMD_CMDINDEX ((uint16_t)0x003F) /*!< Command Index */
- #define SDIO_CMD_WAITRESP ((uint16_t)0x00C0) /*!< WAITRESP[1:0] bits (Wait for response bits) */
- #define SDIO_CMD_WAITRESP_0 ((uint16_t)0x0040) /*!< Bit 0 */
- #define SDIO_CMD_WAITRESP_1 ((uint16_t)0x0080) /*!< Bit 1 */
- #define SDIO_CMD_WAITINT ((uint16_t)0x0100) /*!< CPSM Waits for Interrupt Request */
- #define SDIO_CMD_WAITPD ((uint16_t)0x0200) /*!< CPSM Waits for ends of data transfer (CmdPend internal signal) */
- #define SDIO_CMD_CSMEN ((uint16_t)0x0400) /*!< Command state machine (CSM) Enable bit */
- #define SDIO_CMD_SDIOSUSPEND ((uint16_t)0x0800) /*!< SD I/O suspend command */
- #define SDIO_CMD_ENCMDC ((uint16_t)0x1000) /*!< Enable CMD completion */
- #define SDIO_CMD_NIEN ((uint16_t)0x2000) /*!< Not Interrupt Enable */
- #define SDIO_CMD_ATACMD ((uint16_t)0x4000) /*!< CE-ATA command */
- /***************** Bit definition for SDIO_RESPCMD register *****************/
- #define SDIO_RESPCMD_RESPCMD ((uint8_t)0x3F) /*!< Response command index */
- /****************** Bit definition for SDIO_RESP1 register ******************/
- #define SDIO_RESP1_CARDSTATE1 ((uint32_t)0xFFFFFFFF) /*!< Card State */
- /****************** Bit definition for SDIO_RESP2 register ******************/
- #define SDIO_RESP2_CARDSTATE2 ((uint32_t)0xFFFFFFFF) /*!< Card State */
- /****************** Bit definition for SDIO_RESP3 register ******************/
- #define SDIO_RESP3_CARDSTATE3 ((uint32_t)0xFFFFFFFF) /*!< Card State */
- /****************** Bit definition for SDIO_RESP4 register ******************/
- #define SDIO_RESP4_CARDSTATE4 ((uint32_t)0xFFFFFFFF) /*!< Card State */
- /****************** Bit definition for SDIO_DTTR register *******************/
- #define SDIO_DTTR_DTTIME ((uint32_t)0xFFFFFFFF) /*!< Data timeout period. */
- /****************** Bit definition for SDIO_DTLEN register ******************/
- #define SDIO_DTLEN_DTLEN ((uint32_t)0x01FFFFFF) /*!< Data length value */
- /****************** Bit definition for SDIO_DTCTLR register *****************/
- #define SDIO_DTCTLR_DTTEN ((uint16_t)0x0001) /*!< Data transfer enabled bit */
- #define SDIO_DTCTLR_DTTDIR ((uint16_t)0x0002) /*!< Data transfer direction selection */
- #define SDIO_DTCTLR_DTTMODE ((uint16_t)0x0004) /*!< Data transfer mode selection */
- #define SDIO_DTCTLR_DMAEN ((uint16_t)0x0008) /*!< DMA enabled bit */
- #define SDIO_DTCTLR_DTBLKSIZE ((uint16_t)0x00F0) /*!< DTBLKSIZE[3:0] bits (Data block size) */
- #define SDIO_DTCTLR_DTBLKSIZE_0 ((uint16_t)0x0010) /*!< Bit 0 */
- #define SDIO_DTCTLR_DTBLKSIZE_1 ((uint16_t)0x0020) /*!< Bit 1 */
- #define SDIO_DTCTLR_DTBLKSIZE_2 ((uint16_t)0x0040) /*!< Bit 2 */
- #define SDIO_DTCTLR_DTBLKSIZE_3 ((uint16_t)0x0080) /*!< Bit 3 */
- #define SDIO_DTCTLR_RWSTART ((uint16_t)0x0100) /*!< Read wait start */
- #define SDIO_DTCTLR_RWSTOP ((uint16_t)0x0200) /*!< Read wait stop */
- #define SDIO_DTCTLR_RWMODE ((uint16_t)0x0400) /*!< Read wait mode */
- #define SDIO_DTCTLR_SDIOEN ((uint16_t)0x0800) /*!< SD I/O enable functions */
- /****************** Bit definition for SDIO_DTCNT register ******************/
- #define SDIO_DTCNT_DTCNT ((uint32_t)0x01FFFFFF) /*!< Data count value */
- /****************** Bit definition for SDIO_STR register ********************/
- #define SDIO_STR_CCRCFAIL ((uint32_t)0x00000001) /*!< Command response received (CRC check failed) */
- #define SDIO_STR_DTCRCFAIL ((uint32_t)0x00000002) /*!< Data block sent/received (CRC check failed) */
- #define SDIO_STR_CMDTMOUT ((uint32_t)0x00000004) /*!< Command response timeout */
- #define SDIO_STR_DTTMOUT ((uint32_t)0x00000008) /*!< Data timeout */
- #define SDIO_STR_TXURE ((uint32_t)0x00000010) /*!< Transmit FIFO underrun error */
- #define SDIO_STR_RXORE ((uint32_t)0x00000020) /*!< Received FIFO overrun error */
- #define SDIO_STR_CMDREND ((uint32_t)0x00000040) /*!< Command response received (CRC check passed) */
- #define SDIO_STR_CMDSENT ((uint32_t)0x00000080) /*!< Command sent (no response required) */
- #define SDIO_STR_DTEND ((uint32_t)0x00000100) /*!< Data end (data counter, SDIDCOUNT, is zero) */
- #define SDIO_STR_STBITE ((uint32_t)0x00000200) /*!< Start bit not detected on all data signals in wide bus mode */
- #define SDIO_STR_DTBLKEND ((uint32_t)0x00000400) /*!< Data block sent/received (CRC check passed) */
- #define SDIO_STR_CMDRUN ((uint32_t)0x00000800) /*!< Command transfer in progress */
- #define SDIO_STR_TXRUN ((uint32_t)0x00001000) /*!< Data transmit in progress */
- #define SDIO_STR_RXRUN ((uint32_t)0x00002000) /*!< Data receive in progress */
- #define SDIO_STR_TXFIFOHE ((uint32_t)0x00004000) /*!< Transmit FIFO Half Empty: at least 8 words can be written into the FIFO */
- #define SDIO_STR_RXFIFOHF ((uint32_t)0x00008000) /*!< Receive FIFO Half Full: there are at least 8 words in the FIFO */
- #define SDIO_STR_TXFIFOF ((uint32_t)0x00010000) /*!< Transmit FIFO full */
- #define SDIO_STR_RXFIFOF ((uint32_t)0x00020000) /*!< Receive FIFO full */
- #define SDIO_STR_TXFIFOE ((uint32_t)0x00040000) /*!< Transmit FIFO empty */
- #define SDIO_STR_RXFIFOE ((uint32_t)0x00080000) /*!< Receive FIFO empty */
- #define SDIO_STR_TXDTVAL ((uint32_t)0x00100000) /*!< Data available in transmit FIFO */
- #define SDIO_STR_RXDTVAL ((uint32_t)0x00200000) /*!< Data available in receive FIFO */
- #define SDIO_STR_SDIOINT ((uint32_t)0x00400000) /*!< SDIO interrupt received */
- #define SDIO_STR_ATAEND ((uint32_t)0x00800000) /*!< CE-ATA command completion signal received for CMD61 */
- /******************* Bit definition for SDIO_INTCR register *****************/
- #define SDIO_INTCR_CCRCFAILC ((uint32_t)0x00000001) /*!< CCRCFAIL flag clear bit */
- #define SDIO_INTCR_DTCRCFAILC ((uint32_t)0x00000002) /*!< DTCRCFAIL flag clear bit */
- #define SDIO_INTCR_CMDTMOUTC ((uint32_t)0x00000004) /*!< CMDTMOUT flag clear bit */
- #define SDIO_INTCR_DTTMOUTC ((uint32_t)0x00000008) /*!< DTTMOUT flag clear bit */
- #define SDIO_INTCR_TXUREC ((uint32_t)0x00000010) /*!< TXURE flag clear bit */
- #define SDIO_INTCR_RXOREC ((uint32_t)0x00000020) /*!< RXORE flag clear bit */
- #define SDIO_INTCR_CMDRENDC ((uint32_t)0x00000040) /*!< CMDREND flag clear bit */
- #define SDIO_INTCR_CMDSENTC ((uint32_t)0x00000080) /*!< CMDSENT flag clear bit */
- #define SDIO_INTCR_DTENDC ((uint32_t)0x00000100) /*!< DTEND flag clear bit */
- #define SDIO_INTCR_STBITEC ((uint32_t)0x00000200) /*!< STBITE flag clear bit */
- #define SDIO_INTCR_DTBLKENDC ((uint32_t)0x00000400) /*!< DTBLKEND flag clear bit */
- #define SDIO_INTCR_SDIOINTC ((uint32_t)0x00400000) /*!< SDIOINT flag clear bit */
- #define SDIO_INTCR_ATAENDC ((uint32_t)0x00800000) /*!< ATAEND flag clear bit */
- /****************** Bit definition for SDIO_IER register ********************/
- #define SDIO_IER_CCRCFAILIE ((uint32_t)0x00000001) /*!< Command CRC Fail Interrupt Enable */
- #define SDIO_IER_DTCRCFAILIE ((uint32_t)0x00000002) /*!< Data CRC Fail Interrupt Enable */
- #define SDIO_IER_CMDTMOUTIE ((uint32_t)0x00000004) /*!< Command TimeOut Interrupt Enable */
- #define SDIO_IER_DTTMOUTIE ((uint32_t)0x00000008) /*!< Data TimeOut Interrupt Enable */
- #define SDIO_IER_TXUREIE ((uint32_t)0x00000010) /*!< Tx FIFO UnderRun Error Interrupt Enable */
- #define SDIO_IER_RXOREIE ((uint32_t)0x00000020) /*!< Rx FIFO OverRun Error Interrupt Enable */
- #define SDIO_IER_CMDRENDIE ((uint32_t)0x00000040) /*!< Command Response Received Interrupt Enable */
- #define SDIO_IER_CMDSENTIE ((uint32_t)0x00000080) /*!< Command Sent Interrupt Enable */
- #define SDIO_IER_DTENDIE ((uint32_t)0x00000100) /*!< Data End Interrupt Enable */
- #define SDIO_IER_STBITEIE ((uint32_t)0x00000200) /*!< Start Bit Error Interrupt Enable */
- #define SDIO_IER_DTBLKENDIE ((uint32_t)0x00000400) /*!< Data Block End Interrupt Enable */
- #define SDIO_IER_CMDRUNIE ((uint32_t)0x00000800) /*!< Command Acting Interrupt Enable */
- #define SDIO_IER_TXRUNIE ((uint32_t)0x00001000) /*!< Data Transmit Acting Interrupt Enable */
- #define SDIO_IER_RXRUNIE ((uint32_t)0x00002000) /*!< Data receive acting interrupt enabled */
- #define SDIO_IER_TXFIFOHEIE ((uint32_t)0x00004000) /*!< Tx FIFO Half Empty interrupt Enable */
- #define SDIO_IER_RXFIFOHFIE ((uint32_t)0x00008000) /*!< Rx FIFO Half Full interrupt Enable */
- #define SDIO_IER_TXFIFOFIE ((uint32_t)0x00010000) /*!< Tx FIFO Full interrupt Enable */
- #define SDIO_IER_RXFIFOFIE ((uint32_t)0x00020000) /*!< Rx FIFO Full interrupt Enable */
- #define SDIO_IER_TXFIFOEIE ((uint32_t)0x00040000) /*!< Tx FIFO Empty interrupt Enable */
- #define SDIO_IER_RXFIFOEIE ((uint32_t)0x00080000) /*!< Rx FIFO Empty interrupt Enable */
- #define SDIO_IER_TXDTVALIE ((uint32_t)0x00100000) /*!< Data available in Tx FIFO interrupt Enable */
- #define SDIO_IER_RXDTVALIE ((uint32_t)0x00200000) /*!< Data available in Rx FIFO interrupt Enable */
- #define SDIO_IER_SDIOINTIE ((uint32_t)0x00400000) /*!< SDIO Mode Interrupt Received interrupt Enable */
- #define SDIO_IER_ATAENDIE ((uint32_t)0x00800000) /*!< CE-ATA command completion signal received Interrupt Enable */
- /***************** Bit definition for SDIO_FIFOCNT register *****************/
- #define SDIO_FIFOCNT_FIFOCNT ((uint32_t)0x00FFFFFF) /*!< Remaining number of words to be written to or read from the FIFO */
- /****************** Bit definition for SDIO_FIFO register *******************/
- #define SDIO_FIFO_FIFODT ((uint32_t)0xFFFFFFFF) /*!< Receive and transmit FIFO data */
- /******************************************************************************/
- /* */
- /* Serial Peripheral Interface */
- /* */
- /******************************************************************************/
- /******************* Bit definition for SPI_CTLR1 register ********************/
- #define SPI_CTLR1_SCKPH ((uint16_t)0x0001) /*!< Clock Phase */
- #define SPI_CTLR1_SCKPL ((uint16_t)0x0002) /*!< Clock Polarity */
- #define SPI_CTLR1_MSTMODE ((uint16_t)0x0004) /*!< Master Selection */
- #define SPI_CTLR1_PSC ((uint16_t)0x0038) /*!< PSC[2:0] bits (Baud Rate Control) */
- #define SPI_CTLR1_PSC_0 ((uint16_t)0x0008) /*!< Bit 0 */
- #define SPI_CTLR1_PSC_1 ((uint16_t)0x0010) /*!< Bit 1 */
- #define SPI_CTLR1_PSC_2 ((uint16_t)0x0020) /*!< Bit 2 */
- #define SPI_CTLR1_SPIEN ((uint16_t)0x0040) /*!< SPI Enable */
- #define SPI_CTLR1_LF ((uint16_t)0x0080) /*!< Frame Format */
- #define SPI_CTLR1_SWNSS ((uint16_t)0x0100) /*!< Internal slave select */
- #define SPI_CTLR1_SWNSSEN ((uint16_t)0x0200) /*!< Software slave management */
- #define SPI_CTLR1_RO ((uint16_t)0x0400) /*!< Receive only */
- #define SPI_CTLR1_FF16 ((uint16_t)0x0800) /*!< Data Frame Format */
- #define SPI_CTLR1_CRCNT ((uint16_t)0x1000) /*!< Transmit CRC next */
- #define SPI_CTLR1_CRCEN ((uint16_t)0x2000) /*!< Hardware CRC calculation enable */
- #define SPI_CTLR1_BDOE ((uint16_t)0x4000) /*!< Output enable in bidirectional mode */
- #define SPI_CTLR1_BDM ((uint16_t)0x8000) /*!< Bidirectional data mode enable */
- /******************* Bit definition for SPI_CTLR2 register ********************/
- #define SPI_CTLR2_DMARE ((uint8_t)0x01) /*!< Rx Buffer DMA Enable */
- #define SPI_CTLR2_DMATE ((uint8_t)0x02) /*!< Tx Buffer DMA Enable */
- #define SPI_CTLR2_NSSDRV ((uint8_t)0x04) /*!< SS Output Enable */
- #define SPI_CTLR2_ERRIE ((uint8_t)0x20) /*!< Error Interrupt Enable */
- #define SPI_CTLR2_RBNEIE ((uint8_t)0x40) /*!< RX buffer Not Empty Interrupt Enable */
- #define SPI_CTLR2_TBEIE ((uint8_t)0x80) /*!< Tx buffer Empty Interrupt Enable */
- /******************** Bit definition for SPI_STR register ********************/
- #define SPI_STR_RBNE ((uint8_t)0x01) /*!< Receive buffer Not Empty */
- #define SPI_STR_TBE ((uint8_t)0x02) /*!< Transmit buffer Empty */
- #define SPI_STR_I2SCH ((uint8_t)0x04) /*!< Channel side */
- #define SPI_STR_TXURE ((uint8_t)0x08) /*!< Underrun flag */
- #define SPI_STR_CRCE ((uint8_t)0x10) /*!< CRC Error flag */
- #define SPI_STR_CONFE ((uint8_t)0x20) /*!< Mode fault */
- #define SPI_STR_RXORE ((uint8_t)0x40) /*!< Overrun flag */
- #define SPI_STR_TRANS ((uint8_t)0x80) /*!< Busy flag */
- /******************** Bit definition for SPI_DTR register ********************/
- #define SPI_DTR_DTR ((uint16_t)0xFFFF) /*!< Data Register */
- /******************* Bit definition for SPI_CRR register ******************/
- #define SPI_CPR_CPR ((uint16_t)0xFFFF) /*!< CRC polynomial register */
- /****************** Bit definition for SPI_RCR register ******************/
- #define SPI_RCR_RCR ((uint16_t)0xFFFF) /*!< Rx CRC Register */
- /****************** Bit definition for SPI_TCR register ******************/
- #define SPI_TCR_TCR ((uint16_t)0xFFFF) /*!< Tx CRC Register */
- /****************** Bit definition for SPI_I2SCTLR register *****************/
- #define SPI_I2SCTLR_CHLEN ((uint16_t)0x0001) /*!< Channel length (number of bits per audio channel) */
- #define SPI_I2SCTLR_DTLEN ((uint16_t)0x0006) /*!< DTLEN[1:0] bits (Data length to be transferred) */
- #define SPI_I2SCTLR_DTLEN_0 ((uint16_t)0x0002) /*!< Bit 0 */
- #define SPI_I2SCTLR_DTLEN_1 ((uint16_t)0x0004) /*!< Bit 1 */
- #define SPI_I2SCTLR_CKPL ((uint16_t)0x0008) /*!< steady state clock polarity */
- #define SPI_I2SCTLR_I2SSTD ((uint16_t)0x0030) /*!< I2SSTD[1:0] bits (I2S standard selection) */
- #define SPI_I2SCTLR_I2SSTD_0 ((uint16_t)0x0010) /*!< Bit 0 */
- #define SPI_I2SCTLR_I2SSTD_1 ((uint16_t)0x0020) /*!< Bit 1 */
- #define SPI_I2SCTLR_PCMSM ((uint16_t)0x0080) /*!< PCM frame synchronization */
- #define SPI_I2SCTLR_I2SOM ((uint16_t)0x0300) /*!< I2SOM[1:0] bits (I2S configuration mode) */
- #define SPI_I2SCTLR_I2SOM_0 ((uint16_t)0x0100) /*!< Bit 0 */
- #define SPI_I2SCTLR_I2SOM_1 ((uint16_t)0x0200) /*!< Bit 1 */
- #define SPI_I2SCTLR_I2SEN ((uint16_t)0x0400) /*!< I2S Enable */
- #define SPI_I2SCTLR_I2SSEL ((uint16_t)0x0800) /*!< I2S mode selection */
- /****************** Bit definition for SPI_I2SCKP register *******************/
- #define SPI_I2SCKP_DIV ((uint16_t)0x00FF) /*!< I2S Linear prescaler */
- #define SPI_I2SCKP_OF ((uint16_t)0x0100) /*!< Odd factor for the prescaler */
- #define SPI_I2SCKP_MCKOE ((uint16_t)0x0200) /*!< Master Clock Output Enable */
- /******************************************************************************/
- /* */
- /* Timers (TIMER) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for TIMER_CTLR1 register ********************/
- #define TIMER_CTLR1_CNTE ((uint16_t)0x0001) /*!<Counter enable */
- #define TIMER_CTLR1_UPDIS ((uint16_t)0x0002) /*!<Update disable */
- #define TIMER_CTLR1_UPS ((uint16_t)0x0004) /*!<Update request source */
- #define TIMER_CTLR1_SPM ((uint16_t)0x0008) /*!<One pulse mode */
- #define TIMER_CTLR1_DIR ((uint16_t)0x0010) /*!<Direction */
- #define TIMER_CTLR1_CAM ((uint16_t)0x0060) /*!<CAM[1:0] bits (Center-aligned mode selection) */
- #define TIMER_CTLR1_CAM_0 ((uint16_t)0x0020) /*!<Bit 0 */
- #define TIMER_CTLR1_CAM_1 ((uint16_t)0x0040) /*!<Bit 1 */
- #define TIMER_CTLR1_ARSE ((uint16_t)0x0080) /*!<Auto-reload preload enable */
- #define TIMER_CTLR1_CDIV ((uint16_t)0x0300) /*!<CDIV[1:0] bits (clock division) */
- #define TIMER_CTLR1_CDIV_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_CTLR1_CDIV_1 ((uint16_t)0x0200) /*!<Bit 1 */
- /******************* Bit definition for TIMER_CTLR2 register ********************/
- #define TIMER_CTLR2_CCSE ((uint16_t)0x0001) /*!<Capture/Compare Preloaded Control */
- #define TIMER_CTLR2_CCUC ((uint16_t)0x0004) /*!<Capture/Compare Control Update Selection */
- #define TIMER_CTLR2_DMAS ((uint16_t)0x0008) /*!<Capture/Compare DMA Selection */
- #define TIMER_CTLR2_MMC ((uint16_t)0x0070) /*!<MMC[2:0] bits (Master Mode Selection) */
- #define TIMER_CTLR2_MMC_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_CTLR2_MMC_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_CTLR2_MMC_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_CTLR2_TI1S ((uint16_t)0x0080) /*!<TI1 Selection */
- #define TIMER_CTLR2_ISO1 ((uint16_t)0x0100) /*!<Output Idle state 1 (OC1 output) */
- #define TIMER_CTLR2_ISO1N ((uint16_t)0x0200) /*!<Output Idle state 1 (OC1N output) */
- #define TIMER_CTLR2_ISO2 ((uint16_t)0x0400) /*!<Output Idle state 2 (OC2 output) */
- #define TIMER_CTLR2_ISO2N ((uint16_t)0x0800) /*!<Output Idle state 2 (OC2N output) */
- #define TIMER_CTLR2_ISO3 ((uint16_t)0x1000) /*!<Output Idle state 3 (OC3 output) */
- #define TIMER_CTLR2_ISO3N ((uint16_t)0x2000) /*!<Output Idle state 3 (OC3N output) */
- #define TIMER_CTLR2_ISO4 ((uint16_t)0x4000) /*!<Output Idle state 4 (OC4 output) */
- /******************* Bit definition for TIMER_SMC register *******************/
- #define TIMER_SMC_SMC ((uint16_t)0x0007) /*!<SMC[2:0] bits (Slave mode selection) */
- #define TIMER_SMC_SMC_0 ((uint16_t)0x0001) /*!<Bit 0 */
- #define TIMER_SMC_SMC_1 ((uint16_t)0x0002) /*!<Bit 1 */
- #define TIMER_SMC_SMC_2 ((uint16_t)0x0004) /*!<Bit 2 */
- #define TIMER_SMC_TRGS ((uint16_t)0x0070) /*!<TRGS[2:0] bits (Trigger selection) */
- #define TIMER_SMC_TRGS_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_SMC_TRGS_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_SMC_TRGS_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_SMC_MSM ((uint16_t)0x0080) /*!<Master/slave mode */
- #define TIMER_SMC_ETFC ((uint16_t)0x0F00) /*!<ETFC[3:0] bits (External trigger filter) */
- #define TIMER_SMC_ETFC_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_SMC_ETFC_1 ((uint16_t)0x0200) /*!<Bit 1 */
- #define TIMER_SMC_ETFC_2 ((uint16_t)0x0400) /*!<Bit 2 */
- #define TIMER_SMC_ETFC_3 ((uint16_t)0x0800) /*!<Bit 3 */
- #define TIMER_SMC_ETPSC ((uint16_t)0x3000) /*!<ETPSC[1:0] bits (External trigger prescaler) */
- #define TIMER_SMC_ETPSC_0 ((uint16_t)0x1000) /*!<Bit 0 */
- #define TIMER_SMC_ETPSC_1 ((uint16_t)0x2000) /*!<Bit 1 */
- #define TIMER_SMC_ECM2E ((uint16_t)0x4000) /*!<External clock enable */
- #define TIMER_SMC_ETPL ((uint16_t)0x8000) /*!<External trigger polarity */
- /******************* Bit definition for TIMER_DIE register *******************/
- #define TIMER_DIE_UPIE ((uint16_t)0x0001) /*!<Update interrupt enable */
- #define TIMER_DIE_CH1IE ((uint16_t)0x0002) /*!<Capture/Compare 1 interrupt enable */
- #define TIMER_DIE_CH2IE ((uint16_t)0x0004) /*!<Capture/Compare 2 interrupt enable */
- #define TIMER_DIE_CH3IE ((uint16_t)0x0008) /*!<Capture/Compare 3 interrupt enable */
- #define TIMER_DIE_CH4IE ((uint16_t)0x0010) /*!<Capture/Compare 4 interrupt enable */
- #define TIMER_DIE_CCUIE ((uint16_t)0x0020) /*!<COM interrupt enable */
- #define TIMER_DIE_TRGIE ((uint16_t)0x0040) /*!<Trigger interrupt enable */
- #define TIMER_DIE_BKIE ((uint16_t)0x0080) /*!<Break interrupt enable */
- #define TIMER_DIE_UPDE ((uint16_t)0x0100) /*!<Update DMA request enable */
- #define TIMER_DIE_CH1DE ((uint16_t)0x0200) /*!<Capture/Compare 1 DMA request enable */
- #define TIMER_DIE_CH2DE ((uint16_t)0x0400) /*!<Capture/Compare 2 DMA request enable */
- #define TIMER_DIE_CH3DE ((uint16_t)0x0800) /*!<Capture/Compare 3 DMA request enable */
- #define TIMER_DIE_CH4DE ((uint16_t)0x1000) /*!<Capture/Compare 4 DMA request enable */
- #define TIMER_DIE_CCUDE ((uint16_t)0x2000) /*!<COM DMA request enable */
- #define TIMER_DIE_TRGDE ((uint16_t)0x4000) /*!<Trigger DMA request enable */
- /******************** Bit definition for TIMER_STR register ********************/
- #define TIMER_STR_UPIF ((uint16_t)0x0001) /*!<Update interrupt Flag */
- #define TIMER_STR_CH1IF ((uint16_t)0x0002) /*!<Capture/Compare 1 interrupt Flag */
- #define TIMER_STR_CH2IF ((uint16_t)0x0004) /*!<Capture/Compare 2 interrupt Flag */
- #define TIMER_STR_CH3IF ((uint16_t)0x0008) /*!<Capture/Compare 3 interrupt Flag */
- #define TIMER_STR_CH4IF ((uint16_t)0x0010) /*!<Capture/Compare 4 interrupt Flag */
- #define TIMER_STR_CCUIF ((uint16_t)0x0020) /*!<COM interrupt Flag */
- #define TIMER_STR_TRGIF ((uint16_t)0x0040) /*!<Trigger interrupt Flag */
- #define TIMER_STR_BKIF ((uint16_t)0x0080) /*!<Break interrupt Flag */
- #define TIMER_STR_CH1OF ((uint16_t)0x0200) /*!<Capture/Compare 1 Overcapture Flag */
- #define TIMER_STR_CH2OF ((uint16_t)0x0400) /*!<Capture/Compare 2 Overcapture Flag */
- #define TIMER_STR_CH3OF ((uint16_t)0x0800) /*!<Capture/Compare 3 Overcapture Flag */
- #define TIMER_STR_CH4OF ((uint16_t)0x1000) /*!<Capture/Compare 4 Overcapture Flag */
- /******************* Bit definition for TIMER_EVG register ********************/
- #define TIMER_EVG_UPG ((uint8_t)0x01) /*!<Update Generation */
- #define TIMER_EVG_CH1G ((uint8_t)0x02) /*!<Capture/Compare 1 Generation */
- #define TIMER_EVG_CH2G ((uint8_t)0x04) /*!<Capture/Compare 2 Generation */
- #define TIMER_EVG_CH3G ((uint8_t)0x08) /*!<Capture/Compare 3 Generation */
- #define TIMER_EVG_CH4G ((uint8_t)0x10) /*!<Capture/Compare 4 Generation */
- #define TIMER_EVG_CCUG ((uint8_t)0x20) /*!<Capture/Compare Control Update Generation */
- #define TIMER_EVG_TRGG ((uint8_t)0x40) /*!<Trigger Generation */
- #define TIMER_EVG_BKG ((uint8_t)0x80) /*!<Break Generation */
- /****************** Bit definition for TIMER_CHCTLR1 register *******************/
- #define TIMER_CHCTLR1_CH1M ((uint16_t)0x0003) /*!<CH1M[1:0] bits (Capture/Compare 1 Selection) */
- #define TIMER_CHCTLR1_CH1M_0 ((uint16_t)0x0001) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH1M_1 ((uint16_t)0x0002) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH1OFE ((uint16_t)0x0004) /*!<Output Compare 1 Fast enable */
- #define TIMER_CHCTLR1_CH1OSE ((uint16_t)0x0008) /*!<Output Compare 1 Preload enable */
- #define TIMER_CHCTLR1_CH1OM ((uint16_t)0x0070) /*!<CH1OM[2:0] bits (Output Compare 1 Mode) */
- #define TIMER_CHCTLR1_CH1OM_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH1OM_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH1OM_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_CHCTLR1_CH1OCE ((uint16_t)0x0080) /*!<Output Compare 1Clear Enable */
- #define TIMER_CHCTLR1_CH2M ((uint16_t)0x0300) /*!<CH2M[1:0] bits (Capture/Compare 2 Selection) */
- #define TIMER_CHCTLR1_CH2M_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH2M_1 ((uint16_t)0x0200) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH2OFE ((uint16_t)0x0400) /*!<Output Compare 2 Fast enable */
- #define TIMER_CHCTLR1_CH2OSE ((uint16_t)0x0800) /*!<Output Compare 2 Preload enable */
- #define TIMER_CHCTLR1_CH2OM ((uint16_t)0x7000) /*!<CH2OM[2:0] bits (Output Compare 2 Mode) */
- #define TIMER_CHCTLR1_CH2OM_0 ((uint16_t)0x1000) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH2OM_1 ((uint16_t)0x2000) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH2OM_2 ((uint16_t)0x4000) /*!<Bit 2 */
- #define TIMER_CHCTLR1_CH2OCE ((uint16_t)0x8000) /*!<Output Compare 2 Clear Enable */
- /*----------------------------------------------------------------------------*/
- #define TIMER_CHCTLR1_CH1ICP ((uint16_t)0x000C) /*!<CH1ICP[1:0] bits (Input Capture 1 Prescaler) */
- #define TIMER_CHCTLR1_CH1ICP_0 ((uint16_t)0x0004) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH1ICP_1 ((uint16_t)0x0008) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH1ICF ((uint16_t)0x00F0) /*!<CH1ICF[3:0] bits (Input Capture 1 Filter) */
- #define TIMER_CHCTLR1_CH1ICF_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH1ICF_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH1ICF_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_CHCTLR1_CH1ICF_3 ((uint16_t)0x0080) /*!<Bit 3 */
- #define TIMER_CHCTLR1_CH2ICP ((uint16_t)0x0C00) /*!<CH2ICP[1:0] bits (Input Capture 2 Prescaler) */
- #define TIMER_CHCTLR1_CH2ICP_0 ((uint16_t)0x0400) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH2ICP_1 ((uint16_t)0x0800) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH2ICF ((uint16_t)0xF000) /*!<CH2ICF[3:0] bits (Input Capture 2 Filter) */
- #define TIMER_CHCTLR1_CH2ICF_0 ((uint16_t)0x1000) /*!<Bit 0 */
- #define TIMER_CHCTLR1_CH2ICF_1 ((uint16_t)0x2000) /*!<Bit 1 */
- #define TIMER_CHCTLR1_CH2ICF_2 ((uint16_t)0x4000) /*!<Bit 2 */
- #define TIMER_CHCTLR1_CH2ICF_3 ((uint16_t)0x8000) /*!<Bit 3 */
- /****************** Bit definition for TIMER_CHCTLR2 register *******************/
- #define TIMER_CHCTLR2_CH3M ((uint16_t)0x0003) /*!<CH3M[1:0] bits (Capture/Compare 3 Selection) */
- #define TIMER_CHCTLR2_CH3M_0 ((uint16_t)0x0001) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH3M_1 ((uint16_t)0x0002) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH3OFE ((uint16_t)0x0004) /*!<Output Compare 3 Fast enable */
- #define TIMER_CHCTLR2_CH3OSE ((uint16_t)0x0008) /*!<Output Compare 3 Preload enable */
- #define TIMER_CHCTLR2_CH3OM ((uint16_t)0x0070) /*!<CH3OM[2:0] bits (Output Compare 3 Mode) */
- #define TIMER_CHCTLR2_CH3OM_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH3OM_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH3OM_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_CHCTLR2_CH3OCE ((uint16_t)0x0080) /*!<Output Compare 3 Clear Enable */
- #define TIMER_CHCTLR2_CH4M ((uint16_t)0x0300) /*!<CH4M[1:0] bits (Capture/Compare 4 Selection) */
- #define TIMER_CHCTLR2_CH4M_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH4M_1 ((uint16_t)0x0200) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH4OFE ((uint16_t)0x0400) /*!<Output Compare 4 Fast enable */
- #define TIMER_CHCTLR2_CH4OSE ((uint16_t)0x0800) /*!<Output Compare 4 Preload enable */
- #define TIMER_CHCTLR2_CH4OM ((uint16_t)0x7000) /*!<CH4OM[2:0] bits (Output Compare 4 Mode) */
- #define TIMER_CHCTLR2_CH4OM_0 ((uint16_t)0x1000) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH4OM_1 ((uint16_t)0x2000) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH4OM_2 ((uint16_t)0x4000) /*!<Bit 2 */
- #define TIMER_CHCTLR2_CH4OCE ((uint16_t)0x8000) /*!<Output Compare 4 Clear Enable */
- /*----------------------------------------------------------------------------*/
- #define TIMER_CHCTLR2_CH3ICP ((uint16_t)0x000C) /*!<CH3ICP[1:0] bits (Input Capture 3 Prescaler) */
- #define TIMER_CHCTLR2_CH3ICP_0 ((uint16_t)0x0004) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH3ICP_1 ((uint16_t)0x0008) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH3ICF ((uint16_t)0x00F0) /*!<CH3ICF[3:0] bits (Input Capture 3 Filter) */
- #define TIMER_CHCTLR2_CH3ICF_0 ((uint16_t)0x0010) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH3ICF_1 ((uint16_t)0x0020) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH3ICF_2 ((uint16_t)0x0040) /*!<Bit 2 */
- #define TIMER_CHCTLR2_CH3ICF_3 ((uint16_t)0x0080) /*!<Bit 3 */
- #define TIMER_CHCTLR2_CH4ICP ((uint16_t)0x0C00) /*!<CH4ICP[1:0] bits (Input Capture 4 Prescaler) */
- #define TIMER_CHCTLR2_CH4ICP_0 ((uint16_t)0x0400) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH4ICP_1 ((uint16_t)0x0800) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH4ICF ((uint16_t)0xF000) /*!<CH4ICF[3:0] bits (Input Capture 4 Filter) */
- #define TIMER_CHCTLR2_CH4ICF_0 ((uint16_t)0x1000) /*!<Bit 0 */
- #define TIMER_CHCTLR2_CH4ICF_1 ((uint16_t)0x2000) /*!<Bit 1 */
- #define TIMER_CHCTLR2_CH4ICF_2 ((uint16_t)0x4000) /*!<Bit 2 */
- #define TIMER_CHCTLR2_CH4ICF_3 ((uint16_t)0x8000) /*!<Bit 3 */
- /******************* Bit definition for TIMER_CHE register *******************/
- #define TIMER_CHE_CH1E ((uint16_t)0x0001) /*!<Capture/Compare 1 output enable */
- #define TIMER_CHE_CH1P ((uint16_t)0x0002) /*!<Capture/Compare 1 output Polarity */
- #define TIMER_CHE_CH1NE ((uint16_t)0x0004) /*!<Capture/Compare 1 Complementary output enable */
- #define TIMER_CHE_CH1NP ((uint16_t)0x0008) /*!<Capture/Compare 1 Complementary output Polarity */
- #define TIMER_CHE_CH2E ((uint16_t)0x0010) /*!<Capture/Compare 2 output enable */
- #define TIMER_CHE_CH2P ((uint16_t)0x0020) /*!<Capture/Compare 2 output Polarity */
- #define TIMER_CHE_CH2NE ((uint16_t)0x0040) /*!<Capture/Compare 2 Complementary output enable */
- #define TIMER_CHE_CH2NP ((uint16_t)0x0080) /*!<Capture/Compare 2 Complementary output Polarity */
- #define TIMER_CHE_CH3E ((uint16_t)0x0100) /*!<Capture/Compare 3 output enable */
- #define TIMER_CHE_CH3P ((uint16_t)0x0200) /*!<Capture/Compare 3 output Polarity */
- #define TIMER_CHE_CH3NE ((uint16_t)0x0400) /*!<Capture/Compare 3 Complementary output enable */
- #define TIMER_CHE_CH3NP ((uint16_t)0x0800) /*!<Capture/Compare 3 Complementary output Polarity */
- #define TIMER_CHE_CH4E ((uint16_t)0x1000) /*!<Capture/Compare 4 output enable */
- #define TIMER_CHE_CH4P ((uint16_t)0x2000) /*!<Capture/Compare 4 output Polarity */
- #define TIMER_CHE_CH4NP ((uint16_t)0x8000) /*!<Capture/Compare 4 Complementary output Polarity */
- /******************* Bit definition for TIMER_CNT register ********************/
- #define TIMER_CNT_CNT ((uint16_t)0xFFFF) /*!<Counter Value */
- /******************* Bit definition for TIMER_PSC register ********************/
- #define TIMER_PSC_PSC ((uint16_t)0xFFFF) /*!<Prescaler Value */
- /******************* Bit definition for TIMER_CARL register ********************/
- #define TIMER_CARL_CARL ((uint16_t)0xFFFF) /*!<actual auto-reload Value */
- /******************* Bit definition for TIMER_CREP register ********************/
- #define TIMER_CREP_CREP ((uint8_t)0xFF) /*!<Repetition Counter Value */
- /******************* Bit definition for TIMER_CHCC1 register *******************/
- #define TIMER_CHCC1_CHCC1 ((uint16_t)0xFFFF) /*!<Capture/Compare 1 Value */
- /******************* Bit definition for TIMER_CHCC2 register *******************/
- #define TIMER_CHCC2_CHCC2 ((uint16_t)0xFFFF) /*!<Capture/Compare 2 Value */
- /******************* Bit definition for TIMER_CHCC3 register *******************/
- #define TIMER_CHCC3_CHCC3 ((uint16_t)0xFFFF) /*!<Capture/Compare 3 Value */
- /******************* Bit definition for TIMER_CHCC4 register *******************/
- #define TIMER_CHCC4_CHCC4 ((uint16_t)0xFFFF) /*!<Capture/Compare 4 Value */
- /******************* Bit definition for TIMER_BKDT register *******************/
- #define TIMER_BKDT_DT ((uint16_t)0x00FF) /*!<DT[0:7] bits (Dead-TIMERe Generator set-up) */
- #define TIMER_BKDT_DT_0 ((uint16_t)0x0001) /*!<Bit 0 */
- #define TIMER_BKDT_DT_1 ((uint16_t)0x0002) /*!<Bit 1 */
- #define TIMER_BKDT_DT_2 ((uint16_t)0x0004) /*!<Bit 2 */
- #define TIMER_BKDT_DT_3 ((uint16_t)0x0008) /*!<Bit 3 */
- #define TIMER_BKDT_DT_4 ((uint16_t)0x0010) /*!<Bit 4 */
- #define TIMER_BKDT_DT_5 ((uint16_t)0x0020) /*!<Bit 5 */
- #define TIMER_BKDT_DT_6 ((uint16_t)0x0040) /*!<Bit 6 */
- #define TIMER_BKDT_DT_7 ((uint16_t)0x0080) /*!<Bit 7 */
- #define TIMER_BKDT_LK ((uint16_t)0x0300) /*!<LK[1:0] bits (Lock Configuration) */
- #define TIMER_BKDT_LK_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_BKDT_LK_1 ((uint16_t)0x0200) /*!<Bit 1 */
- #define TIMER_BKDT_IOS ((uint16_t)0x0400) /*!<Off-State Selection for Idle mode */
- #define TIMER_BKDT_ROS ((uint16_t)0x0800) /*!<Off-State Selection for Run mode */
- #define TIMER_BKDT_BRKE ((uint16_t)0x1000) /*!<Break enable */
- #define TIMER_BKDT_BRKP ((uint16_t)0x2000) /*!<Break Polarity */
- #define TIMER_BKDT_OAE ((uint16_t)0x4000) /*!<Automatic Output enable */
- #define TIMER_BKDT_POE ((uint16_t)0x8000) /*!<Main Output enable */
- /******************* Bit definition for TIMER_DCTLR register ********************/
- #define TIMER_DCTLR_DBAR ((uint16_t)0x001F) /*!<DBAR[4:0] bits (DMA Base Address) */
- #define TIMER_DCTLR_DBAR_0 ((uint16_t)0x0001) /*!<Bit 0 */
- #define TIMER_DCTLR_DBAR_1 ((uint16_t)0x0002) /*!<Bit 1 */
- #define TIMER_DCTLR_DBAR_2 ((uint16_t)0x0004) /*!<Bit 2 */
- #define TIMER_DCTLR_DBAR_3 ((uint16_t)0x0008) /*!<Bit 3 */
- #define TIMER_DCTLR_DBAR_4 ((uint16_t)0x0010) /*!<Bit 4 */
- #define TIMER_DCTLR_DBLTH ((uint16_t)0x1F00) /*!<DBLTH[4:0] bits (DMA Burst Length) */
- #define TIMER_DCTLR_DBLTH_0 ((uint16_t)0x0100) /*!<Bit 0 */
- #define TIMER_DCTLR_DBLTH_1 ((uint16_t)0x0200) /*!<Bit 1 */
- #define TIMER_DCTLR_DBLTH_2 ((uint16_t)0x0400) /*!<Bit 2 */
- #define TIMER_DCTLR_DBLTH_3 ((uint16_t)0x0800) /*!<Bit 3 */
- #define TIMER_DCTLR_DBLTH_4 ((uint16_t)0x1000) /*!<Bit 4 */
- /******************* Bit definition for TIMER_DTRSF register *******************/
- #define TIMER_DTRSF_DTRSF ((uint16_t)0xFFFF) /*!<DMA register for burst accesses */
- /******************************************************************************/
- /* */
- /* Universal Synchronous Asynchronous Receiver Transmitter (USART) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for USART_STR register *******************/
- #define USART_STR_PE ((uint16_t)0x0001) /*!< Parity Error */
- #define USART_STR_FE ((uint16_t)0x0002) /*!< Framing Error */
- #define USART_STR_NE ((uint16_t)0x0004) /*!< Noise Error Flag */
- #define USART_STR_ORE ((uint16_t)0x0008) /*!< OverRun Error */
- #define USART_STR_IDLEF ((uint16_t)0x0010) /*!< IDLE Line Detected Flag*/
- #define USART_STR_RBNE ((uint16_t)0x0020) /*!< Read Data Buffer Not Empty */
- #define USART_STR_TC ((uint16_t)0x0040) /*!< Transmission Complete */
- #define USART_STR_TBE ((uint16_t)0x0080) /*!< Transmit Data Buffer Empty */
- #define USART_STR_LBDF ((uint16_t)0x0100) /*!< LIN Break Detected Flag */
- #define USART_STR_CTSF ((uint16_t)0x0200) /*!< CTS Flag */
- /******************* Bit definition for USART_DR register *******************/
- #define USART_DR_DR ((uint16_t)0x01FF) /*!< Data value */
- /******************* Bit definition for USART_BRR register *******************/
- #define USART_BRR_BRRF ((uint16_t)0x000F) /*!< Fraction of USARTDIV */
- #define USART_BRR_BRRM ((uint16_t)0xFFF0) /*!< Mantissa of USARTDIV */
- /******************* Bit definition for USART_CTLR1 register *******************/
- #define USART_CTLR1_SBKCMD ((uint16_t)0x0001) /*!< Send Break Command */
- #define USART_CTLR1_RWU ((uint16_t)0x0002) /*!< Receiver Wakeup */
- #define USART_CTLR1_REN ((uint16_t)0x0004) /*!< Receiver Enable */
- #define USART_CTLR1_TEN ((uint16_t)0x0008) /*!< Transmitter Enable */
- #define USART_CTLR1_IDIE ((uint16_t)0x0010) /*!< IDLE Interrupt Enable */
- #define USART_CTLR1_RBNEIE ((uint16_t)0x0020) /*!< RBNE Interrupt Enable */
- #define USART_CTLR1_TCIE ((uint16_t)0x0040) /*!< Transmission Complete Interrupt Enable */
- #define USART_CTLR1_TBEIE ((uint16_t)0x0080) /*!< TBE Interrupt Enable */
- #define USART_CTLR1_PEIE ((uint16_t)0x0100) /*!< PE Interrupt Enable */
- #define USART_CTLR1_PM ((uint16_t)0x0200) /*!< Parity Selection */
- #define USART_CTLR1_PCEN ((uint16_t)0x0400) /*!< Parity Control Enable */
- #define USART_CTLR1_WM ((uint16_t)0x0800) /*!< Wakeup method */
- #define USART_CTLR1_WL ((uint16_t)0x1000) /*!< Word Length */
- #define USART_CTLR1_UEN ((uint16_t)0x2000) /*!< USART Enable */
- #define USART_CTLR1_OVER8 ((uint16_t)0x8000) /*!< USART Oversmapling 8-bits */??????
- /****************** Bit definition for USART_CTLR2 register *******************/
- #define USART_CTLR2_ADD ((uint16_t)0x000F) /*!< Address of the USART node */
- #define USART_CTLR2_LBDL ((uint16_t)0x0020) /*!< LIN Break Detection Length */
- #define USART_CTLR2_LBDIE ((uint16_t)0x0040) /*!< LIN Break Detection Interrupt Enable */
- #define USART_CTLR2_LBCP ((uint16_t)0x0100) /*!< Last Bit Clock pulse */
- #define USART_CTLR2_CPH ((uint16_t)0x0200) /*!< Clock Phase */
- #define USART_CTLR2_CPL ((uint16_t)0x0400) /*!< Clock Polarity */
- #define USART_CTLR2_CKEN ((uint16_t)0x0800) /*!< Clock Enable */
- #define USART_CTLR2_STB ((uint16_t)0x3000) /*!< STOP[1:0] bits (STOP bits) */
- #define USART_CTLR2_STB_0 ((uint16_t)0x1000) /*!< Bit 0 */
- #define USART_CTLR2_STB_1 ((uint16_t)0x2000) /*!< Bit 1 */
- #define USART_CTLR2_LMEN ((uint16_t)0x4000) /*!< LIN Mode Enable */
- /****************** Bit definition for USART_CTLR3 register *******************/
- #define USART_CTLR3_ERIE ((uint16_t)0x0001) /*!< Error Interrupt Enable */
- #define USART_CTLR3_IREN ((uint16_t)0x0002) /*!< IrDA Mode Enable */
- #define USART_CTLR3_IRLP ((uint16_t)0x0004) /*!< IrDA Low-Power */
- #define USART_CTLR3_HDEN ((uint16_t)0x0008) /*!< Half-Duplex Enable */
- #define USART_CTLR3_NACK ((uint16_t)0x0010) /*!< Smartcard NACK Enable */
- #define USART_CTLR3_SCEN ((uint16_t)0x0020) /*!< Smartcard Mode Enable */
- #define USART_CTLR3_DENR ((uint16_t)0x0040) /*!< DMA Enable For Receiver */
- #define USART_CTLR3_DENT ((uint16_t)0x0080) /*!< DMA Enable For Transmitter */
- #define USART_CTLR3_RTSEN ((uint16_t)0x0100) /*!< RTS Enable */
- #define USART_CTLR3_CTSEN ((uint16_t)0x0200) /*!< CTS Enable */
- #define USART_CTLR3_CTSIE ((uint16_t)0x0400) /*!< CTS Interrupt Enable */
- #define USART_CTLR3_ONEBIT ((uint16_t)0x0800) /*!< One Bit method */?????
- /****************** Bit definition for USART_GTPR register ******************/
- #define USART_GTPR_PSC ((uint16_t)0x00FF) /*!< PSC[7:0] bits (Prescaler value) */
- #define USART_GTPR_PSC_0 ((uint16_t)0x0001) /*!< Bit 0 */
- #define USART_GTPR_PSC_1 ((uint16_t)0x0002) /*!< Bit 1 */
- #define USART_GTPR_PSC_2 ((uint16_t)0x0004) /*!< Bit 2 */
- #define USART_GTPR_PSC_3 ((uint16_t)0x0008) /*!< Bit 3 */
- #define USART_GTPR_PSC_4 ((uint16_t)0x0010) /*!< Bit 4 */
- #define USART_GTPR_PSC_5 ((uint16_t)0x0020) /*!< Bit 5 */
- #define USART_GTPR_PSC_6 ((uint16_t)0x0040) /*!< Bit 6 */
- #define USART_GTPR_PSC_7 ((uint16_t)0x0080) /*!< Bit 7 */
- #define USART_GTPR_GT ((uint16_t)0xFF00) /*!< Guard time value */
- /******************************************************************************/
- /* */
- /* Window WATCHDOG (WWDG) */
- /* */
- /******************************************************************************/
- /******************* Bit definition for WWDG_CTLR register ********************/
- #define WWDG_CTLR_CNT ((uint8_t)0x7F) /*!< CNT[6:0] bits (7-Bit counter (MSB to LSB)) */
- #define WWDG_CTLR_CNT0 ((uint8_t)0x01) /*!< Bit 0 */
- #define WWDG_CTLR_CNT1 ((uint8_t)0x02) /*!< Bit 1 */
- #define WWDG_CTLR_CNT2 ((uint8_t)0x04) /*!< Bit 2 */
- #define WWDG_CTLR_CNT3 ((uint8_t)0x08) /*!< Bit 3 */
- #define WWDG_CTLR_CNT4 ((uint8_t)0x10) /*!< Bit 4 */
- #define WWDG_CTLR_CNT5 ((uint8_t)0x20) /*!< Bit 5 */
- #define WWDG_CTLR_CNT6 ((uint8_t)0x40) /*!< Bit 6 */
- #define WWDG_CTLR_WDGEN ((uint8_t)0x80) /*!< Activation bit */
- /******************* Bit definition for WWDG_CFR register *******************/
- #define WWDG_CFR_WIN ((uint16_t)0x007F) /*!< WIN[6:0] bits (7-bit window value) */
- #define WWDG_CFR_WIN0 ((uint16_t)0x0001) /*!< Bit 0 */
- #define WWDG_CFR_WIN1 ((uint16_t)0x0002) /*!< Bit 1 */
- #define WWDG_CFR_WIN2 ((uint16_t)0x0004) /*!< Bit 2 */
- #define WWDG_CFR_WIN3 ((uint16_t)0x0008) /*!< Bit 3 */
- #define WWDG_CFR_WIN4 ((uint16_t)0x0010) /*!< Bit 4 */
- #define WWDG_CFR_WIN5 ((uint16_t)0x0020) /*!< Bit 5 */
- #define WWDG_CFR_WIN6 ((uint16_t)0x0040) /*!< Bit 6 */
- #define WWDG_CFR_PS ((uint16_t)0x0180) /*!< PS[1:0] bits (Timer Base) */
- #define WWDG_CFR_PS0 ((uint16_t)0x0080) /*!< Bit 0 */
- #define WWDG_CFR_PS1 ((uint16_t)0x0100) /*!< Bit 1 */
- #define WWDG_CFR_EWI ((uint16_t)0x0200) /*!< Early Wakeup Interrupt */
- /******************* Bit definition for WWDG_STR register ********************/
- #define WWDG_STR_EWIF ((uint8_t)0x01) /*!< Early Wakeup Interrupt Flag */
- /**
- * @}
- */
- /**
- * @}
- */
- #ifdef USE_STDPERIPH_DRIVER
- #include "gd32f10x_conf.h"
- #endif
- /** @addtogroup Exported_macro
- * @{
- */
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* __GD32F10X_H */
- /**
- * @}
- */
- /**
- * @}
- */
|