stm32f4xx_hal_adc.lst 325 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189
  1. ARM GAS /tmp/ccY0CtDt.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .eabi_attribute 27, 1
  4. 3 .eabi_attribute 28, 1
  5. 4 .eabi_attribute 20, 1
  6. 5 .eabi_attribute 21, 1
  7. 6 .eabi_attribute 23, 3
  8. 7 .eabi_attribute 24, 1
  9. 8 .eabi_attribute 25, 1
  10. 9 .eabi_attribute 26, 1
  11. 10 .eabi_attribute 30, 1
  12. 11 .eabi_attribute 34, 1
  13. 12 .eabi_attribute 18, 4
  14. 13 .file "stm32f4xx_hal_adc.c"
  15. 14 .text
  16. 15 .Ltext0:
  17. 16 .cfi_sections .debug_frame
  18. 17 .section .text.ADC_Init,"ax",%progbits
  19. 18 .align 1
  20. 19 .syntax unified
  21. 20 .thumb
  22. 21 .thumb_func
  23. 22 .fpu fpv4-sp-d16
  24. 24 ADC_Init:
  25. 25 .LFB152:
  26. 26 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c"
  27. 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  28. 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ******************************************************************************
  29. 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @file stm32f4xx_hal_adc.c
  30. 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @author MCD Application Team
  31. 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following
  32. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * functionalities of the Analog to Digital Convertor (ADC) peripheral:
  33. 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + Initialization and de-initialization functions
  34. 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + IO operation functions
  35. 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * + State and errors functions
  36. 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  37. 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim
  38. 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  39. 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### ADC Peripheral features #####
  40. 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  41. 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  42. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution.
  43. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Interrupt generation at the end of conversion, end of injected conversion,
  44. 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and in case of analog watchdog or overrun events
  45. 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Single and continuous conversion modes.
  46. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Scan mode for automatic conversion of channel 0 to channel x.
  47. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Data alignment with in-built data coherency.
  48. 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Channel-wise programmable sampling time.
  49. 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) External trigger option with configurable polarity for both regular and
  50. 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** injected conversion.
  51. 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Dual/Triple mode (on devices with 2 ADCs or more).
  52. 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable DMA data storage in Dual/Triple ADC mode.
  53. 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configurable delay between conversions in Dual/Triple interleaved mode.
  54. 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC conversion type (refer to the datasheets).
  55. 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at
  56. 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** slower speed.
  57. 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC input range: VREF(minus) = VIN = VREF(plus).
  58. 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) DMA request generation during regular channel conversion.
  59. ARM GAS /tmp/ccY0CtDt.s page 2
  60. 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  61. 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  62. 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### How to use this driver #####
  63. 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  64. 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  65. 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#)Initialize the ADC low level resources by implementing the HAL_ADC_MspInit():
  66. 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) Enable the ADC interface clock using __HAL_RCC_ADC_CLK_ENABLE()
  67. 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) ADC pins configuration
  68. 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the clock for the ADC GPIOs using the following function:
  69. 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_RCC_GPIOx_CLK_ENABLE()
  70. 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure these ADC pins in analog mode using HAL_GPIO_Init()
  71. 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using interrupts (e.g. HAL_ADC_Start_IT())
  72. 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the ADC interrupt priority using HAL_NVIC_SetPriority()
  73. 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the ADC IRQ handler using HAL_NVIC_EnableIRQ()
  74. 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) In ADC IRQ handler, call HAL_ADC_IRQHandler()
  75. 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (##) In case of using DMA to control data transfer (e.g. HAL_ADC_Start_DMA())
  76. 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Enable the DMAx interface clock using __HAL_RCC_DMAx_CLK_ENABLE()
  77. 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure and enable two DMA streams stream for managing data
  78. 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer from peripheral to memory (output stream)
  79. 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Associate the initialized DMA handle to the CRYP DMA handle
  80. 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using __HAL_LINKDMA()
  81. 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
  82. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** interrupt on the two DMA Streams. The output stream should have higher
  83. 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** priority than the input stream.
  84. 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  85. 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Configuration of ADC, groups regular/injected, channels parameters ***
  86. 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  87. 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  88. 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...)
  89. 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...)
  90. 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_Init().
  91. 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  92. 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number,
  93. 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into regular group)
  94. 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADC_ConfigChannel().
  95. 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  96. 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the injected group parameters (conversion trigger,
  97. 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** sequencer, ..., of injected group)
  98. 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the channels for injected group parameters (channel number,
  99. 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** channel rank into sequencer, ..., into injected group)
  100. 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using function HAL_ADCEx_InjectedConfigChannel().
  101. 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  102. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels
  103. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** monitored, thresholds, ...) using function HAL_ADC_AnalogWDGConfig().
  104. 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  105. 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, for devices with several ADC instances: configure the
  106. 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** multimode parameters using function HAL_ADCEx_MultiModeConfigChannel().
  107. 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  108. 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Execution of ADC conversions ***
  109. 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  110. 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  111. 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption,
  112. 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** transfer by DMA.
  113. 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  114. 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Polling mode IO operation ***
  115. 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =================================
  116. 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  117. ARM GAS /tmp/ccY0CtDt.s page 3
  118. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start()
  119. 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Wait for end of conversion using HAL_ADC_PollForConversion(), at this stage
  120. 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** user can specify the value of timeout according to his end application
  121. 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) To read the ADC converted values, use the HAL_ADC_GetValue() function.
  122. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop()
  123. 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  124. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Interrupt mode IO operation ***
  125. 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===================================
  126. 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  127. 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_IT()
  128. 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Use HAL_ADC_IRQHandler() called under ADC_IRQHandler() Interrupt subroutine
  129. 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At ADC end of conversion HAL_ADC_ConvCpltCallback() function is executed and user can
  130. 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback
  131. 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of ADC Error, HAL_ADC_ErrorCallback() function is executed and user can
  132. 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback
  133. 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_IT()
  134. 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  135. 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** DMA mode IO operation ***
  136. 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================
  137. 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  138. 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start the ADC peripheral using HAL_ADC_Start_DMA(), at this stage the user specify the l
  139. 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** of data to be transferred at each end of conversion
  140. 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) At The end of data transfer by HAL_ADC_ConvCpltCallback() function is executed and user
  141. 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ConvCpltCallback
  142. 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) In case of transfer Error, HAL_ADC_ErrorCallback() function is executed and user can
  143. 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** add his own code by customization of function pointer HAL_ADC_ErrorCallback
  144. 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop the ADC peripheral using HAL_ADC_Stop_DMA()
  145. 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  146. 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** ADC HAL driver macros list ***
  147. 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** =============================================
  148. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  149. 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Below the list of most used macros in ADC HAL driver.
  150. 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  151. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE : Enable the ADC peripheral
  152. 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE : Disable the ADC peripheral
  153. 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_ENABLE_IT: Enable the ADC end of conversion interrupt
  154. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_DISABLE_IT: Disable the ADC end of conversion interrupt
  155. 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_IT_SOURCE: Check if the specified ADC interrupt source is enabled or disabl
  156. 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_CLEAR_FLAG: Clear the ADC's pending flags
  157. 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) __HAL_ADC_GET_FLAG: Get the selected ADC's flag status
  158. 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ADC_GET_RESOLUTION: Return resolution bits in CR1 register
  159. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  160. 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  161. 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (@) You can refer to the ADC HAL driver header file for more useful macros
  162. 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  163. 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Deinitialization of ADC ***
  164. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  165. 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  166. 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Disable the ADC interface
  167. 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level.
  168. 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Hard reset of ADC peripherals
  169. 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using macro __HAL_RCC_ADC_FORCE_RESET(), __HAL_RCC_ADC_RELEASE_RESET().
  170. 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) ADC clock disable using the equivalent macro/functions as configuration step.
  171. 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) Example:
  172. 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with
  173. 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** other device clock parameters configuration:
  174. 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_GetOscConfig(&RCC_OscInitStructure);
  175. ARM GAS /tmp/ccY0CtDt.s page 4
  176. 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  177. 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSIState = RCC_HSI_OFF; (if not used for system clock)
  178. 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure);
  179. 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  180. 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) ADC pins configuration
  181. 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs using macro __HAL_RCC_GPIOx_CLK_DISABLE()
  182. 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  183. 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions:
  184. 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for ADC using function HAL_NVIC_DisableIRQ(ADCx_IRQn)
  185. 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  186. 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (#) Optionally, in case of usage of DMA:
  187. 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Deinitialize the DMA using function HAL_DMA_DeInit().
  188. 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (++) Disable the NVIC for DMA using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn)
  189. 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *** Callback registration ***
  190. 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ==============================================================================
  191. 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  192. 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  193. 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1,
  194. 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks.
  195. 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use Functions @ref HAL_ADC_RegisterCallback()
  196. 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** to register an interrupt callback.
  197. 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  198. 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  199. 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Function @ref HAL_ADC_RegisterCallback() allows to register following callbacks:
  200. 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
  201. 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
  202. 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
  203. 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
  204. 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback
  205. 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback
  206. 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback
  207. 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback
  208. 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback
  209. 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
  210. 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
  211. 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
  212. 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and a pointer to the user callback function.
  213. 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  214. 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  215. 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Use function @ref HAL_ADC_UnRegisterCallback to reset a callback to the default
  216. 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** weak function.
  217. 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  218. 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  219. 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @ref HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle,
  220. 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** and the Callback ID.
  221. 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This function allows to reset following callbacks:
  222. 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
  223. 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
  224. 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
  225. 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
  226. 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedConvCpltCallback : ADC group injected conversion complete callback
  227. 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) InjectedQueueOverflowCallback : ADC group injected context queue overflow callback
  228. 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow2Callback : ADC analog watchdog 2 callback
  229. 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) LevelOutOfWindow3Callback : ADC analog watchdog 3 callback
  230. 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) EndOfSamplingCallback : ADC end of sampling callback
  231. 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
  232. 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
  233. ARM GAS /tmp/ccY0CtDt.s page 5
  234. 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  235. 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  236. 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** By default, after the @ref HAL_ADC_Init() and when the state is @ref HAL_ADC_STATE_RESET
  237. 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** all callbacks are set to the corresponding weak functions:
  238. 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** examples @ref HAL_ADC_ConvCpltCallback(), @ref HAL_ADC_ErrorCallback().
  239. 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are
  240. 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** reset to the legacy weak functions in the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit() only when
  241. 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** these callbacks are null (not registered beforehand).
  242. 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  243. 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  244. 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** If MspInit or MspDeInit are not null, the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit()
  245. 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
  246. 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  247. 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  248. 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Callbacks can be registered/unregistered in @ref HAL_ADC_STATE_READY state only.
  249. 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
  250. 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** in @ref HAL_ADC_STATE_READY or @ref HAL_ADC_STATE_RESET state,
  251. 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
  252. 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  253. 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  254. 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
  255. 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** using @ref HAL_ADC_RegisterCallback() before calling @ref HAL_ADC_DeInit()
  256. 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** or @ref HAL_ADC_Init() function.
  257. 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  258. 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  259. 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or
  260. 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks
  261. 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** are set to the corresponding weak functions.
  262. 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  263. 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim
  264. 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ******************************************************************************
  265. 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @attention
  266. 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  267. 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
  268. 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * All rights reserved.</center></h2>
  269. 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  270. 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This software component is licensed by ST under BSD 3-Clause license,
  271. 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the "License"; You may not use this file except in compliance with the
  272. 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * License. You may obtain a copy of the License at:
  273. 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * opensource.org/licenses/BSD-3-Clause
  274. 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  275. 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ******************************************************************************
  276. 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  277. 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  278. 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/
  279. 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #include "stm32f4xx_hal.h"
  280. 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  281. 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup STM32F4xx_HAL_Driver
  282. 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  283. 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  284. 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  285. 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC ADC
  286. 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC driver modules
  287. 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  288. 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  289. 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  290. 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED
  291. ARM GAS /tmp/ccY0CtDt.s page 6
  292. 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  293. 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/
  294. 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/
  295. 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/
  296. 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/
  297. 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions
  298. 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  299. 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  300. 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/
  301. 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef* hadc);
  302. 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma);
  303. 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma);
  304. 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma);
  305. 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  306. 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @}
  307. 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  308. 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Exported functions --------------------------------------------------------*/
  309. 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions
  310. 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  311. 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  312. 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  313. 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization and de-initialization functions
  314. 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initialization and Configuration functions
  315. 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  316. 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim
  317. 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  318. 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Initialization and de-initialization functions #####
  319. 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  320. 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to:
  321. 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Initialize and configure the ADC.
  322. 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) De-initialize the ADC.
  323. 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  324. 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim
  325. 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  326. 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  327. 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  328. 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  329. 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters
  330. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct and initializes the ADC MSP.
  331. 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  332. 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function is used to configure the global features of the ADC (
  333. 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ClockPrescaler, Resolution, Data Alignment and number of conversion), however,
  334. 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the rest of the configuration parameters are specific to the regular
  335. 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * channels group (scan mode activation, continuous mode activation,
  336. 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * External trigger source and edge, DMA continuous request after the
  337. 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * last transfer and End of conversion selection).
  338. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  339. 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  340. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  341. 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  342. 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  343. 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc)
  344. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  345. 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  346. 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  347. 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */
  348. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc == NULL)
  349. ARM GAS /tmp/ccY0CtDt.s page 7
  350. 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  351. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR;
  352. 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  353. 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  354. 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  355. 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  356. 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler));
  357. 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution));
  358. 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ScanConvMode));
  359. 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
  360. 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG(hadc->Init.ExternalTrigConv));
  361. 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign));
  362. 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion));
  363. 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests));
  364. 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection));
  365. 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode));
  366. 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  367. 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START)
  368. 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  369. 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
  370. 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  371. 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  372. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->State == HAL_ADC_STATE_RESET)
  373. 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  374. 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  375. 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the ADC Callback settings */
  376. 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak
  377. 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak
  378. 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak
  379. 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak
  380. 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback; /* Legacy weak
  381. 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspInitCallback == NULL)
  382. 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  383. 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
  384. 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  385. 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  386. 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */
  387. 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback(hadc);
  388. 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  389. 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Init the low level hardware */
  390. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspInit(hadc);
  391. 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  392. 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  393. 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Initialize ADC error code */
  394. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  395. 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  396. 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Allocate lock resource and initialize it */
  397. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED;
  398. 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  399. 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  400. 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
  401. 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */
  402. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL))
  403. 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  404. 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  405. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  406. 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  407. ARM GAS /tmp/ccY0CtDt.s page 8
  408. 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL);
  409. 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  410. 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */
  411. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Init(hadc);
  412. 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  413. 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */
  414. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  415. 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  416. 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC state */
  417. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  418. 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
  419. 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY);
  420. 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  421. 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  422. 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  423. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
  424. 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  425. 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  426. 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Release Lock */
  427. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  428. 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  429. 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  430. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status;
  431. 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  432. 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  433. 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  434. 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Deinitializes the ADCx peripheral registers to their default reset values.
  435. 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  436. 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  437. 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  438. 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  439. 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc)
  440. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  441. 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  442. 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  443. 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check ADC handle */
  444. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc == NULL)
  445. 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  446. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR;
  447. 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  448. 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  449. 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  450. 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  451. 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  452. 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  453. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL);
  454. 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  455. 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */
  456. 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */
  457. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
  458. 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  459. 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
  460. 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* correctly completed. */
  461. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON))
  462. 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  463. 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  464. 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL)
  465. ARM GAS /tmp/ccY0CtDt.s page 9
  466. 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  467. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
  468. 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  469. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  470. 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */
  471. 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback(hadc);
  472. 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  473. 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DeInit the low level hardware: RCC clock, NVIC */
  474. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc);
  475. 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  476. 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  477. 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to none */
  478. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  479. 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  480. 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  481. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET;
  482. 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  483. 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  484. 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  485. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  486. 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  487. 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  488. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status;
  489. 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  490. 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  491. 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  492. 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  493. 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Register a User ADC Callback
  494. 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * To be used instead of the weak predefined callback
  495. 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
  496. 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  497. 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered
  498. 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values:
  499. 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
  500. 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call
  501. 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID
  502. 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
  503. 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
  504. 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_QUEUE_OVEFLOW_CB_ID ADC group injected context queue over
  505. 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
  506. 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
  507. 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pCallback pointer to the Callback function
  508. 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  509. 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  510. 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb
  511. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  512. 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
  513. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  514. 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (pCallback == NULL)
  515. 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  516. 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  517. 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  518. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  519. 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR;
  520. 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  521. 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  522. 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL)
  523. ARM GAS /tmp/ccY0CtDt.s page 10
  524. 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  525. 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID)
  526. 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  527. 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
  528. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback;
  529. 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  530. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  531. 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
  532. 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback;
  533. 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  534. 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  535. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
  536. 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback;
  537. 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  538. 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  539. 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
  540. 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = pCallback;
  541. 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  542. 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  543. 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID :
  544. 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = pCallback;
  545. 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  546. 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  547. 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
  548. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
  549. 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  550. 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  551. 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
  552. 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
  553. 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  554. 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  555. 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default :
  556. 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  557. 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  558. 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  559. 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  560. 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  561. 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  562. 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  563. 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  564. 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
  565. 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  566. 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID)
  567. 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  568. 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
  569. 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
  570. 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  571. 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  572. 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
  573. 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
  574. 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  575. 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  576. 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default :
  577. 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  578. 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  579. 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  580. 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  581. ARM GAS /tmp/ccY0CtDt.s page 11
  582. 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  583. 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  584. 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  585. 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  586. 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  587. 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  588. 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  589. 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  590. 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  591. 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  592. 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  593. 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  594. 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  595. 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status;
  596. 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  597. 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  598. 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  599. 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Unregister a ADC Callback
  600. 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback
  601. 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
  602. 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  603. 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered
  604. 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values:
  605. 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
  606. 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion DMA half-transfer call
  607. 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID
  608. 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
  609. 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
  610. 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_QUEUE_OVEFLOW_CB_ID ADC group injected context queue over
  611. 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
  612. 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
  613. 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  614. 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  615. 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal
  616. 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  617. 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
  618. 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  619. 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0UL)
  620. 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  621. 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID)
  622. 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  623. 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
  624. 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback;
  625. 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  626. 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  627. 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
  628. 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback;
  629. 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  630. 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  631. 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
  632. 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback;
  633. 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  634. 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  635. 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
  636. 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback;
  637. 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  638. 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  639. ARM GAS /tmp/ccY0CtDt.s page 12
  640. 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID :
  641. 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback = HAL_ADCEx_InjectedConvCpltCallback;
  642. 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  643. 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  644. 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
  645. 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
  646. 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  647. 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  648. 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
  649. 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
  650. 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  651. 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  652. 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default :
  653. 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  654. 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  655. 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  656. 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  657. 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  658. 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  659. 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  660. 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  661. 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
  662. 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  663. 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** switch (CallbackID)
  664. 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  665. 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
  666. 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit
  667. 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  668. 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  669. 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
  670. 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit
  671. 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  672. 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  673. 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** default :
  674. 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  675. 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  676. 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  677. 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  678. 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  679. 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** break;
  680. 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  681. 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  682. 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  683. 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  684. 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update the error code */
  685. 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
  686. 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  687. 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return error status */
  688. 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** status = HAL_ERROR;
  689. 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  690. 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  691. 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return status;
  692. 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  693. 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  694. 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  695. 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  696. 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  697. ARM GAS /tmp/ccY0CtDt.s page 13
  698. 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADC MSP.
  699. 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  700. 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  701. 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  702. 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  703. 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
  704. 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  705. 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  706. 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  707. 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  708. 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspInit could be implemented in the user file
  709. 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  710. 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  711. 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  712. 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  713. 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DeInitializes the ADC MSP.
  714. 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  715. 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  716. 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  717. 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  718. 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
  719. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  720. 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  721. 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  722. 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  723. 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_MspDeInit could be implemented in the user file
  724. 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  725. 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  726. 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  727. 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  728. 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @}
  729. 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  730. 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  731. 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions
  732. 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief IO operation functions
  733. 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  734. 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim
  735. 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  736. 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### IO operation functions #####
  737. 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  738. 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to:
  739. 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel.
  740. 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel.
  741. 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable interrupt.
  742. 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable interrupt.
  743. 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Start conversion of regular channel and enable DMA transfer.
  744. 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Stop conversion of regular channel and disable DMA transfer.
  745. 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Handle ADC interrupt request.
  746. 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  747. 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim
  748. 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  749. 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  750. 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  751. 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  752. 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC and starts conversion of the regular channels.
  753. 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  754. 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  755. ARM GAS /tmp/ccY0CtDt.s page 14
  756. 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  757. 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  758. 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc)
  759. 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  760. 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  761. 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  762. 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  763. 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  764. 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
  765. 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
  766. 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  767. 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  768. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  769. 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  770. 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */
  771. 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during
  772. 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */
  773. 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
  774. 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  775. 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */
  776. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc);
  777. 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  778. 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */
  779. 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
  780. 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U));
  781. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  782. 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  783. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--;
  784. 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  785. 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  786. 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  787. 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
  788. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON))
  789. 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  790. 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  791. 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
  792. 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */
  793. 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  794. 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  795. 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
  796. 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  797. 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */
  798. 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */
  799. 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET)
  800. 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  801. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY);
  802. 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  803. 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  804. 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */
  805. 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  806. 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  807. 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */
  808. 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA));
  809. 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  810. 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  811. 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  812. 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */
  813. ARM GAS /tmp/ccY0CtDt.s page 15
  814. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  815. 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  816. 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  817. 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  818. 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
  819. 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
  820. 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  821. 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  822. 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */
  823. 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */
  824. 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */
  825. 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc);
  826. 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  827. 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
  828. 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */
  829. 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR);
  830. 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  831. 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */
  832. 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI))
  833. 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  834. 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  835. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  836. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  837. 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  838. 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  839. 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */
  840. 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)
  841. 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  842. 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  843. 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  844. 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  845. 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  846. 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  847. 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  848. 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  849. 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  850. 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  851. 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software
  852. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET))
  853. 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  854. 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  855. 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  856. 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  857. 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  858. 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  859. 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  860. 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  861. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  862. 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  863. 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  864. 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  865. 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC and stop conversion of regular channels.
  866. 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  867. 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels.
  868. 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  869. 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  870. 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  871. ARM GAS /tmp/ccY0CtDt.s page 16
  872. 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  873. 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status.
  874. 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  875. 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc)
  876. 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  877. 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  878. 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  879. 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  880. 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  881. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  882. 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  883. 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */
  884. 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */
  885. 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
  886. 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  887. 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */
  888. 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON))
  889. 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  890. 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  891. 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  892. 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  893. 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY);
  894. 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  895. 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  896. 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  897. 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  898. 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  899. 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  900. 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  901. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  902. 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  903. 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  904. 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for regular conversion complete
  905. 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of
  906. 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * conversion) are cleared by this function.
  907. 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured
  908. 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init
  909. 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV).
  910. 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be
  911. 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still
  912. 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * be performed on the complete sequence.
  913. 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  914. 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  915. 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
  916. 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  917. 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  918. 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout)
  919. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  920. 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U;
  921. 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  922. 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */
  923. 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* each conversion: */
  924. 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */
  925. 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */
  926. 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */
  927. 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ADC configured in DMA mode and polling for end of each conversion. */
  928. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) &&
  929. ARM GAS /tmp/ccY0CtDt.s page 17
  930. 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) )
  931. 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  932. 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to error */
  933. 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
  934. 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  935. 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  936. 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  937. 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  938. 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_ERROR;
  939. 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  940. 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  941. 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */
  942. 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick();
  943. 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  944. 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag */
  945. 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC)))
  946. 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  947. 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */
  948. 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
  949. 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  950. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart ) > Timeout))
  951. 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  952. 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */
  953. 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
  954. 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  955. 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  956. 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  957. 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  958. 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT;
  959. 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  960. 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  961. 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  962. 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  963. 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */
  964. 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC);
  965. 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  966. 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */
  967. 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
  968. 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  969. 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
  970. 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
  971. 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */
  972. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */
  973. 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */
  974. 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */
  975. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  976. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  977. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  978. 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  979. 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  980. 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  981. 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY);
  982. 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  983. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  984. 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  985. 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY);
  986. 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  987. ARM GAS /tmp/ccY0CtDt.s page 18
  988. 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  989. 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  990. 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */
  991. 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  992. 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  993. 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  994. 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  995. 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Poll for conversion event
  996. 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  997. 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  998. 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param EventType the ADC event type.
  999. 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * This parameter can be one of the following values:
  1000. 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watch Dog event.
  1001. 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event.
  1002. 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
  1003. 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  1004. 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1005. 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou
  1006. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1007. 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U;
  1008. 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1009. 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1010. 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  1011. 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType));
  1012. 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1013. 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Get tick */
  1014. 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tickstart = HAL_GetTick();
  1015. 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1016. 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check selected event flag */
  1017. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(!(__HAL_ADC_GET_FLAG(hadc,EventType)))
  1018. 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1019. 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check for the Timeout */
  1020. 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
  1021. 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1022. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart ) > Timeout))
  1023. 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1024. 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine to timeout */
  1025. 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
  1026. 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1027. 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1028. 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1029. 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1030. 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_TIMEOUT;
  1031. 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1032. 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1033. 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1034. 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1035. 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Analog watchdog (level out of window) event */
  1036. 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(EventType == ADC_AWD_EVENT)
  1037. 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1038. 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1039. 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
  1040. 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1041. 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC analog watchdog flag */
  1042. 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
  1043. 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1044. 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Overrun event */
  1045. ARM GAS /tmp/ccY0CtDt.s page 19
  1046. 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1047. 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1048. 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1049. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR);
  1050. 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */
  1051. 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
  1052. 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1053. 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */
  1054. 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
  1055. 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1056. 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1057. 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */
  1058. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1059. 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1060. 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1061. 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1062. 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1063. 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables the interrupt and starts ADC conversion of regular channels.
  1064. 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1065. 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1066. 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status.
  1067. 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1068. 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc)
  1069. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1070. 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  1071. 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  1072. 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1073. 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1074. 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
  1075. 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
  1076. 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1077. 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1078. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1079. 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1080. 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */
  1081. 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during
  1082. 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */
  1083. 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
  1084. 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1085. 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */
  1086. 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc);
  1087. 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1088. 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */
  1089. 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
  1090. 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U));
  1091. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  1092. 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1093. 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--;
  1094. 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1095. 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1096. 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1097. 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
  1098. 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON))
  1099. 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1100. 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1101. 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
  1102. 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */
  1103. ARM GAS /tmp/ccY0CtDt.s page 20
  1104. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  1105. 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  1106. 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
  1107. 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1108. 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */
  1109. 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */
  1110. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET)
  1111. 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1112. 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY);
  1113. 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1114. 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1115. 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */
  1116. 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  1117. 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1118. 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */
  1119. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA));
  1120. 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1121. 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1122. 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1123. 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */
  1124. 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  1125. 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1126. 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1127. 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1128. 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
  1129. 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
  1130. 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1131. 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1132. 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */
  1133. 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */
  1134. 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */
  1135. 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc);
  1136. 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1137. 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
  1138. 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */
  1139. 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR);
  1140. 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1141. 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable end of conversion interrupt for regular group */
  1142. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR));
  1143. 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1144. 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */
  1145. 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI))
  1146. 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1147. 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  1148. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  1149. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  1150. 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1151. 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  1152. 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */
  1153. 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)
  1154. 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1155. 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  1156. 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  1157. 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1158. 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  1159. 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1160. 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  1161. ARM GAS /tmp/ccY0CtDt.s page 21
  1162. 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1163. 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1164. 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1165. 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software
  1166. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET))
  1167. 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1168. 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  1169. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  1170. 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1171. 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1172. 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1173. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1174. 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1175. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1176. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1177. 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1178. 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1179. 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables the interrupt and stop ADC conversion of regular channels.
  1180. 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  1181. 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Caution: This function will stop also injected channels.
  1182. 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  1183. 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1184. 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1185. 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status.
  1186. 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1187. 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc)
  1188. 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1189. 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1190. 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  1191. 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1192. 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1193. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1194. 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1195. 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */
  1196. 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */
  1197. 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
  1198. 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1199. 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */
  1200. 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON))
  1201. 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1202. 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */
  1203. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_OVR));
  1204. 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1205. 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1206. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  1207. 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  1208. 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY);
  1209. 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1210. 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1211. 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1212. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1213. 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1214. 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1215. 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1216. 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1217. 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1218. 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1219. ARM GAS /tmp/ccY0CtDt.s page 22
  1220. 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Handles ADC interrupt request
  1221. 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1222. 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1223. 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1224. 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1225. 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc)
  1226. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1227. 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U;
  1228. 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1229. 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1230. 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
  1231. 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_LENGTH(hadc->Init.NbrOfConversion));
  1232. 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EOCSelection(hadc->Init.EOCSelection));
  1233. 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1234. 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC);
  1235. 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOC);
  1236. 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for regular channels */
  1237. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2)
  1238. 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1239. 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
  1240. 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL))
  1241. 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1242. 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1243. 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
  1244. 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1245. 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1246. 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
  1247. 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
  1248. 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */
  1249. 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */
  1250. 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */
  1251. 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */
  1252. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  1253. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  1254. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  1255. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  1256. 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1257. 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
  1258. 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
  1259. 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */
  1260. 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */
  1261. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC);
  1262. 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1263. 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1264. 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY);
  1265. 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1266. 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  1267. 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1268. 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY);
  1269. 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1270. 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1271. 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1272. 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */
  1273. 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  1274. 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
  1275. 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  1276. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
  1277. ARM GAS /tmp/ccY0CtDt.s page 23
  1278. 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  1279. 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1280. 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag */
  1281. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC);
  1282. 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1283. 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1284. 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_JEOC);
  1285. 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_JEOC);
  1286. 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */
  1287. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2)
  1288. 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1289. 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
  1290. 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL))
  1291. 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1292. 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1293. 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_INJ_EOC);
  1294. 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1295. 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1296. 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group injected */
  1297. 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, scan sequence on going or by automatic injected */
  1298. 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* conversion from group regular (same conditions as group regular */
  1299. 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption disabling above). */
  1300. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_INJECTED(hadc) &&
  1301. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) ||
  1302. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) &&
  1303. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) &&
  1304. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  1305. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ) )
  1306. 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1307. 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group injected */
  1308. 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_JEOC);
  1309. 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1310. 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1311. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_INJ_BUSY);
  1312. 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1313. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_REG_BUSY))
  1314. 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1315. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY);
  1316. 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1317. 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1318. 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1319. 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */
  1320. 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */
  1321. 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  1322. 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->InjectedConvCpltCallback(hadc);
  1323. 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  1324. 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADCEx_InjectedConvCpltCallback(hadc);
  1325. 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  1326. 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1327. 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear injected group conversion flag */
  1328. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_JSTRT | ADC_FLAG_JEOC));
  1329. 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1330. 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1331. 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD);
  1332. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_AWD);
  1333. 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */
  1334. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2)
  1335. ARM GAS /tmp/ccY0CtDt.s page 24
  1336. 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1337. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD))
  1338. 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1339. 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1340. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
  1341. 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1342. 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Level out of window callback */
  1343. 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  1344. 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc);
  1345. 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  1346. 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc);
  1347. 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  1348. 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1349. 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the ADC analog watchdog flag */
  1350. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
  1351. 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1352. 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1353. 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1354. 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp1 = __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_OVR);
  1355. 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_OVR);
  1356. 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */
  1357. 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(tmp1 && tmp2)
  1358. 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1359. 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, ADC overrun can be set through other parameters */
  1360. 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* refer to description of parameter "EOCSelection" for more */
  1361. 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* details. */
  1362. 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1363. 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */
  1364. 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
  1365. 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1366. 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear ADC overrun flag */
  1367. 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
  1368. 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1369. 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */
  1370. 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  1371. 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc);
  1372. 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  1373. 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
  1374. 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  1375. 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1376. 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Overrun flag */
  1377. 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
  1378. 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1379. 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1380. 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1381. 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1382. 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Enables ADC DMA request after last transfer (Single-ADC mode) and enables ADC periphera
  1383. 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1384. 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1385. 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param pData The destination Buffer address.
  1386. 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory.
  1387. 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  1388. 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1389. 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)
  1390. 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1391. 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  1392. 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  1393. ARM GAS /tmp/ccY0CtDt.s page 25
  1394. 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1395. 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1396. 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
  1397. 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
  1398. 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1399. 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1400. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1401. 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1402. 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC peripheral */
  1403. 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC peripheral is disabled in order to enable it and wait during
  1404. 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Tstab time the ADC's stabilization */
  1405. 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON)
  1406. 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1407. 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Peripheral */
  1408. 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc);
  1409. 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1410. 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for ADC stabilization time */
  1411. 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
  1412. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U));
  1413. 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  1414. 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1415. 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--;
  1416. 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1417. 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1418. 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1419. 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
  1420. 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON))
  1421. 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1422. 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1423. 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
  1424. 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* - Set state bitfield related to regular group operation */
  1425. 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  1426. 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  1427. 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
  1428. 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1429. 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* If conversions on group regular are also triggering group injected, */
  1430. 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* update ADC state. */
  1431. 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET)
  1432. 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1433. 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY);
  1434. 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1435. 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1436. 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* State machine update: Check if an injected conversion is ongoing */
  1437. 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  1438. 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1439. 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC error code fields related to conversions on group regular */
  1440. 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA));
  1441. 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1442. 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1443. 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1444. 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset ADC all error code fields */
  1445. 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
  1446. 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1447. 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1448. 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1449. 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
  1450. 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
  1451. ARM GAS /tmp/ccY0CtDt.s page 26
  1452. 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1453. 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1454. 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */
  1455. 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */
  1456. 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */
  1457. 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc);
  1458. 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1459. 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA transfer complete callback */
  1460. 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt;
  1461. 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1462. 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA half transfer complete callback */
  1463. 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt;
  1464. 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1465. 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the DMA error callback */
  1466. 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError;
  1467. 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1468. 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1469. 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */
  1470. 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start (in case of SW start): */
  1471. 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1472. 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
  1473. 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC operations) */
  1474. 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR);
  1475. 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1476. 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC overrun interrupt */
  1477. 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR);
  1478. 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1479. 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable ADC DMA mode */
  1480. 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMA;
  1481. 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1482. 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Start the DMA channel */
  1483. 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length);
  1484. 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1485. 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if Multimode enabled */
  1486. 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(tmpADC_Common->CCR, ADC_CCR_MULTI))
  1487. 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1488. 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  1489. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) || ((hadc->Instance == ADC2) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  1490. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  1491. 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1492. 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  1493. 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if no external trigger present enable software conversion of regular channels */
  1494. 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)
  1495. 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1496. 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  1497. 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  1498. 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1499. 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if defined(ADC2) && defined(ADC3)
  1500. 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1501. 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* ADC2 || ADC3 */
  1502. 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1503. 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1504. 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1505. 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if instance of handle correspond to ADC1 and no external trigger present enable software
  1506. 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET))
  1507. 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1508. 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC software conversion for regular group */
  1509. ARM GAS /tmp/ccY0CtDt.s page 27
  1510. 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART;
  1511. 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1512. 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1513. 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1514. 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1515. 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1516. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1517. 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1518. 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1519. 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1520. 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Disables ADC DMA (Single-ADC mode) and disables ADC peripheral
  1521. 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1522. 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1523. 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  1524. 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1525. 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc)
  1526. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1527. 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  1528. 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1529. 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1530. 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
  1531. 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1532. 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1533. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1534. 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1535. 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Stop potential conversion on going, on regular and injected groups */
  1536. 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC peripheral */
  1537. 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
  1538. 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1539. 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check if ADC is effectively disabled */
  1540. 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON))
  1541. 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1542. 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC DMA mode */
  1543. 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~ADC_CR2_DMA;
  1544. 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1545. 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */
  1546. 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* DMA transfer is on going) */
  1547. 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle);
  1548. 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1549. 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC overrun interrupt */
  1550. 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR);
  1551. 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1552. 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  1553. 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
  1554. 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  1555. 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY);
  1556. 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1557. 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1558. 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1559. 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1560. 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1561. 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1562. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return tmp_hal_status;
  1563. 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1564. 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1565. 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1566. 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Gets the converted value from data register of regular channel.
  1567. ARM GAS /tmp/ccY0CtDt.s page 28
  1568. 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1569. 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1570. 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval Converted value
  1571. 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1572. 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc)
  1573. 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1574. 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return the selected ADC converted value */
  1575. 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->Instance->DR;
  1576. 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1577. 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1578. 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1579. 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion complete callback in non blocking mode
  1580. 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1581. 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1582. 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1583. 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1584. 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
  1585. 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1586. 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  1587. 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  1588. 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1589. 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvCpltCallback could be implemented in the user file
  1590. 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1591. 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1592. 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1593. 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1594. 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Regular conversion half DMA transfer callback in non blocking mode
  1595. 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1596. 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1597. 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1598. 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1599. 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
  1600. 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1601. 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  1602. 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  1603. 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1604. 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ConvHalfCpltCallback could be implemented in the user file
  1605. 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1606. 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1607. 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1608. 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1609. 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode
  1610. 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1611. 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1612. 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1613. 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1614. 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc)
  1615. 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1616. 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  1617. 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  1618. 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1619. 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_LevelOoutOfWindowCallback could be implemented in the user file
  1620. 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1621. 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1622. 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1623. 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1624. 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Error ADC callback.
  1625. ARM GAS /tmp/ccY0CtDt.s page 29
  1626. 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note In case of error due to overrun when using ADC with DMA transfer
  1627. 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (HAL ADC handle paramater "ErrorCode" to state "HAL_ADC_ERROR_OVR"):
  1628. 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - Reinitialize the DMA using function "HAL_ADC_Stop_DMA()".
  1629. 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * - If needed, restart a new ADC conversion using function
  1630. 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * "HAL_ADC_Start_DMA()"
  1631. 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * (this function is also clearing overrun flag)
  1632. 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1633. 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1634. 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1635. 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1636. 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
  1637. 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1638. 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  1639. 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** UNUSED(hadc);
  1640. 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
  1641. 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** the HAL_ADC_ErrorCallback could be implemented in the user file
  1642. 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1643. 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1644. 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1645. 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1646. 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @}
  1647. 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1648. 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1649. 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions
  1650. 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Peripheral Control functions
  1651. 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  1652. 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim
  1653. 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  1654. 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral Control functions #####
  1655. 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  1656. 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..] This section provides functions allowing to:
  1657. 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure regular channels.
  1658. 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure injected channels.
  1659. 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure multimode.
  1660. 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Configure the analog watch dog.
  1661. 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1662. 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim
  1663. 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  1664. 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1665. 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1666. 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1667. 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures for the selected ADC regular channel its corresponding
  1668. 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * rank in the sequencer and its sample time.
  1669. 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1670. 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1671. 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param sConfig ADC configuration structure.
  1672. 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  1673. 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1674. 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig)
  1675. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1676. 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  1677. 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  1678. 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1679. 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1680. 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel));
  1681. 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank));
  1682. 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime));
  1683. ARM GAS /tmp/ccY0CtDt.s page 30
  1684. 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1685. 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1686. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1687. 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1688. 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC_Channel_10 ... ADC_Channel_18 is selected */
  1689. 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Channel > ADC_CHANNEL_9)
  1690. 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1691. 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */
  1692. 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel);
  1693. 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1694. 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */
  1695. 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel);
  1696. 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1697. 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* ADC_Channel include in ADC_Channel_[0..9] */
  1698. 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1699. 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old sample time */
  1700. 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel);
  1701. 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1702. 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the new sample time */
  1703. 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel);
  1704. 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1705. 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1706. 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 1 to 6 */
  1707. 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (sConfig->Rank < 7U)
  1708. 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1709. 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */
  1710. 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank);
  1711. 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1712. 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */
  1713. 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank);
  1714. 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1715. 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 7 to 12 */
  1716. 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else if (sConfig->Rank < 13U)
  1717. 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1718. 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */
  1719. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank);
  1720. 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1721. 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */
  1722. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank);
  1723. 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1724. 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* For Rank 13 to 16 */
  1725. 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1726. 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1727. 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the old SQx bits for the selected rank */
  1728. 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~ADC_SQR1_RK(ADC_SQR1_SQ13, sConfig->Rank);
  1729. 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1730. 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the SQx bits for the selected rank */
  1731. 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank);
  1732. 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1733. 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1734. 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */
  1735. 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */
  1736. 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */
  1737. 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc);
  1738. 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1739. 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_18 is selected for VBAT Channel ennable VBATE */
  1740. 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT))
  1741. ARM GAS /tmp/ccY0CtDt.s page 31
  1742. 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1743. 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the TEMPSENSOR channel in case of using board with multiplixed ADC_CHANNEL_VBAT & AD
  1744. 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT)
  1745. 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1746. 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_TSVREFE;
  1747. 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1748. 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the VBAT channel*/
  1749. 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_VBATE;
  1750. 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1751. 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1752. 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* if ADC1 Channel_16 or Channel_18 is selected for Temperature sensor or
  1753. 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** Channel_17 is selected for VREFINT enable TSVREFE */
  1754. 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->Instance == ADC1) && ((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) || (sConfig->Channe
  1755. 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1756. 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the VBAT channel in case of using board with multiplixed ADC_CHANNEL_VBAT & ADC_CHAN
  1757. 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((uint16_t)ADC_CHANNEL_TEMPSENSOR == (uint16_t)ADC_CHANNEL_VBAT)
  1758. 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1759. 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~ADC_CCR_VBATE;
  1760. 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1761. 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the Temperature sensor and VREFINT channel*/
  1762. 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= ADC_CCR_TSVREFE;
  1763. 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1764. 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR))
  1765. 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1766. 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */
  1767. 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
  1768. 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U));
  1769. 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  1770. 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1771. 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** counter--;
  1772. 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1773. 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1774. 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1775. 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1776. 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1777. 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1778. 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1779. 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1780. 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1781. 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1782. 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1783. 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1784. 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Configures the analog watchdog.
  1785. 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @note Analog watchdog thresholds can be modified while ADC conversion
  1786. 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * is on going.
  1787. 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * In this case, some constraints must be taken into account:
  1788. 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * The programmed threshold values are effective from the next
  1789. 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * ADC EOC (end of unitary conversion).
  1790. 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * Considering that registers write delay may happen due to
  1791. 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * bus activity, this might cause an uncertainty on the
  1792. 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * effective timing of the new programmed threshold values.
  1793. 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1794. 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1795. 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param AnalogWDGConfig pointer to an ADC_AnalogWDGConfTypeDef structure
  1796. 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * that contains the configuration information of ADC analog watchdog.
  1797. 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL status
  1798. 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1799. ARM GAS /tmp/ccY0CtDt.s page 32
  1800. 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog
  1801. 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1802. 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT
  1803. 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp = 0U;
  1804. 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */
  1805. 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1806. 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  1807. 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG(AnalogWDGConfig->WatchdogMode));
  1808. 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel));
  1809. 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode));
  1810. 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1811. 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT
  1812. 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp = ADC_GET_RESOLUTION(hadc);
  1813. 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->HighThreshold));
  1814. 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_RANGE(tmp, AnalogWDGConfig->LowThreshold));
  1815. 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_FULL_ASSERT */
  1816. 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1817. 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process locked */
  1818. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_LOCK(hadc);
  1819. 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1820. 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(AnalogWDGConfig->ITMode == ENABLE)
  1821. 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1822. 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */
  1823. 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD);
  1824. 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1825. 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  1826. 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1827. 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */
  1828. 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD);
  1829. 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1830. 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1831. 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear AWDEN, JAWDEN and AWDSGL bits */
  1832. 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN | ADC_CR1_AWDEN);
  1833. 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1834. 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the analog watchdog enable mode */
  1835. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= AnalogWDGConfig->WatchdogMode;
  1836. 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1837. 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the high threshold */
  1838. 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->HTR = AnalogWDGConfig->HighThreshold;
  1839. 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1840. 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the low threshold */
  1841. 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->LTR = AnalogWDGConfig->LowThreshold;
  1842. 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1843. 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Clear the Analog watchdog channel select bits */
  1844. 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~ADC_CR1_AWDCH;
  1845. 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1846. 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the Analog watchdog channel */
  1847. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)((uint16_t)(AnalogWDGConfig->Channel));
  1848. 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1849. 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Process unlocked */
  1850. 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_UNLOCK(hadc);
  1851. 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1852. 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return function status */
  1853. 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return HAL_OK;
  1854. 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1855. 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1856. 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1857. ARM GAS /tmp/ccY0CtDt.s page 33
  1858. 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @}
  1859. 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1860. 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1861. 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 ADC Peripheral State functions
  1862. 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief ADC Peripheral State functions
  1863. 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** *
  1864. 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @verbatim
  1865. 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  1866. 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ##### Peripheral State and errors functions #####
  1867. 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ===============================================================================
  1868. 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** [..]
  1869. 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** This subsection provides functions allowing to
  1870. 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC state
  1871. 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (+) Check the ADC Error
  1872. 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1873. 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** @endverbatim
  1874. 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  1875. 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1876. 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1877. 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1878. 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief return the ADC state
  1879. 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1880. 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1881. 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval HAL state
  1882. 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1883. 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc)
  1884. 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1885. 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */
  1886. 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->State;
  1887. 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1888. 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1889. 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1890. 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Return the ADC error code
  1891. 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1892. 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1893. 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval ADC Error Code
  1894. 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1895. 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc)
  1896. 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1897. 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->ErrorCode;
  1898. 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  1899. 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1900. 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1901. 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @}
  1902. 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1903. 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1904. 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /** @addtogroup ADC_Private_Functions
  1905. 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @{
  1906. 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1907. 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1908. 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  1909. 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief Initializes the ADCx peripheral according to the specified parameters
  1910. 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * in the ADC_InitStruct without initializing the ADC MSP.
  1911. 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hadc pointer to a ADC_HandleTypeDef structure that contains
  1912. 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified ADC.
  1913. 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  1914. 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  1915. ARM GAS /tmp/ccY0CtDt.s page 34
  1916. 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_Init(ADC_HandleTypeDef* hadc)
  1917. 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  1918. 27 .loc 1 1858 0
  1919. 28 .cfi_startproc
  1920. 29 @ args = 0, pretend = 0, frame = 0
  1921. 30 @ frame_needed = 0, uses_anonymous_args = 0
  1922. 31 @ link register save eliminated.
  1923. 32 .LVL0:
  1924. 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  1925. 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1926. 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC parameters */
  1927. 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Pointer to the common control register to which is belonging hadc */
  1928. 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* (Depending on STM32F4 product, there may be up to 3 ADCs and 1 common */
  1929. 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* control register) */
  1930. 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common = ADC_COMMON_REGISTER(hadc);
  1931. 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1932. 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the ADC clock prescaler */
  1933. 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR &= ~(ADC_CCR_ADCPRE);
  1934. 33 .loc 1 1868 0
  1935. 34 0000 4A4B ldr r3, .L7
  1936. 35 0002 5A68 ldr r2, [r3, #4]
  1937. 36 0004 22F44032 bic r2, r2, #196608
  1938. 37 0008 5A60 str r2, [r3, #4]
  1939. 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmpADC_Common->CCR |= hadc->Init.ClockPrescaler;
  1940. 38 .loc 1 1869 0
  1941. 39 000a 5A68 ldr r2, [r3, #4]
  1942. 40 000c 4168 ldr r1, [r0, #4]
  1943. 41 000e 0A43 orrs r2, r2, r1
  1944. 42 0010 5A60 str r2, [r3, #4]
  1945. 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1946. 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC scan mode */
  1947. 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_SCAN);
  1948. 43 .loc 1 1872 0
  1949. 44 0012 0268 ldr r2, [r0]
  1950. 45 0014 5368 ldr r3, [r2, #4]
  1951. 46 0016 23F48073 bic r3, r3, #256
  1952. 47 001a 5360 str r3, [r2, #4]
  1953. 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode);
  1954. 48 .loc 1 1873 0
  1955. 49 001c 0268 ldr r2, [r0]
  1956. 50 001e 5368 ldr r3, [r2, #4]
  1957. 51 0020 0169 ldr r1, [r0, #16]
  1958. 52 0022 43EA0123 orr r3, r3, r1, lsl #8
  1959. 53 0026 5360 str r3, [r2, #4]
  1960. 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1961. 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC resolution */
  1962. 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_RES);
  1963. 54 .loc 1 1876 0
  1964. 55 0028 0268 ldr r2, [r0]
  1965. 56 002a 5368 ldr r3, [r2, #4]
  1966. 57 002c 23F04073 bic r3, r3, #50331648
  1967. 58 0030 5360 str r3, [r2, #4]
  1968. 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= hadc->Init.Resolution;
  1969. 59 .loc 1 1877 0
  1970. 60 0032 0268 ldr r2, [r0]
  1971. 61 0034 5368 ldr r3, [r2, #4]
  1972. 62 0036 8168 ldr r1, [r0, #8]
  1973. ARM GAS /tmp/ccY0CtDt.s page 35
  1974. 63 0038 0B43 orrs r3, r3, r1
  1975. 64 003a 5360 str r3, [r2, #4]
  1976. 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1977. 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC data alignment */
  1978. 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN);
  1979. 65 .loc 1 1880 0
  1980. 66 003c 0268 ldr r2, [r0]
  1981. 67 003e 9368 ldr r3, [r2, #8]
  1982. 68 0040 23F40063 bic r3, r3, #2048
  1983. 69 0044 9360 str r3, [r2, #8]
  1984. 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.DataAlign;
  1985. 70 .loc 1 1881 0
  1986. 71 0046 0268 ldr r2, [r0]
  1987. 72 0048 9368 ldr r3, [r2, #8]
  1988. 73 004a C168 ldr r1, [r0, #12]
  1989. 74 004c 0B43 orrs r3, r3, r1
  1990. 75 004e 9360 str r3, [r2, #8]
  1991. 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  1992. 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */
  1993. 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* start. */
  1994. 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */
  1995. 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */
  1996. 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* software start. */
  1997. 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START)
  1998. 76 .loc 1 1888 0
  1999. 77 0050 826A ldr r2, [r0, #40]
  2000. 78 0052 374B ldr r3, .L7+4
  2001. 79 0054 9A42 cmp r2, r3
  2002. 80 0056 4BD0 beq .L2
  2003. 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2004. 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger to start conversion */
  2005. 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL);
  2006. 81 .loc 1 1891 0
  2007. 82 0058 0268 ldr r2, [r0]
  2008. 83 005a 9368 ldr r3, [r2, #8]
  2009. 84 005c 23F07063 bic r3, r3, #251658240
  2010. 85 0060 9360 str r3, [r2, #8]
  2011. 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv;
  2012. 86 .loc 1 1892 0
  2013. 87 0062 0268 ldr r2, [r0]
  2014. 88 0064 9368 ldr r3, [r2, #8]
  2015. 89 0066 816A ldr r1, [r0, #40]
  2016. 90 0068 0B43 orrs r3, r3, r1
  2017. 91 006a 9360 str r3, [r2, #8]
  2018. 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2019. 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Select external trigger polarity */
  2020. 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN);
  2021. 92 .loc 1 1895 0
  2022. 93 006c 0268 ldr r2, [r0]
  2023. 94 006e 9368 ldr r3, [r2, #8]
  2024. 95 0070 23F04053 bic r3, r3, #805306368
  2025. 96 0074 9360 str r3, [r2, #8]
  2026. 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge;
  2027. 97 .loc 1 1896 0
  2028. 98 0076 0268 ldr r2, [r0]
  2029. 99 0078 9368 ldr r3, [r2, #8]
  2030. 100 007a C16A ldr r1, [r0, #44]
  2031. ARM GAS /tmp/ccY0CtDt.s page 36
  2032. 101 007c 0B43 orrs r3, r3, r1
  2033. 102 007e 9360 str r3, [r2, #8]
  2034. 103 .L3:
  2035. 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2036. 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  2037. 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2038. 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Reset the external trigger */
  2039. 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL);
  2040. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN);
  2041. 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2042. 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2043. 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC continuous conversion mode */
  2044. 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_CONT);
  2045. 104 .loc 1 1906 0
  2046. 105 0080 0268 ldr r2, [r0]
  2047. 106 0082 9368 ldr r3, [r2, #8]
  2048. 107 0084 23F00203 bic r3, r3, #2
  2049. 108 0088 9360 str r3, [r2, #8]
  2050. 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode);
  2051. 109 .loc 1 1907 0
  2052. 110 008a 0268 ldr r2, [r0]
  2053. 111 008c 9368 ldr r3, [r2, #8]
  2054. 112 008e 017E ldrb r1, [r0, #24] @ zero_extendqisi2
  2055. 113 0090 43EA4103 orr r3, r3, r1, lsl #1
  2056. 114 0094 9360 str r3, [r2, #8]
  2057. 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2058. 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(hadc->Init.DiscontinuousConvMode != DISABLE)
  2059. 115 .loc 1 1909 0
  2060. 116 0096 90F82030 ldrb r3, [r0, #32] @ zero_extendqisi2
  2061. 117 009a 002B cmp r3, #0
  2062. 118 009c 33D1 bne .L6
  2063. 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2064. 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** assert_param(IS_ADC_REGULAR_DISC_NUMBER(hadc->Init.NbrOfDiscConversion));
  2065. 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2066. 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable the selected ADC regular discontinuous mode */
  2067. 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= (uint32_t)ADC_CR1_DISCEN;
  2068. 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2069. 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set the number of channels to be converted in discontinuous mode */
  2070. 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM);
  2071. 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion);
  2072. 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2073. 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  2074. 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2075. 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable the selected ADC regular discontinuous mode */
  2076. 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN);
  2077. 119 .loc 1 1923 0
  2078. 120 009e 0268 ldr r2, [r0]
  2079. 121 00a0 5368 ldr r3, [r2, #4]
  2080. 122 00a2 23F40063 bic r3, r3, #2048
  2081. 123 00a6 5360 str r3, [r2, #4]
  2082. 124 .L5:
  2083. 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2084. 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2085. 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC number of conversion */
  2086. 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 &= ~(ADC_SQR1_L);
  2087. 125 .loc 1 1927 0
  2088. 126 00a8 0268 ldr r2, [r0]
  2089. ARM GAS /tmp/ccY0CtDt.s page 37
  2090. 127 00aa D36A ldr r3, [r2, #44]
  2091. 128 00ac 23F47003 bic r3, r3, #15728640
  2092. 129 00b0 D362 str r3, [r2, #44]
  2093. 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion);
  2094. 130 .loc 1 1928 0
  2095. 131 00b2 0168 ldr r1, [r0]
  2096. 132 00b4 CB6A ldr r3, [r1, #44]
  2097. 133 00b6 C269 ldr r2, [r0, #28]
  2098. 134 00b8 013A subs r2, r2, #1
  2099. 135 00ba 43EA0253 orr r3, r3, r2, lsl #20
  2100. 136 00be CB62 str r3, [r1, #44]
  2101. 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2102. 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC DMA continuous request */
  2103. 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_DDS);
  2104. 137 .loc 1 1931 0
  2105. 138 00c0 0268 ldr r2, [r0]
  2106. 139 00c2 9368 ldr r3, [r2, #8]
  2107. 140 00c4 23F40073 bic r3, r3, #512
  2108. 141 00c8 9360 str r3, [r2, #8]
  2109. 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests);
  2110. 142 .loc 1 1932 0
  2111. 143 00ca 0268 ldr r2, [r0]
  2112. 144 00cc 9368 ldr r3, [r2, #8]
  2113. 145 00ce 90F83010 ldrb r1, [r0, #48] @ zero_extendqisi2
  2114. 146 00d2 43EA4123 orr r3, r3, r1, lsl #9
  2115. 147 00d6 9360 str r3, [r2, #8]
  2116. 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2117. 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Enable or disable ADC end of conversion selection */
  2118. 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EOCS);
  2119. 148 .loc 1 1935 0
  2120. 149 00d8 0268 ldr r2, [r0]
  2121. 150 00da 9368 ldr r3, [r2, #8]
  2122. 151 00dc 23F48063 bic r3, r3, #1024
  2123. 152 00e0 9360 str r3, [r2, #8]
  2124. 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection);
  2125. 153 .loc 1 1936 0
  2126. 154 00e2 0268 ldr r2, [r0]
  2127. 155 00e4 9368 ldr r3, [r2, #8]
  2128. 156 00e6 4169 ldr r1, [r0, #20]
  2129. 157 00e8 43EA8123 orr r3, r3, r1, lsl #10
  2130. 158 00ec 9360 str r3, [r2, #8]
  2131. 159 00ee 7047 bx lr
  2132. 160 .L2:
  2133. 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN);
  2134. 161 .loc 1 1901 0
  2135. 162 00f0 0268 ldr r2, [r0]
  2136. 163 00f2 9368 ldr r3, [r2, #8]
  2137. 164 00f4 23F07063 bic r3, r3, #251658240
  2138. 165 00f8 9360 str r3, [r2, #8]
  2139. 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2140. 166 .loc 1 1902 0
  2141. 167 00fa 0268 ldr r2, [r0]
  2142. 168 00fc 9368 ldr r3, [r2, #8]
  2143. 169 00fe 23F04053 bic r3, r3, #805306368
  2144. 170 0102 9360 str r3, [r2, #8]
  2145. 171 0104 BCE7 b .L3
  2146. 172 .L6:
  2147. ARM GAS /tmp/ccY0CtDt.s page 38
  2148. 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2149. 173 .loc 1 1914 0
  2150. 174 0106 0268 ldr r2, [r0]
  2151. 175 0108 5368 ldr r3, [r2, #4]
  2152. 176 010a 43F40063 orr r3, r3, #2048
  2153. 177 010e 5360 str r3, [r2, #4]
  2154. 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion);
  2155. 178 .loc 1 1917 0
  2156. 179 0110 0268 ldr r2, [r0]
  2157. 180 0112 5368 ldr r3, [r2, #4]
  2158. 181 0114 23F46043 bic r3, r3, #57344
  2159. 182 0118 5360 str r3, [r2, #4]
  2160. 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2161. 183 .loc 1 1918 0
  2162. 184 011a 0168 ldr r1, [r0]
  2163. 185 011c 4B68 ldr r3, [r1, #4]
  2164. 186 011e 426A ldr r2, [r0, #36]
  2165. 187 0120 013A subs r2, r2, #1
  2166. 188 0122 43EA4233 orr r3, r3, r2, lsl #13
  2167. 189 0126 4B60 str r3, [r1, #4]
  2168. 190 0128 BEE7 b .L5
  2169. 191 .L8:
  2170. 192 012a 00BF .align 2
  2171. 193 .L7:
  2172. 194 012c 00230140 .word 1073816320
  2173. 195 0130 0100000F .word 251658241
  2174. 196 .cfi_endproc
  2175. 197 .LFE152:
  2176. 199 .section .text.HAL_ADC_MspInit,"ax",%progbits
  2177. 200 .align 1
  2178. 201 .weak HAL_ADC_MspInit
  2179. 202 .syntax unified
  2180. 203 .thumb
  2181. 204 .thumb_func
  2182. 205 .fpu fpv4-sp-d16
  2183. 207 HAL_ADC_MspInit:
  2184. 208 .LFB132:
  2185. 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  2186. 209 .loc 1 666 0
  2187. 210 .cfi_startproc
  2188. 211 @ args = 0, pretend = 0, frame = 0
  2189. 212 @ frame_needed = 0, uses_anonymous_args = 0
  2190. 213 @ link register save eliminated.
  2191. 214 .LVL1:
  2192. 215 0000 7047 bx lr
  2193. 216 .cfi_endproc
  2194. 217 .LFE132:
  2195. 219 .section .text.HAL_ADC_Init,"ax",%progbits
  2196. 220 .align 1
  2197. 221 .global HAL_ADC_Init
  2198. 222 .syntax unified
  2199. 223 .thumb
  2200. 224 .thumb_func
  2201. 225 .fpu fpv4-sp-d16
  2202. 227 HAL_ADC_Init:
  2203. 228 .LFB130:
  2204. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  2205. ARM GAS /tmp/ccY0CtDt.s page 39
  2206. 229 .loc 1 313 0
  2207. 230 .cfi_startproc
  2208. 231 @ args = 0, pretend = 0, frame = 0
  2209. 232 @ frame_needed = 0, uses_anonymous_args = 0
  2210. 233 .LVL2:
  2211. 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2212. 234 .loc 1 317 0
  2213. 235 0000 38B3 cbz r0, .L14
  2214. 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  2215. 236 .loc 1 313 0
  2216. 237 0002 10B5 push {r4, lr}
  2217. 238 .LCFI0:
  2218. 239 .cfi_def_cfa_offset 8
  2219. 240 .cfi_offset 4, -8
  2220. 241 .cfi_offset 14, -4
  2221. 242 0004 0446 mov r4, r0
  2222. 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2223. 243 .loc 1 340 0
  2224. 244 0006 036C ldr r3, [r0, #64]
  2225. 245 0008 43B1 cbz r3, .L20
  2226. 246 .LVL3:
  2227. 247 .L12:
  2228. 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2229. 248 .loc 1 370 0
  2230. 249 000a 236C ldr r3, [r4, #64]
  2231. 250 000c 13F0100F tst r3, #16
  2232. 251 0010 0BD0 beq .L21
  2233. 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2234. 252 .loc 1 390 0
  2235. 253 0012 0120 movs r0, #1
  2236. 254 .L13:
  2237. 255 .LVL4:
  2238. 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2239. 256 .loc 1 394 0
  2240. 257 0014 0023 movs r3, #0
  2241. 258 0016 84F83C30 strb r3, [r4, #60]
  2242. 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2243. 259 .loc 1 397 0
  2244. 260 001a 10BD pop {r4, pc}
  2245. 261 .LVL5:
  2246. 262 .L20:
  2247. 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  2248. 263 .loc 1 358 0
  2249. 264 001c FFF7FEFF bl HAL_ADC_MspInit
  2250. 265 .LVL6:
  2251. 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2252. 266 .loc 1 362 0
  2253. 267 0020 0023 movs r3, #0
  2254. 268 0022 6364 str r3, [r4, #68]
  2255. 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2256. 269 .loc 1 365 0
  2257. 270 0024 84F83C30 strb r3, [r4, #60]
  2258. 271 0028 EFE7 b .L12
  2259. 272 .L21:
  2260. 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  2261. 273 .loc 1 373 0
  2262. 274 002a 236C ldr r3, [r4, #64]
  2263. ARM GAS /tmp/ccY0CtDt.s page 40
  2264. 275 002c 23F48853 bic r3, r3, #4352
  2265. 276 0030 23F00203 bic r3, r3, #2
  2266. 277 0034 43F00203 orr r3, r3, #2
  2267. 278 0038 2364 str r3, [r4, #64]
  2268. 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2269. 279 .loc 1 378 0
  2270. 280 003a 2046 mov r0, r4
  2271. 281 003c FFF7FEFF bl ADC_Init
  2272. 282 .LVL7:
  2273. 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2274. 283 .loc 1 381 0
  2275. 284 0040 0020 movs r0, #0
  2276. 285 0042 6064 str r0, [r4, #68]
  2277. 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
  2278. 286 .loc 1 384 0
  2279. 287 0044 236C ldr r3, [r4, #64]
  2280. 288 0046 23F00303 bic r3, r3, #3
  2281. 289 004a 43F00103 orr r3, r3, #1
  2282. 290 004e 2364 str r3, [r4, #64]
  2283. 291 0050 E0E7 b .L13
  2284. 292 .LVL8:
  2285. 293 .L14:
  2286. 294 .LCFI1:
  2287. 295 .cfi_def_cfa_offset 0
  2288. 296 .cfi_restore 4
  2289. 297 .cfi_restore 14
  2290. 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2291. 298 .loc 1 319 0
  2292. 299 0052 0120 movs r0, #1
  2293. 300 .LVL9:
  2294. 301 0054 7047 bx lr
  2295. 302 .cfi_endproc
  2296. 303 .LFE130:
  2297. 305 .section .text.HAL_ADC_MspDeInit,"ax",%progbits
  2298. 306 .align 1
  2299. 307 .weak HAL_ADC_MspDeInit
  2300. 308 .syntax unified
  2301. 309 .thumb
  2302. 310 .thumb_func
  2303. 311 .fpu fpv4-sp-d16
  2304. 313 HAL_ADC_MspDeInit:
  2305. 314 .LFB133:
  2306. 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  2307. 315 .loc 1 681 0
  2308. 316 .cfi_startproc
  2309. 317 @ args = 0, pretend = 0, frame = 0
  2310. 318 @ frame_needed = 0, uses_anonymous_args = 0
  2311. 319 @ link register save eliminated.
  2312. 320 .LVL10:
  2313. 321 0000 7047 bx lr
  2314. 322 .cfi_endproc
  2315. 323 .LFE133:
  2316. 325 .section .text.HAL_ADC_DeInit,"ax",%progbits
  2317. 326 .align 1
  2318. 327 .global HAL_ADC_DeInit
  2319. 328 .syntax unified
  2320. 329 .thumb
  2321. ARM GAS /tmp/ccY0CtDt.s page 41
  2322. 330 .thumb_func
  2323. 331 .fpu fpv4-sp-d16
  2324. 333 HAL_ADC_DeInit:
  2325. 334 .LFB131:
  2326. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  2327. 335 .loc 1 407 0
  2328. 336 .cfi_startproc
  2329. 337 @ args = 0, pretend = 0, frame = 0
  2330. 338 @ frame_needed = 0, uses_anonymous_args = 0
  2331. 339 .LVL11:
  2332. 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2333. 340 .loc 1 411 0
  2334. 341 0000 C8B1 cbz r0, .L26
  2335. 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  2336. 342 .loc 1 407 0
  2337. 343 0002 10B5 push {r4, lr}
  2338. 344 .LCFI2:
  2339. 345 .cfi_def_cfa_offset 8
  2340. 346 .cfi_offset 4, -8
  2341. 347 .cfi_offset 14, -4
  2342. 348 0004 0446 mov r4, r0
  2343. 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2344. 349 .loc 1 420 0
  2345. 350 0006 036C ldr r3, [r0, #64]
  2346. 351 0008 43F00203 orr r3, r3, #2
  2347. 352 000c 0364 str r3, [r0, #64]
  2348. 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2349. 353 .loc 1 424 0
  2350. 354 000e 0268 ldr r2, [r0]
  2351. 355 0010 9368 ldr r3, [r2, #8]
  2352. 356 0012 23F00103 bic r3, r3, #1
  2353. 357 0016 9360 str r3, [r2, #8]
  2354. 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2355. 358 .loc 1 428 0
  2356. 359 0018 0368 ldr r3, [r0]
  2357. 360 001a 9B68 ldr r3, [r3, #8]
  2358. 361 001c 13F0010F tst r3, #1
  2359. 362 0020 03D0 beq .L31
  2360. 363 .LVL12:
  2361. 364 .L25:
  2362. 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2363. 365 .loc 1 451 0
  2364. 366 0022 0020 movs r0, #0
  2365. 367 0024 84F83C00 strb r0, [r4, #60]
  2366. 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2367. 368 .loc 1 454 0
  2368. 369 0028 10BD pop {r4, pc}
  2369. 370 .LVL13:
  2370. 371 .L31:
  2371. 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  2372. 372 .loc 1 440 0
  2373. 373 002a FFF7FEFF bl HAL_ADC_MspDeInit
  2374. 374 .LVL14:
  2375. 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2376. 375 .loc 1 444 0
  2377. 376 002e 0023 movs r3, #0
  2378. 377 0030 6364 str r3, [r4, #68]
  2379. ARM GAS /tmp/ccY0CtDt.s page 42
  2380. 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2381. 378 .loc 1 447 0
  2382. 379 0032 2364 str r3, [r4, #64]
  2383. 380 0034 F5E7 b .L25
  2384. 381 .LVL15:
  2385. 382 .L26:
  2386. 383 .LCFI3:
  2387. 384 .cfi_def_cfa_offset 0
  2388. 385 .cfi_restore 4
  2389. 386 .cfi_restore 14
  2390. 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2391. 387 .loc 1 413 0
  2392. 388 0036 0120 movs r0, #1
  2393. 389 .LVL16:
  2394. 390 0038 7047 bx lr
  2395. 391 .cfi_endproc
  2396. 392 .LFE131:
  2397. 394 .section .text.HAL_ADC_Start,"ax",%progbits
  2398. 395 .align 1
  2399. 396 .global HAL_ADC_Start
  2400. 397 .syntax unified
  2401. 398 .thumb
  2402. 399 .thumb_func
  2403. 400 .fpu fpv4-sp-d16
  2404. 402 HAL_ADC_Start:
  2405. 403 .LFB134:
  2406. 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  2407. 404 .loc 1 720 0
  2408. 405 .cfi_startproc
  2409. 406 @ args = 0, pretend = 0, frame = 8
  2410. 407 @ frame_needed = 0, uses_anonymous_args = 0
  2411. 408 @ link register save eliminated.
  2412. 409 .LVL17:
  2413. 410 0000 82B0 sub sp, sp, #8
  2414. 411 .LCFI4:
  2415. 412 .cfi_def_cfa_offset 8
  2416. 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  2417. 413 .loc 1 721 0
  2418. 414 0002 0023 movs r3, #0
  2419. 415 0004 0193 str r3, [sp, #4]
  2420. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2421. 416 .loc 1 729 0
  2422. 417 0006 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  2423. 418 000a 012B cmp r3, #1
  2424. 419 000c 7DD0 beq .L43
  2425. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2426. 420 .loc 1 729 0 is_stmt 0 discriminator 2
  2427. 421 000e 0123 movs r3, #1
  2428. 422 0010 80F83C30 strb r3, [r0, #60]
  2429. 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2430. 423 .loc 1 734 0 is_stmt 1 discriminator 2
  2431. 424 0014 0368 ldr r3, [r0]
  2432. 425 0016 9A68 ldr r2, [r3, #8]
  2433. 426 0018 12F0010F tst r2, #1
  2434. 427 001c 13D1 bne .L34
  2435. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2436. 428 .loc 1 737 0
  2437. ARM GAS /tmp/ccY0CtDt.s page 43
  2438. 429 001e 9A68 ldr r2, [r3, #8]
  2439. 430 0020 42F00102 orr r2, r2, #1
  2440. 431 0024 9A60 str r2, [r3, #8]
  2441. 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  2442. 432 .loc 1 741 0
  2443. 433 0026 3E4B ldr r3, .L54
  2444. 434 0028 1B68 ldr r3, [r3]
  2445. 435 002a 3E4A ldr r2, .L54+4
  2446. 436 002c A2FB0323 umull r2, r3, r2, r3
  2447. 437 0030 9B0C lsrs r3, r3, #18
  2448. 438 0032 03EB4303 add r3, r3, r3, lsl #1
  2449. 439 0036 0193 str r3, [sp, #4]
  2450. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2451. 440 .loc 1 742 0
  2452. 441 0038 02E0 b .L35
  2453. 442 .L36:
  2454. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2455. 443 .loc 1 744 0
  2456. 444 003a 019B ldr r3, [sp, #4]
  2457. 445 003c 013B subs r3, r3, #1
  2458. 446 003e 0193 str r3, [sp, #4]
  2459. 447 .L35:
  2460. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2461. 448 .loc 1 742 0
  2462. 449 0040 019B ldr r3, [sp, #4]
  2463. 450 0042 002B cmp r3, #0
  2464. 451 0044 F9D1 bne .L36
  2465. 452 .L34:
  2466. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2467. 453 .loc 1 749 0
  2468. 454 0046 0268 ldr r2, [r0]
  2469. 455 0048 9368 ldr r3, [r2, #8]
  2470. 456 004a 13F0010F tst r3, #1
  2471. 457 004e 5FD0 beq .L44
  2472. 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  2473. 458 .loc 1 754 0
  2474. 459 0050 036C ldr r3, [r0, #64]
  2475. 460 0052 23F4E063 bic r3, r3, #1792
  2476. 461 0056 23F00103 bic r3, r3, #1
  2477. 462 005a 43F48073 orr r3, r3, #256
  2478. 463 005e 0364 str r3, [r0, #64]
  2479. 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2480. 464 .loc 1 760 0
  2481. 465 0060 5368 ldr r3, [r2, #4]
  2482. 466 0062 13F4806F tst r3, #1024
  2483. 467 0066 05D0 beq .L37
  2484. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2485. 468 .loc 1 762 0
  2486. 469 0068 036C ldr r3, [r0, #64]
  2487. 470 006a 23F44053 bic r3, r3, #12288
  2488. 471 006e 43F48053 orr r3, r3, #4096
  2489. 472 0072 0364 str r3, [r0, #64]
  2490. 473 .L37:
  2491. 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2492. 474 .loc 1 766 0
  2493. 475 0074 036C ldr r3, [r0, #64]
  2494. 476 0076 13F4805F tst r3, #4096
  2495. ARM GAS /tmp/ccY0CtDt.s page 44
  2496. 477 007a 1BD0 beq .L38
  2497. 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2498. 478 .loc 1 769 0
  2499. 479 007c 436C ldr r3, [r0, #68]
  2500. 480 007e 23F00603 bic r3, r3, #6
  2501. 481 0082 4364 str r3, [r0, #68]
  2502. 482 .L39:
  2503. 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2504. 483 .loc 1 780 0
  2505. 484 0084 0023 movs r3, #0
  2506. 485 0086 80F83C30 strb r3, [r0, #60]
  2507. 486 .LVL18:
  2508. 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2509. 487 .loc 1 789 0
  2510. 488 008a 6FF02203 mvn r3, #34
  2511. 489 008e 1360 str r3, [r2]
  2512. 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2513. 490 .loc 1 792 0
  2514. 491 0090 254B ldr r3, .L54+8
  2515. 492 0092 5B68 ldr r3, [r3, #4]
  2516. 493 0094 13F01F0F tst r3, #31
  2517. 494 0098 27D1 bne .L40
  2518. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  2519. 495 .loc 1 795 0
  2520. 496 009a 0368 ldr r3, [r0]
  2521. 497 009c 234A ldr r2, .L54+12
  2522. 498 009e 9342 cmp r3, r2
  2523. 499 00a0 19D0 beq .L41
  2524. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  2525. 500 .loc 1 795 0 is_stmt 0 discriminator 1
  2526. 501 00a2 02F58072 add r2, r2, #256
  2527. 502 00a6 9342 cmp r3, r2
  2528. 503 00a8 07D0 beq .L51
  2529. 504 .L42:
  2530. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2531. 505 .loc 1 796 0 is_stmt 1
  2532. 506 00aa 214A ldr r2, .L54+16
  2533. 507 00ac 9342 cmp r3, r2
  2534. 508 00ae 0BD0 beq .L52
  2535. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2536. 509 .loc 1 821 0
  2537. 510 00b0 0020 movs r0, #0
  2538. 511 .LVL19:
  2539. 512 00b2 2BE0 b .L33
  2540. 513 .LVL20:
  2541. 514 .L38:
  2542. 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2543. 515 .loc 1 774 0
  2544. 516 00b4 0023 movs r3, #0
  2545. 517 00b6 4364 str r3, [r0, #68]
  2546. 518 00b8 E4E7 b .L39
  2547. 519 .LVL21:
  2548. 520 .L51:
  2549. 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  2550. 521 .loc 1 795 0 discriminator 2
  2551. 522 00ba 02F50072 add r2, r2, #512
  2552. 523 00be 5268 ldr r2, [r2, #4]
  2553. ARM GAS /tmp/ccY0CtDt.s page 45
  2554. 524 00c0 12F01F0F tst r2, #31
  2555. 525 00c4 07D0 beq .L41
  2556. 526 00c6 F0E7 b .L42
  2557. 527 .L52:
  2558. 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2559. 528 .loc 1 796 0 discriminator 1
  2560. 529 00c8 02F58072 add r2, r2, #256
  2561. 530 00cc 5268 ldr r2, [r2, #4]
  2562. 531 00ce 02F01F02 and r2, r2, #31
  2563. 532 00d2 0F2A cmp r2, #15
  2564. 533 00d4 1ED8 bhi .L46
  2565. 534 .L41:
  2566. 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2567. 535 .loc 1 800 0
  2568. 536 00d6 9A68 ldr r2, [r3, #8]
  2569. 537 00d8 12F0405F tst r2, #805306368
  2570. 538 00dc 1CD1 bne .L47
  2571. 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2572. 539 .loc 1 803 0
  2573. 540 00de 9A68 ldr r2, [r3, #8]
  2574. 541 00e0 42F08042 orr r2, r2, #1073741824
  2575. 542 00e4 9A60 str r2, [r3, #8]
  2576. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2577. 543 .loc 1 821 0
  2578. 544 00e6 0020 movs r0, #0
  2579. 545 .LVL22:
  2580. 546 00e8 10E0 b .L33
  2581. 547 .LVL23:
  2582. 548 .L40:
  2583. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2584. 549 .loc 1 812 0
  2585. 550 00ea 0368 ldr r3, [r0]
  2586. 551 00ec 0F4A ldr r2, .L54+12
  2587. 552 00ee 9342 cmp r3, r2
  2588. 553 00f0 01D0 beq .L53
  2589. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2590. 554 .loc 1 821 0
  2591. 555 00f2 0020 movs r0, #0
  2592. 556 .LVL24:
  2593. 557 00f4 0AE0 b .L33
  2594. 558 .LVL25:
  2595. 559 .L53:
  2596. 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2597. 560 .loc 1 812 0 discriminator 1
  2598. 561 00f6 9A68 ldr r2, [r3, #8]
  2599. 562 00f8 12F0405F tst r2, #805306368
  2600. 563 00fc 0ED1 bne .L49
  2601. 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2602. 564 .loc 1 815 0
  2603. 565 00fe 9A68 ldr r2, [r3, #8]
  2604. 566 0100 42F08042 orr r2, r2, #1073741824
  2605. 567 0104 9A60 str r2, [r3, #8]
  2606. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2607. 568 .loc 1 821 0
  2608. 569 0106 0020 movs r0, #0
  2609. 570 .LVL26:
  2610. 571 0108 00E0 b .L33
  2611. ARM GAS /tmp/ccY0CtDt.s page 46
  2612. 572 .LVL27:
  2613. 573 .L43:
  2614. 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2615. 574 .loc 1 729 0
  2616. 575 010a 0220 movs r0, #2
  2617. 576 .LVL28:
  2618. 577 .L33:
  2619. 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2620. 578 .loc 1 822 0
  2621. 579 010c 02B0 add sp, sp, #8
  2622. 580 .LCFI5:
  2623. 581 .cfi_remember_state
  2624. 582 .cfi_def_cfa_offset 0
  2625. 583 @ sp needed
  2626. 584 010e 7047 bx lr
  2627. 585 .LVL29:
  2628. 586 .L44:
  2629. 587 .LCFI6:
  2630. 588 .cfi_restore_state
  2631. 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2632. 589 .loc 1 821 0
  2633. 590 0110 0020 movs r0, #0
  2634. 591 .LVL30:
  2635. 592 0112 FBE7 b .L33
  2636. 593 .LVL31:
  2637. 594 .L46:
  2638. 595 0114 0020 movs r0, #0
  2639. 596 .LVL32:
  2640. 597 0116 F9E7 b .L33
  2641. 598 .LVL33:
  2642. 599 .L47:
  2643. 600 0118 0020 movs r0, #0
  2644. 601 .LVL34:
  2645. 602 011a F7E7 b .L33
  2646. 603 .LVL35:
  2647. 604 .L49:
  2648. 605 011c 0020 movs r0, #0
  2649. 606 .LVL36:
  2650. 607 011e F5E7 b .L33
  2651. 608 .L55:
  2652. 609 .align 2
  2653. 610 .L54:
  2654. 611 0120 00000000 .word SystemCoreClock
  2655. 612 0124 83DE1B43 .word 1125899907
  2656. 613 0128 00230140 .word 1073816320
  2657. 614 012c 00200140 .word 1073815552
  2658. 615 0130 00220140 .word 1073816064
  2659. 616 .cfi_endproc
  2660. 617 .LFE134:
  2661. 619 .section .text.HAL_ADC_Stop,"ax",%progbits
  2662. 620 .align 1
  2663. 621 .global HAL_ADC_Stop
  2664. 622 .syntax unified
  2665. 623 .thumb
  2666. 624 .thumb_func
  2667. 625 .fpu fpv4-sp-d16
  2668. 627 HAL_ADC_Stop:
  2669. ARM GAS /tmp/ccY0CtDt.s page 47
  2670. 628 .LFB135:
  2671. 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  2672. 629 .loc 1 835 0
  2673. 630 .cfi_startproc
  2674. 631 @ args = 0, pretend = 0, frame = 0
  2675. 632 @ frame_needed = 0, uses_anonymous_args = 0
  2676. 633 @ link register save eliminated.
  2677. 634 .LVL37:
  2678. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2679. 635 .loc 1 840 0
  2680. 636 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  2681. 637 0004 012B cmp r3, #1
  2682. 638 0006 19D0 beq .L59
  2683. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2684. 639 .loc 1 840 0 is_stmt 0 discriminator 2
  2685. 640 0008 0123 movs r3, #1
  2686. 641 000a 80F83C30 strb r3, [r0, #60]
  2687. 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2688. 642 .loc 1 844 0 is_stmt 1 discriminator 2
  2689. 643 000e 0268 ldr r2, [r0]
  2690. 644 0010 9368 ldr r3, [r2, #8]
  2691. 645 0012 23F00103 bic r3, r3, #1
  2692. 646 0016 9360 str r3, [r2, #8]
  2693. 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2694. 647 .loc 1 847 0 discriminator 2
  2695. 648 0018 0368 ldr r3, [r0]
  2696. 649 001a 9B68 ldr r3, [r3, #8]
  2697. 650 001c 13F0010F tst r3, #1
  2698. 651 0020 07D1 bne .L58
  2699. 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  2700. 652 .loc 1 850 0
  2701. 653 0022 036C ldr r3, [r0, #64]
  2702. 654 0024 23F48853 bic r3, r3, #4352
  2703. 655 0028 23F00103 bic r3, r3, #1
  2704. 656 002c 43F00103 orr r3, r3, #1
  2705. 657 0030 0364 str r3, [r0, #64]
  2706. 658 .L58:
  2707. 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2708. 659 .loc 1 856 0
  2709. 660 0032 0023 movs r3, #0
  2710. 661 0034 80F83C30 strb r3, [r0, #60]
  2711. 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2712. 662 .loc 1 859 0
  2713. 663 0038 1846 mov r0, r3
  2714. 664 .LVL38:
  2715. 665 003a 7047 bx lr
  2716. 666 .LVL39:
  2717. 667 .L59:
  2718. 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2719. 668 .loc 1 840 0
  2720. 669 003c 0220 movs r0, #2
  2721. 670 .LVL40:
  2722. 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2723. 671 .loc 1 860 0
  2724. 672 003e 7047 bx lr
  2725. 673 .cfi_endproc
  2726. 674 .LFE135:
  2727. ARM GAS /tmp/ccY0CtDt.s page 48
  2728. 676 .section .text.HAL_ADC_PollForConversion,"ax",%progbits
  2729. 677 .align 1
  2730. 678 .global HAL_ADC_PollForConversion
  2731. 679 .syntax unified
  2732. 680 .thumb
  2733. 681 .thumb_func
  2734. 682 .fpu fpv4-sp-d16
  2735. 684 HAL_ADC_PollForConversion:
  2736. 685 .LFB136:
  2737. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U;
  2738. 686 .loc 1 878 0
  2739. 687 .cfi_startproc
  2740. 688 @ args = 0, pretend = 0, frame = 0
  2741. 689 @ frame_needed = 0, uses_anonymous_args = 0
  2742. 690 .LVL41:
  2743. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) )
  2744. 691 .loc 1 887 0
  2745. 692 0000 0368 ldr r3, [r0]
  2746. 693 0002 9A68 ldr r2, [r3, #8]
  2747. 694 0004 12F4806F tst r2, #1024
  2748. 695 0008 03D0 beq .L61
  2749. 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2750. 696 .loc 1 888 0 discriminator 1
  2751. 697 000a 9B68 ldr r3, [r3, #8]
  2752. 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) )
  2753. 698 .loc 1 887 0 discriminator 1
  2754. 699 000c 13F4807F tst r3, #256
  2755. 700 0010 1CD1 bne .L75
  2756. 701 .L61:
  2757. 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U;
  2758. 702 .loc 1 878 0
  2759. 703 0012 70B5 push {r4, r5, r6, lr}
  2760. 704 .LCFI7:
  2761. 705 .cfi_def_cfa_offset 16
  2762. 706 .cfi_offset 4, -16
  2763. 707 .cfi_offset 5, -12
  2764. 708 .cfi_offset 6, -8
  2765. 709 .cfi_offset 14, -4
  2766. 710 0014 0D46 mov r5, r1
  2767. 711 0016 0446 mov r4, r0
  2768. 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2769. 712 .loc 1 900 0
  2770. 713 0018 FFF7FEFF bl HAL_GetTick
  2771. 714 .LVL42:
  2772. 715 001c 0646 mov r6, r0
  2773. 716 .LVL43:
  2774. 717 .L64:
  2775. 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2776. 718 .loc 1 903 0
  2777. 719 001e 2368 ldr r3, [r4]
  2778. 720 0020 1A68 ldr r2, [r3]
  2779. 721 0022 12F0020F tst r2, #2
  2780. 722 0026 1AD1 bne .L76
  2781. 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2782. 723 .loc 1 906 0
  2783. 724 0028 B5F1FF3F cmp r5, #-1
  2784. 725 002c F7D0 beq .L64
  2785. ARM GAS /tmp/ccY0CtDt.s page 49
  2786. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2787. 726 .loc 1 908 0
  2788. 727 002e 25B1 cbz r5, .L65
  2789. 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2790. 728 .loc 1 908 0 is_stmt 0 discriminator 1
  2791. 729 0030 FFF7FEFF bl HAL_GetTick
  2792. 730 .LVL44:
  2793. 731 0034 801B subs r0, r0, r6
  2794. 732 0036 8542 cmp r5, r0
  2795. 733 0038 F1D2 bcs .L64
  2796. 734 .L65:
  2797. 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2798. 735 .loc 1 911 0 is_stmt 1
  2799. 736 003a 236C ldr r3, [r4, #64]
  2800. 737 003c 43F00403 orr r3, r3, #4
  2801. 738 0040 2364 str r3, [r4, #64]
  2802. 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2803. 739 .loc 1 914 0
  2804. 740 0042 0023 movs r3, #0
  2805. 741 0044 84F83C30 strb r3, [r4, #60]
  2806. 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2807. 742 .loc 1 916 0
  2808. 743 0048 0320 movs r0, #3
  2809. 744 004a 70BD pop {r4, r5, r6, pc}
  2810. 745 .LVL45:
  2811. 746 .L75:
  2812. 747 .LCFI8:
  2813. 748 .cfi_def_cfa_offset 0
  2814. 749 .cfi_restore 4
  2815. 750 .cfi_restore 5
  2816. 751 .cfi_restore 6
  2817. 752 .cfi_restore 14
  2818. 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2819. 753 .loc 1 891 0
  2820. 754 004c 036C ldr r3, [r0, #64]
  2821. 755 004e 43F02003 orr r3, r3, #32
  2822. 756 0052 0364 str r3, [r0, #64]
  2823. 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2824. 757 .loc 1 894 0
  2825. 758 0054 0023 movs r3, #0
  2826. 759 0056 80F83C30 strb r3, [r0, #60]
  2827. 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2828. 760 .loc 1 896 0
  2829. 761 005a 0120 movs r0, #1
  2830. 762 .LVL46:
  2831. 763 005c 7047 bx lr
  2832. 764 .LVL47:
  2833. 765 .L76:
  2834. 766 .LCFI9:
  2835. 767 .cfi_def_cfa_offset 16
  2836. 768 .cfi_offset 4, -16
  2837. 769 .cfi_offset 5, -12
  2838. 770 .cfi_offset 6, -8
  2839. 771 .cfi_offset 14, -4
  2840. 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2841. 772 .loc 1 922 0
  2842. 773 005e 6FF01202 mvn r2, #18
  2843. ARM GAS /tmp/ccY0CtDt.s page 50
  2844. 774 0062 1A60 str r2, [r3]
  2845. 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2846. 775 .loc 1 925 0
  2847. 776 0064 236C ldr r3, [r4, #64]
  2848. 777 0066 43F40073 orr r3, r3, #512
  2849. 778 006a 2364 str r3, [r4, #64]
  2850. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  2851. 779 .loc 1 933 0
  2852. 780 006c 2368 ldr r3, [r4]
  2853. 781 006e 9A68 ldr r2, [r3, #8]
  2854. 782 0070 12F0405F tst r2, #805306368
  2855. 783 0074 17D1 bne .L68
  2856. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  2857. 784 .loc 1 934 0 discriminator 1
  2858. 785 0076 227E ldrb r2, [r4, #24] @ zero_extendqisi2
  2859. 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  2860. 786 .loc 1 933 0 discriminator 1
  2861. 787 0078 BAB9 cbnz r2, .L69
  2862. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  2863. 788 .loc 1 935 0
  2864. 789 007a DA6A ldr r2, [r3, #44]
  2865. 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  2866. 790 .loc 1 934 0
  2867. 791 007c 12F4700F tst r2, #15728640
  2868. 792 0080 03D0 beq .L67
  2869. 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2870. 793 .loc 1 936 0
  2871. 794 0082 9B68 ldr r3, [r3, #8]
  2872. 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  2873. 795 .loc 1 935 0
  2874. 796 0084 13F4806F tst r3, #1024
  2875. 797 0088 11D1 bne .L70
  2876. 798 .L67:
  2877. 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2878. 799 .loc 1 939 0
  2879. 800 008a 236C ldr r3, [r4, #64]
  2880. 801 008c 23F48073 bic r3, r3, #256
  2881. 802 0090 2364 str r3, [r4, #64]
  2882. 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2883. 803 .loc 1 941 0
  2884. 804 0092 236C ldr r3, [r4, #64]
  2885. 805 0094 13F4805F tst r3, #4096
  2886. 806 0098 0BD1 bne .L71
  2887. 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2888. 807 .loc 1 943 0
  2889. 808 009a 236C ldr r3, [r4, #64]
  2890. 809 009c 43F00103 orr r3, r3, #1
  2891. 810 00a0 2364 str r3, [r4, #64]
  2892. 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2893. 811 .loc 1 948 0
  2894. 812 00a2 0020 movs r0, #0
  2895. 813 00a4 70BD pop {r4, r5, r6, pc}
  2896. 814 .LVL48:
  2897. 815 .L68:
  2898. 816 00a6 0020 movs r0, #0
  2899. 817 00a8 70BD pop {r4, r5, r6, pc}
  2900. 818 .LVL49:
  2901. ARM GAS /tmp/ccY0CtDt.s page 51
  2902. 819 .L69:
  2903. 820 00aa 0020 movs r0, #0
  2904. 821 00ac 70BD pop {r4, r5, r6, pc}
  2905. 822 .LVL50:
  2906. 823 .L70:
  2907. 824 00ae 0020 movs r0, #0
  2908. 825 00b0 70BD pop {r4, r5, r6, pc}
  2909. 826 .LVL51:
  2910. 827 .L71:
  2911. 828 00b2 0020 movs r0, #0
  2912. 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2913. 829 .loc 1 949 0
  2914. 830 00b4 70BD pop {r4, r5, r6, pc}
  2915. 831 .cfi_endproc
  2916. 832 .LFE136:
  2917. 834 .section .text.HAL_ADC_PollForEvent,"ax",%progbits
  2918. 835 .align 1
  2919. 836 .global HAL_ADC_PollForEvent
  2920. 837 .syntax unified
  2921. 838 .thumb
  2922. 839 .thumb_func
  2923. 840 .fpu fpv4-sp-d16
  2924. 842 HAL_ADC_PollForEvent:
  2925. 843 .LFB137:
  2926. 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tickstart = 0U;
  2927. 844 .loc 1 963 0
  2928. 845 .cfi_startproc
  2929. 846 @ args = 0, pretend = 0, frame = 0
  2930. 847 @ frame_needed = 0, uses_anonymous_args = 0
  2931. 848 .LVL52:
  2932. 849 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  2933. 850 .LCFI10:
  2934. 851 .cfi_def_cfa_offset 24
  2935. 852 .cfi_offset 3, -24
  2936. 853 .cfi_offset 4, -20
  2937. 854 .cfi_offset 5, -16
  2938. 855 .cfi_offset 6, -12
  2939. 856 .cfi_offset 7, -8
  2940. 857 .cfi_offset 14, -4
  2941. 858 0002 0446 mov r4, r0
  2942. 859 0004 0D46 mov r5, r1
  2943. 860 0006 1646 mov r6, r2
  2944. 861 .LVL53:
  2945. 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2946. 862 .loc 1 971 0
  2947. 863 0008 FFF7FEFF bl HAL_GetTick
  2948. 864 .LVL54:
  2949. 865 000c 0746 mov r7, r0
  2950. 866 .LVL55:
  2951. 867 .L79:
  2952. 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2953. 868 .loc 1 974 0
  2954. 869 000e 2368 ldr r3, [r4]
  2955. 870 0010 1A68 ldr r2, [r3]
  2956. 871 0012 35EA0202 bics r2, r5, r2
  2957. 872 0016 11D0 beq .L85
  2958. 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2959. ARM GAS /tmp/ccY0CtDt.s page 52
  2960. 873 .loc 1 977 0
  2961. 874 0018 B6F1FF3F cmp r6, #-1
  2962. 875 001c F7D0 beq .L79
  2963. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2964. 876 .loc 1 979 0
  2965. 877 001e 26B1 cbz r6, .L80
  2966. 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2967. 878 .loc 1 979 0 is_stmt 0 discriminator 1
  2968. 879 0020 FFF7FEFF bl HAL_GetTick
  2969. 880 .LVL56:
  2970. 881 0024 C01B subs r0, r0, r7
  2971. 882 0026 8642 cmp r6, r0
  2972. 883 0028 F1D2 bcs .L79
  2973. 884 .L80:
  2974. 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2975. 885 .loc 1 982 0 is_stmt 1
  2976. 886 002a 236C ldr r3, [r4, #64]
  2977. 887 002c 43F00403 orr r3, r3, #4
  2978. 888 0030 2364 str r3, [r4, #64]
  2979. 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2980. 889 .loc 1 985 0
  2981. 890 0032 0023 movs r3, #0
  2982. 891 0034 84F83C30 strb r3, [r4, #60]
  2983. 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  2984. 892 .loc 1 987 0
  2985. 893 0038 0320 movs r0, #3
  2986. 894 003a F8BD pop {r3, r4, r5, r6, r7, pc}
  2987. 895 .LVL57:
  2988. 896 .L85:
  2989. 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  2990. 897 .loc 1 993 0
  2991. 898 003c 012D cmp r5, #1
  2992. 899 003e 0CD0 beq .L86
  2993. 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to overrun */
  2994. 900 .loc 1 1005 0
  2995. 901 0040 226C ldr r2, [r4, #64]
  2996. 902 0042 42F48062 orr r2, r2, #1024
  2997. 903 0046 2264 str r2, [r4, #64]
  2998. 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  2999. 904 .loc 1 1007 0
  3000. 905 0048 626C ldr r2, [r4, #68]
  3001. 906 004a 42F00202 orr r2, r2, #2
  3002. 907 004e 6264 str r2, [r4, #68]
  3003. 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3004. 908 .loc 1 1010 0
  3005. 909 0050 6FF02002 mvn r2, #32
  3006. 910 0054 1A60 str r2, [r3]
  3007. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3008. 911 .loc 1 1014 0
  3009. 912 0056 0020 movs r0, #0
  3010. 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3011. 913 .loc 1 1015 0
  3012. 914 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
  3013. 915 .LVL58:
  3014. 916 .L86:
  3015. 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3016. 917 .loc 1 996 0
  3017. ARM GAS /tmp/ccY0CtDt.s page 53
  3018. 918 005a 226C ldr r2, [r4, #64]
  3019. 919 005c 42F48032 orr r2, r2, #65536
  3020. 920 0060 2264 str r2, [r4, #64]
  3021. 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3022. 921 .loc 1 999 0
  3023. 922 0062 6FF00102 mvn r2, #1
  3024. 923 0066 1A60 str r2, [r3]
  3025. 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3026. 924 .loc 1 1014 0
  3027. 925 0068 0020 movs r0, #0
  3028. 926 006a F8BD pop {r3, r4, r5, r6, r7, pc}
  3029. 927 .cfi_endproc
  3030. 928 .LFE137:
  3031. 930 .section .text.HAL_ADC_Start_IT,"ax",%progbits
  3032. 931 .align 1
  3033. 932 .global HAL_ADC_Start_IT
  3034. 933 .syntax unified
  3035. 934 .thumb
  3036. 935 .thumb_func
  3037. 936 .fpu fpv4-sp-d16
  3038. 938 HAL_ADC_Start_IT:
  3039. 939 .LFB138:
  3040. 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  3041. 940 .loc 1 1025 0
  3042. 941 .cfi_startproc
  3043. 942 @ args = 0, pretend = 0, frame = 8
  3044. 943 @ frame_needed = 0, uses_anonymous_args = 0
  3045. 944 @ link register save eliminated.
  3046. 945 .LVL59:
  3047. 946 0000 82B0 sub sp, sp, #8
  3048. 947 .LCFI11:
  3049. 948 .cfi_def_cfa_offset 8
  3050. 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  3051. 949 .loc 1 1026 0
  3052. 950 0002 0023 movs r3, #0
  3053. 951 0004 0193 str r3, [sp, #4]
  3054. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3055. 952 .loc 1 1034 0
  3056. 953 0006 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  3057. 954 000a 012B cmp r3, #1
  3058. 955 000c 00F08580 beq .L98
  3059. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3060. 956 .loc 1 1034 0 is_stmt 0 discriminator 2
  3061. 957 0010 0123 movs r3, #1
  3062. 958 0012 80F83C30 strb r3, [r0, #60]
  3063. 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3064. 959 .loc 1 1039 0 is_stmt 1 discriminator 2
  3065. 960 0016 0368 ldr r3, [r0]
  3066. 961 0018 9A68 ldr r2, [r3, #8]
  3067. 962 001a 12F0010F tst r2, #1
  3068. 963 001e 13D1 bne .L89
  3069. 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3070. 964 .loc 1 1042 0
  3071. 965 0020 9A68 ldr r2, [r3, #8]
  3072. 966 0022 42F00102 orr r2, r2, #1
  3073. 967 0026 9A60 str r2, [r3, #8]
  3074. 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  3075. ARM GAS /tmp/ccY0CtDt.s page 54
  3076. 968 .loc 1 1046 0
  3077. 969 0028 414B ldr r3, .L109
  3078. 970 002a 1B68 ldr r3, [r3]
  3079. 971 002c 414A ldr r2, .L109+4
  3080. 972 002e A2FB0323 umull r2, r3, r2, r3
  3081. 973 0032 9B0C lsrs r3, r3, #18
  3082. 974 0034 03EB4303 add r3, r3, r3, lsl #1
  3083. 975 0038 0193 str r3, [sp, #4]
  3084. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3085. 976 .loc 1 1047 0
  3086. 977 003a 02E0 b .L90
  3087. 978 .L91:
  3088. 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3089. 979 .loc 1 1049 0
  3090. 980 003c 019B ldr r3, [sp, #4]
  3091. 981 003e 013B subs r3, r3, #1
  3092. 982 0040 0193 str r3, [sp, #4]
  3093. 983 .L90:
  3094. 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3095. 984 .loc 1 1047 0
  3096. 985 0042 019B ldr r3, [sp, #4]
  3097. 986 0044 002B cmp r3, #0
  3098. 987 0046 F9D1 bne .L91
  3099. 988 .L89:
  3100. 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3101. 989 .loc 1 1054 0
  3102. 990 0048 0268 ldr r2, [r0]
  3103. 991 004a 9368 ldr r3, [r2, #8]
  3104. 992 004c 13F0010F tst r3, #1
  3105. 993 0050 66D0 beq .L99
  3106. 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  3107. 994 .loc 1 1059 0
  3108. 995 0052 036C ldr r3, [r0, #64]
  3109. 996 0054 23F4E063 bic r3, r3, #1792
  3110. 997 0058 23F00103 bic r3, r3, #1
  3111. 998 005c 43F48073 orr r3, r3, #256
  3112. 999 0060 0364 str r3, [r0, #64]
  3113. 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3114. 1000 .loc 1 1065 0
  3115. 1001 0062 5368 ldr r3, [r2, #4]
  3116. 1002 0064 13F4806F tst r3, #1024
  3117. 1003 0068 05D0 beq .L92
  3118. 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3119. 1004 .loc 1 1067 0
  3120. 1005 006a 036C ldr r3, [r0, #64]
  3121. 1006 006c 23F44053 bic r3, r3, #12288
  3122. 1007 0070 43F48053 orr r3, r3, #4096
  3123. 1008 0074 0364 str r3, [r0, #64]
  3124. 1009 .L92:
  3125. 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3126. 1010 .loc 1 1071 0
  3127. 1011 0076 036C ldr r3, [r0, #64]
  3128. 1012 0078 13F4805F tst r3, #4096
  3129. 1013 007c 22D0 beq .L93
  3130. 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3131. 1014 .loc 1 1074 0
  3132. 1015 007e 436C ldr r3, [r0, #68]
  3133. ARM GAS /tmp/ccY0CtDt.s page 55
  3134. 1016 0080 23F00603 bic r3, r3, #6
  3135. 1017 0084 4364 str r3, [r0, #68]
  3136. 1018 .L94:
  3137. 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3138. 1019 .loc 1 1085 0
  3139. 1020 0086 0023 movs r3, #0
  3140. 1021 0088 80F83C30 strb r3, [r0, #60]
  3141. 1022 .LVL60:
  3142. 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3143. 1023 .loc 1 1094 0
  3144. 1024 008c 6FF02203 mvn r3, #34
  3145. 1025 0090 1360 str r3, [r2]
  3146. 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3147. 1026 .loc 1 1097 0
  3148. 1027 0092 0268 ldr r2, [r0]
  3149. 1028 0094 5368 ldr r3, [r2, #4]
  3150. 1029 0096 43F08063 orr r3, r3, #67108864
  3151. 1030 009a 43F02003 orr r3, r3, #32
  3152. 1031 009e 5360 str r3, [r2, #4]
  3153. 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3154. 1032 .loc 1 1100 0
  3155. 1033 00a0 254B ldr r3, .L109+8
  3156. 1034 00a2 5B68 ldr r3, [r3, #4]
  3157. 1035 00a4 13F01F0F tst r3, #31
  3158. 1036 00a8 27D1 bne .L95
  3159. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3160. 1037 .loc 1 1103 0
  3161. 1038 00aa 0368 ldr r3, [r0]
  3162. 1039 00ac 234A ldr r2, .L109+12
  3163. 1040 00ae 9342 cmp r3, r2
  3164. 1041 00b0 19D0 beq .L96
  3165. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3166. 1042 .loc 1 1103 0 is_stmt 0 discriminator 1
  3167. 1043 00b2 02F58072 add r2, r2, #256
  3168. 1044 00b6 9342 cmp r3, r2
  3169. 1045 00b8 07D0 beq .L106
  3170. 1046 .L97:
  3171. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3172. 1047 .loc 1 1104 0 is_stmt 1
  3173. 1048 00ba 214A ldr r2, .L109+16
  3174. 1049 00bc 9342 cmp r3, r2
  3175. 1050 00be 0BD0 beq .L107
  3176. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3177. 1051 .loc 1 1129 0
  3178. 1052 00c0 0020 movs r0, #0
  3179. 1053 .LVL61:
  3180. 1054 00c2 2BE0 b .L88
  3181. 1055 .LVL62:
  3182. 1056 .L93:
  3183. 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3184. 1057 .loc 1 1079 0
  3185. 1058 00c4 0023 movs r3, #0
  3186. 1059 00c6 4364 str r3, [r0, #68]
  3187. 1060 00c8 DDE7 b .L94
  3188. 1061 .LVL63:
  3189. 1062 .L106:
  3190. 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3191. ARM GAS /tmp/ccY0CtDt.s page 56
  3192. 1063 .loc 1 1103 0 discriminator 2
  3193. 1064 00ca 02F50072 add r2, r2, #512
  3194. 1065 00ce 5268 ldr r2, [r2, #4]
  3195. 1066 00d0 12F01F0F tst r2, #31
  3196. 1067 00d4 07D0 beq .L96
  3197. 1068 00d6 F0E7 b .L97
  3198. 1069 .L107:
  3199. 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3200. 1070 .loc 1 1104 0 discriminator 1
  3201. 1071 00d8 02F58072 add r2, r2, #256
  3202. 1072 00dc 5268 ldr r2, [r2, #4]
  3203. 1073 00de 02F01F02 and r2, r2, #31
  3204. 1074 00e2 0F2A cmp r2, #15
  3205. 1075 00e4 1ED8 bhi .L101
  3206. 1076 .L96:
  3207. 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3208. 1077 .loc 1 1108 0
  3209. 1078 00e6 9A68 ldr r2, [r3, #8]
  3210. 1079 00e8 12F0405F tst r2, #805306368
  3211. 1080 00ec 1CD1 bne .L102
  3212. 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3213. 1081 .loc 1 1111 0
  3214. 1082 00ee 9A68 ldr r2, [r3, #8]
  3215. 1083 00f0 42F08042 orr r2, r2, #1073741824
  3216. 1084 00f4 9A60 str r2, [r3, #8]
  3217. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3218. 1085 .loc 1 1129 0
  3219. 1086 00f6 0020 movs r0, #0
  3220. 1087 .LVL64:
  3221. 1088 00f8 10E0 b .L88
  3222. 1089 .LVL65:
  3223. 1090 .L95:
  3224. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3225. 1091 .loc 1 1120 0
  3226. 1092 00fa 0368 ldr r3, [r0]
  3227. 1093 00fc 0F4A ldr r2, .L109+12
  3228. 1094 00fe 9342 cmp r3, r2
  3229. 1095 0100 01D0 beq .L108
  3230. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3231. 1096 .loc 1 1129 0
  3232. 1097 0102 0020 movs r0, #0
  3233. 1098 .LVL66:
  3234. 1099 0104 0AE0 b .L88
  3235. 1100 .LVL67:
  3236. 1101 .L108:
  3237. 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3238. 1102 .loc 1 1120 0 discriminator 1
  3239. 1103 0106 9A68 ldr r2, [r3, #8]
  3240. 1104 0108 12F0405F tst r2, #805306368
  3241. 1105 010c 0ED1 bne .L104
  3242. 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3243. 1106 .loc 1 1123 0
  3244. 1107 010e 9A68 ldr r2, [r3, #8]
  3245. 1108 0110 42F08042 orr r2, r2, #1073741824
  3246. 1109 0114 9A60 str r2, [r3, #8]
  3247. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3248. 1110 .loc 1 1129 0
  3249. ARM GAS /tmp/ccY0CtDt.s page 57
  3250. 1111 0116 0020 movs r0, #0
  3251. 1112 .LVL68:
  3252. 1113 0118 00E0 b .L88
  3253. 1114 .LVL69:
  3254. 1115 .L98:
  3255. 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3256. 1116 .loc 1 1034 0
  3257. 1117 011a 0220 movs r0, #2
  3258. 1118 .LVL70:
  3259. 1119 .L88:
  3260. 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3261. 1120 .loc 1 1130 0
  3262. 1121 011c 02B0 add sp, sp, #8
  3263. 1122 .LCFI12:
  3264. 1123 .cfi_remember_state
  3265. 1124 .cfi_def_cfa_offset 0
  3266. 1125 @ sp needed
  3267. 1126 011e 7047 bx lr
  3268. 1127 .LVL71:
  3269. 1128 .L99:
  3270. 1129 .LCFI13:
  3271. 1130 .cfi_restore_state
  3272. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3273. 1131 .loc 1 1129 0
  3274. 1132 0120 0020 movs r0, #0
  3275. 1133 .LVL72:
  3276. 1134 0122 FBE7 b .L88
  3277. 1135 .LVL73:
  3278. 1136 .L101:
  3279. 1137 0124 0020 movs r0, #0
  3280. 1138 .LVL74:
  3281. 1139 0126 F9E7 b .L88
  3282. 1140 .LVL75:
  3283. 1141 .L102:
  3284. 1142 0128 0020 movs r0, #0
  3285. 1143 .LVL76:
  3286. 1144 012a F7E7 b .L88
  3287. 1145 .LVL77:
  3288. 1146 .L104:
  3289. 1147 012c 0020 movs r0, #0
  3290. 1148 .LVL78:
  3291. 1149 012e F5E7 b .L88
  3292. 1150 .L110:
  3293. 1151 .align 2
  3294. 1152 .L109:
  3295. 1153 0130 00000000 .word SystemCoreClock
  3296. 1154 0134 83DE1B43 .word 1125899907
  3297. 1155 0138 00230140 .word 1073816320
  3298. 1156 013c 00200140 .word 1073815552
  3299. 1157 0140 00220140 .word 1073816064
  3300. 1158 .cfi_endproc
  3301. 1159 .LFE138:
  3302. 1161 .section .text.HAL_ADC_Stop_IT,"ax",%progbits
  3303. 1162 .align 1
  3304. 1163 .global HAL_ADC_Stop_IT
  3305. 1164 .syntax unified
  3306. 1165 .thumb
  3307. ARM GAS /tmp/ccY0CtDt.s page 58
  3308. 1166 .thumb_func
  3309. 1167 .fpu fpv4-sp-d16
  3310. 1169 HAL_ADC_Stop_IT:
  3311. 1170 .LFB139:
  3312. 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check the parameters */
  3313. 1171 .loc 1 1142 0
  3314. 1172 .cfi_startproc
  3315. 1173 @ args = 0, pretend = 0, frame = 0
  3316. 1174 @ frame_needed = 0, uses_anonymous_args = 0
  3317. 1175 @ link register save eliminated.
  3318. 1176 .LVL79:
  3319. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3320. 1177 .loc 1 1147 0
  3321. 1178 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  3322. 1179 0004 012B cmp r3, #1
  3323. 1180 0006 1FD0 beq .L114
  3324. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3325. 1181 .loc 1 1147 0 is_stmt 0 discriminator 2
  3326. 1182 0008 0123 movs r3, #1
  3327. 1183 000a 80F83C30 strb r3, [r0, #60]
  3328. 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3329. 1184 .loc 1 1151 0 is_stmt 1 discriminator 2
  3330. 1185 000e 0268 ldr r2, [r0]
  3331. 1186 0010 9368 ldr r3, [r2, #8]
  3332. 1187 0012 23F00103 bic r3, r3, #1
  3333. 1188 0016 9360 str r3, [r2, #8]
  3334. 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3335. 1189 .loc 1 1154 0 discriminator 2
  3336. 1190 0018 0368 ldr r3, [r0]
  3337. 1191 001a 9A68 ldr r2, [r3, #8]
  3338. 1192 001c 12F0010F tst r2, #1
  3339. 1193 0020 0DD1 bne .L113
  3340. 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3341. 1194 .loc 1 1157 0
  3342. 1195 0022 5A68 ldr r2, [r3, #4]
  3343. 1196 0024 22F08062 bic r2, r2, #67108864
  3344. 1197 0028 22F02002 bic r2, r2, #32
  3345. 1198 002c 5A60 str r2, [r3, #4]
  3346. 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  3347. 1199 .loc 1 1160 0
  3348. 1200 002e 036C ldr r3, [r0, #64]
  3349. 1201 0030 23F48853 bic r3, r3, #4352
  3350. 1202 0034 23F00103 bic r3, r3, #1
  3351. 1203 0038 43F00103 orr r3, r3, #1
  3352. 1204 003c 0364 str r3, [r0, #64]
  3353. 1205 .L113:
  3354. 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3355. 1206 .loc 1 1166 0
  3356. 1207 003e 0023 movs r3, #0
  3357. 1208 0040 80F83C30 strb r3, [r0, #60]
  3358. 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3359. 1209 .loc 1 1169 0
  3360. 1210 0044 1846 mov r0, r3
  3361. 1211 .LVL80:
  3362. 1212 0046 7047 bx lr
  3363. 1213 .LVL81:
  3364. 1214 .L114:
  3365. ARM GAS /tmp/ccY0CtDt.s page 59
  3366. 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3367. 1215 .loc 1 1147 0
  3368. 1216 0048 0220 movs r0, #2
  3369. 1217 .LVL82:
  3370. 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3371. 1218 .loc 1 1170 0
  3372. 1219 004a 7047 bx lr
  3373. 1220 .cfi_endproc
  3374. 1221 .LFE139:
  3375. 1223 .section .text.HAL_ADC_Start_DMA,"ax",%progbits
  3376. 1224 .align 1
  3377. 1225 .global HAL_ADC_Start_DMA
  3378. 1226 .syntax unified
  3379. 1227 .thumb
  3380. 1228 .thumb_func
  3381. 1229 .fpu fpv4-sp-d16
  3382. 1231 HAL_ADC_Start_DMA:
  3383. 1232 .LFB141:
  3384. 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  3385. 1233 .loc 1 1341 0
  3386. 1234 .cfi_startproc
  3387. 1235 @ args = 0, pretend = 0, frame = 8
  3388. 1236 @ frame_needed = 0, uses_anonymous_args = 0
  3389. 1237 .LVL83:
  3390. 1238 0000 30B5 push {r4, r5, lr}
  3391. 1239 .LCFI14:
  3392. 1240 .cfi_def_cfa_offset 12
  3393. 1241 .cfi_offset 4, -12
  3394. 1242 .cfi_offset 5, -8
  3395. 1243 .cfi_offset 14, -4
  3396. 1244 0002 83B0 sub sp, sp, #12
  3397. 1245 .LCFI15:
  3398. 1246 .cfi_def_cfa_offset 24
  3399. 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  3400. 1247 .loc 1 1342 0
  3401. 1248 0004 0023 movs r3, #0
  3402. 1249 0006 0193 str r3, [sp, #4]
  3403. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3404. 1250 .loc 1 1350 0
  3405. 1251 0008 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  3406. 1252 000c 012B cmp r3, #1
  3407. 1253 000e 00F09B80 beq .L126
  3408. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3409. 1254 .loc 1 1350 0 is_stmt 0 discriminator 2
  3410. 1255 0012 0123 movs r3, #1
  3411. 1256 0014 80F83C30 strb r3, [r0, #60]
  3412. 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3413. 1257 .loc 1 1355 0 is_stmt 1 discriminator 2
  3414. 1258 0018 0368 ldr r3, [r0]
  3415. 1259 001a 9C68 ldr r4, [r3, #8]
  3416. 1260 001c 14F0010F tst r4, #1
  3417. 1261 0020 13D1 bne .L117
  3418. 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3419. 1262 .loc 1 1358 0
  3420. 1263 0022 9C68 ldr r4, [r3, #8]
  3421. 1264 0024 44F00104 orr r4, r4, #1
  3422. 1265 0028 9C60 str r4, [r3, #8]
  3423. ARM GAS /tmp/ccY0CtDt.s page 60
  3424. 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  3425. 1266 .loc 1 1362 0
  3426. 1267 002a 4D4B ldr r3, .L137
  3427. 1268 002c 1C68 ldr r4, [r3]
  3428. 1269 002e 4D4B ldr r3, .L137+4
  3429. 1270 0030 A3FB0434 umull r3, r4, r3, r4
  3430. 1271 0034 A40C lsrs r4, r4, #18
  3431. 1272 0036 04EB4404 add r4, r4, r4, lsl #1
  3432. 1273 003a 0194 str r4, [sp, #4]
  3433. 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3434. 1274 .loc 1 1363 0
  3435. 1275 003c 02E0 b .L118
  3436. 1276 .L119:
  3437. 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3438. 1277 .loc 1 1365 0
  3439. 1278 003e 019C ldr r4, [sp, #4]
  3440. 1279 0040 013C subs r4, r4, #1
  3441. 1280 0042 0194 str r4, [sp, #4]
  3442. 1281 .L118:
  3443. 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3444. 1282 .loc 1 1363 0
  3445. 1283 0044 019C ldr r4, [sp, #4]
  3446. 1284 0046 002C cmp r4, #0
  3447. 1285 0048 F9D1 bne .L119
  3448. 1286 .L117:
  3449. 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3450. 1287 .loc 1 1370 0
  3451. 1288 004a 0368 ldr r3, [r0]
  3452. 1289 004c 9C68 ldr r4, [r3, #8]
  3453. 1290 004e 14F0010F tst r4, #1
  3454. 1291 0052 7CD0 beq .L127
  3455. 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR,
  3456. 1292 .loc 1 1375 0
  3457. 1293 0054 046C ldr r4, [r0, #64]
  3458. 1294 0056 24F4E064 bic r4, r4, #1792
  3459. 1295 005a 24F00104 bic r4, r4, #1
  3460. 1296 005e 44F48074 orr r4, r4, #256
  3461. 1297 0062 0464 str r4, [r0, #64]
  3462. 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3463. 1298 .loc 1 1381 0
  3464. 1299 0064 5B68 ldr r3, [r3, #4]
  3465. 1300 0066 13F4806F tst r3, #1024
  3466. 1301 006a 05D0 beq .L120
  3467. 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3468. 1302 .loc 1 1383 0
  3469. 1303 006c 036C ldr r3, [r0, #64]
  3470. 1304 006e 23F44053 bic r3, r3, #12288
  3471. 1305 0072 43F48053 orr r3, r3, #4096
  3472. 1306 0076 0364 str r3, [r0, #64]
  3473. 1307 .L120:
  3474. 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3475. 1308 .loc 1 1387 0
  3476. 1309 0078 036C ldr r3, [r0, #64]
  3477. 1310 007a 13F4805F tst r3, #4096
  3478. 1311 007e 38D0 beq .L121
  3479. 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3480. 1312 .loc 1 1390 0
  3481. ARM GAS /tmp/ccY0CtDt.s page 61
  3482. 1313 0080 436C ldr r3, [r0, #68]
  3483. 1314 0082 23F00603 bic r3, r3, #6
  3484. 1315 0086 4364 str r3, [r0, #68]
  3485. 1316 .L122:
  3486. 1317 0088 1346 mov r3, r2
  3487. 1318 008a 0446 mov r4, r0
  3488. 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3489. 1319 .loc 1 1401 0
  3490. 1320 008c 0022 movs r2, #0
  3491. 1321 .LVL84:
  3492. 1322 008e 80F83C20 strb r2, [r0, #60]
  3493. 1323 .LVL85:
  3494. 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3495. 1324 .loc 1 1409 0
  3496. 1325 0092 826B ldr r2, [r0, #56]
  3497. 1326 0094 3448 ldr r0, .L137+8
  3498. 1327 .LVL86:
  3499. 1328 0096 D063 str r0, [r2, #60]
  3500. 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3501. 1329 .loc 1 1412 0
  3502. 1330 0098 A26B ldr r2, [r4, #56]
  3503. 1331 009a 3448 ldr r0, .L137+12
  3504. 1332 009c 1064 str r0, [r2, #64]
  3505. 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3506. 1333 .loc 1 1415 0
  3507. 1334 009e A26B ldr r2, [r4, #56]
  3508. 1335 00a0 3348 ldr r0, .L137+16
  3509. 1336 00a2 D064 str r0, [r2, #76]
  3510. 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3511. 1337 .loc 1 1423 0
  3512. 1338 00a4 2268 ldr r2, [r4]
  3513. 1339 00a6 6FF02200 mvn r0, #34
  3514. 1340 00aa 1060 str r0, [r2]
  3515. 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3516. 1341 .loc 1 1426 0
  3517. 1342 00ac 2568 ldr r5, [r4]
  3518. 1343 00ae 6868 ldr r0, [r5, #4]
  3519. 1344 00b0 40F08060 orr r0, r0, #67108864
  3520. 1345 00b4 6860 str r0, [r5, #4]
  3521. 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3522. 1346 .loc 1 1429 0
  3523. 1347 00b6 2568 ldr r5, [r4]
  3524. 1348 00b8 A868 ldr r0, [r5, #8]
  3525. 1349 00ba 40F48070 orr r0, r0, #256
  3526. 1350 00be A860 str r0, [r5, #8]
  3527. 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3528. 1351 .loc 1 1432 0
  3529. 1352 00c0 2068 ldr r0, [r4]
  3530. 1353 00c2 0A46 mov r2, r1
  3531. 1354 00c4 00F14C01 add r1, r0, #76
  3532. 1355 .LVL87:
  3533. 1356 00c8 A06B ldr r0, [r4, #56]
  3534. 1357 00ca FFF7FEFF bl HAL_DMA_Start_IT
  3535. 1358 .LVL88:
  3536. 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3537. 1359 .loc 1 1435 0
  3538. 1360 00ce 294B ldr r3, .L137+20
  3539. ARM GAS /tmp/ccY0CtDt.s page 62
  3540. 1361 00d0 5B68 ldr r3, [r3, #4]
  3541. 1362 00d2 13F01F0F tst r3, #31
  3542. 1363 00d6 27D1 bne .L123
  3543. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3544. 1364 .loc 1 1438 0
  3545. 1365 00d8 2368 ldr r3, [r4]
  3546. 1366 00da 274A ldr r2, .L137+24
  3547. 1367 00dc 9342 cmp r3, r2
  3548. 1368 00de 19D0 beq .L124
  3549. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3550. 1369 .loc 1 1438 0 is_stmt 0 discriminator 1
  3551. 1370 00e0 02F58072 add r2, r2, #256
  3552. 1371 00e4 9342 cmp r3, r2
  3553. 1372 00e6 07D0 beq .L134
  3554. 1373 .L125:
  3555. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3556. 1374 .loc 1 1439 0 is_stmt 1
  3557. 1375 00e8 244A ldr r2, .L137+28
  3558. 1376 00ea 9342 cmp r3, r2
  3559. 1377 00ec 0BD0 beq .L135
  3560. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3561. 1378 .loc 1 1464 0
  3562. 1379 00ee 0020 movs r0, #0
  3563. 1380 00f0 2BE0 b .L116
  3564. 1381 .LVL89:
  3565. 1382 .L121:
  3566. 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3567. 1383 .loc 1 1395 0
  3568. 1384 00f2 0023 movs r3, #0
  3569. 1385 00f4 4364 str r3, [r0, #68]
  3570. 1386 00f6 C7E7 b .L122
  3571. 1387 .LVL90:
  3572. 1388 .L134:
  3573. 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** || ((hadc->Instance == ADC3) && ((ADC->CCR & ADC_CCR_MULTI_Msk) <
  3574. 1389 .loc 1 1438 0 discriminator 2
  3575. 1390 00f8 02F50072 add r2, r2, #512
  3576. 1391 00fc 5268 ldr r2, [r2, #4]
  3577. 1392 00fe 12F01F0F tst r2, #31
  3578. 1393 0102 07D0 beq .L124
  3579. 1394 0104 F0E7 b .L125
  3580. 1395 .L135:
  3581. 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3582. 1396 .loc 1 1439 0 discriminator 1
  3583. 1397 0106 02F58072 add r2, r2, #256
  3584. 1398 010a 5268 ldr r2, [r2, #4]
  3585. 1399 010c 02F01F02 and r2, r2, #31
  3586. 1400 0110 0F2A cmp r2, #15
  3587. 1401 0112 1ED8 bhi .L129
  3588. 1402 .L124:
  3589. 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3590. 1403 .loc 1 1443 0
  3591. 1404 0114 9A68 ldr r2, [r3, #8]
  3592. 1405 0116 12F0405F tst r2, #805306368
  3593. 1406 011a 1CD1 bne .L130
  3594. 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3595. 1407 .loc 1 1446 0
  3596. 1408 011c 9A68 ldr r2, [r3, #8]
  3597. ARM GAS /tmp/ccY0CtDt.s page 63
  3598. 1409 011e 42F08042 orr r2, r2, #1073741824
  3599. 1410 0122 9A60 str r2, [r3, #8]
  3600. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3601. 1411 .loc 1 1464 0
  3602. 1412 0124 0020 movs r0, #0
  3603. 1413 0126 10E0 b .L116
  3604. 1414 .L123:
  3605. 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3606. 1415 .loc 1 1455 0
  3607. 1416 0128 2368 ldr r3, [r4]
  3608. 1417 012a 134A ldr r2, .L137+24
  3609. 1418 012c 9342 cmp r3, r2
  3610. 1419 012e 01D0 beq .L136
  3611. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3612. 1420 .loc 1 1464 0
  3613. 1421 0130 0020 movs r0, #0
  3614. 1422 0132 0AE0 b .L116
  3615. 1423 .L136:
  3616. 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3617. 1424 .loc 1 1455 0 discriminator 1
  3618. 1425 0134 9A68 ldr r2, [r3, #8]
  3619. 1426 0136 12F0405F tst r2, #805306368
  3620. 1427 013a 0ED1 bne .L132
  3621. 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3622. 1428 .loc 1 1458 0
  3623. 1429 013c 9A68 ldr r2, [r3, #8]
  3624. 1430 013e 42F08042 orr r2, r2, #1073741824
  3625. 1431 0142 9A60 str r2, [r3, #8]
  3626. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3627. 1432 .loc 1 1464 0
  3628. 1433 0144 0020 movs r0, #0
  3629. 1434 0146 00E0 b .L116
  3630. 1435 .LVL91:
  3631. 1436 .L126:
  3632. 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3633. 1437 .loc 1 1350 0
  3634. 1438 0148 0220 movs r0, #2
  3635. 1439 .LVL92:
  3636. 1440 .L116:
  3637. 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3638. 1441 .loc 1 1465 0
  3639. 1442 014a 03B0 add sp, sp, #12
  3640. 1443 .LCFI16:
  3641. 1444 .cfi_remember_state
  3642. 1445 .cfi_def_cfa_offset 12
  3643. 1446 @ sp needed
  3644. 1447 014c 30BD pop {r4, r5, pc}
  3645. 1448 .LVL93:
  3646. 1449 .L127:
  3647. 1450 .LCFI17:
  3648. 1451 .cfi_restore_state
  3649. 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3650. 1452 .loc 1 1464 0
  3651. 1453 014e 0020 movs r0, #0
  3652. 1454 .LVL94:
  3653. 1455 0150 FBE7 b .L116
  3654. 1456 .LVL95:
  3655. ARM GAS /tmp/ccY0CtDt.s page 64
  3656. 1457 .L129:
  3657. 1458 0152 0020 movs r0, #0
  3658. 1459 0154 F9E7 b .L116
  3659. 1460 .L130:
  3660. 1461 0156 0020 movs r0, #0
  3661. 1462 0158 F7E7 b .L116
  3662. 1463 .L132:
  3663. 1464 015a 0020 movs r0, #0
  3664. 1465 015c F5E7 b .L116
  3665. 1466 .L138:
  3666. 1467 015e 00BF .align 2
  3667. 1468 .L137:
  3668. 1469 0160 00000000 .word SystemCoreClock
  3669. 1470 0164 83DE1B43 .word 1125899907
  3670. 1471 0168 00000000 .word ADC_DMAConvCplt
  3671. 1472 016c 00000000 .word ADC_DMAHalfConvCplt
  3672. 1473 0170 00000000 .word ADC_DMAError
  3673. 1474 0174 00230140 .word 1073816320
  3674. 1475 0178 00200140 .word 1073815552
  3675. 1476 017c 00220140 .word 1073816064
  3676. 1477 .cfi_endproc
  3677. 1478 .LFE141:
  3678. 1480 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits
  3679. 1481 .align 1
  3680. 1482 .global HAL_ADC_Stop_DMA
  3681. 1483 .syntax unified
  3682. 1484 .thumb
  3683. 1485 .thumb_func
  3684. 1486 .fpu fpv4-sp-d16
  3685. 1488 HAL_ADC_Stop_DMA:
  3686. 1489 .LFB142:
  3687. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  3688. 1490 .loc 1 1474 0
  3689. 1491 .cfi_startproc
  3690. 1492 @ args = 0, pretend = 0, frame = 0
  3691. 1493 @ frame_needed = 0, uses_anonymous_args = 0
  3692. 1494 .LVL96:
  3693. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3694. 1495 .loc 1 1481 0
  3695. 1496 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  3696. 1497 0004 012B cmp r3, #1
  3697. 1498 0006 28D0 beq .L142
  3698. 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
  3699. 1499 .loc 1 1474 0 discriminator 2
  3700. 1500 0008 10B5 push {r4, lr}
  3701. 1501 .LCFI18:
  3702. 1502 .cfi_def_cfa_offset 8
  3703. 1503 .cfi_offset 4, -8
  3704. 1504 .cfi_offset 14, -4
  3705. 1505 000a 0446 mov r4, r0
  3706. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3707. 1506 .loc 1 1481 0 discriminator 2
  3708. 1507 000c 0123 movs r3, #1
  3709. 1508 000e 80F83C30 strb r3, [r0, #60]
  3710. 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3711. 1509 .loc 1 1485 0 discriminator 2
  3712. 1510 0012 0268 ldr r2, [r0]
  3713. ARM GAS /tmp/ccY0CtDt.s page 65
  3714. 1511 0014 9368 ldr r3, [r2, #8]
  3715. 1512 0016 23F00103 bic r3, r3, #1
  3716. 1513 001a 9360 str r3, [r2, #8]
  3717. 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3718. 1514 .loc 1 1488 0 discriminator 2
  3719. 1515 001c 0368 ldr r3, [r0]
  3720. 1516 001e 9A68 ldr r2, [r3, #8]
  3721. 1517 0020 12F0010F tst r2, #1
  3722. 1518 0024 04D0 beq .L148
  3723. 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3724. 1519 .loc 1 1475 0
  3725. 1520 0026 0020 movs r0, #0
  3726. 1521 .LVL97:
  3727. 1522 .L141:
  3728. 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3729. 1523 .loc 1 1507 0
  3730. 1524 0028 0023 movs r3, #0
  3731. 1525 002a 84F83C30 strb r3, [r4, #60]
  3732. 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3733. 1526 .loc 1 1510 0
  3734. 1527 002e 10BD pop {r4, pc}
  3735. 1528 .LVL98:
  3736. 1529 .L148:
  3737. 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3738. 1530 .loc 1 1491 0
  3739. 1531 0030 9A68 ldr r2, [r3, #8]
  3740. 1532 0032 22F48072 bic r2, r2, #256
  3741. 1533 0036 9A60 str r2, [r3, #8]
  3742. 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3743. 1534 .loc 1 1495 0
  3744. 1535 0038 806B ldr r0, [r0, #56]
  3745. 1536 .LVL99:
  3746. 1537 003a FFF7FEFF bl HAL_DMA_Abort
  3747. 1538 .LVL100:
  3748. 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3749. 1539 .loc 1 1498 0
  3750. 1540 003e 2268 ldr r2, [r4]
  3751. 1541 0040 5368 ldr r3, [r2, #4]
  3752. 1542 0042 23F08063 bic r3, r3, #67108864
  3753. 1543 0046 5360 str r3, [r2, #4]
  3754. 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY,
  3755. 1544 .loc 1 1501 0
  3756. 1545 0048 236C ldr r3, [r4, #64]
  3757. 1546 004a 23F48853 bic r3, r3, #4352
  3758. 1547 004e 23F00103 bic r3, r3, #1
  3759. 1548 0052 43F00103 orr r3, r3, #1
  3760. 1549 0056 2364 str r3, [r4, #64]
  3761. 1550 0058 E6E7 b .L141
  3762. 1551 .LVL101:
  3763. 1552 .L142:
  3764. 1553 .LCFI19:
  3765. 1554 .cfi_def_cfa_offset 0
  3766. 1555 .cfi_restore 4
  3767. 1556 .cfi_restore 14
  3768. 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3769. 1557 .loc 1 1481 0
  3770. 1558 005a 0220 movs r0, #2
  3771. ARM GAS /tmp/ccY0CtDt.s page 66
  3772. 1559 .LVL102:
  3773. 1560 005c 7047 bx lr
  3774. 1561 .cfi_endproc
  3775. 1562 .LFE142:
  3776. 1564 .section .text.HAL_ADC_GetValue,"ax",%progbits
  3777. 1565 .align 1
  3778. 1566 .global HAL_ADC_GetValue
  3779. 1567 .syntax unified
  3780. 1568 .thumb
  3781. 1569 .thumb_func
  3782. 1570 .fpu fpv4-sp-d16
  3783. 1572 HAL_ADC_GetValue:
  3784. 1573 .LFB143:
  3785. 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return the selected ADC converted value */
  3786. 1574 .loc 1 1520 0
  3787. 1575 .cfi_startproc
  3788. 1576 @ args = 0, pretend = 0, frame = 0
  3789. 1577 @ frame_needed = 0, uses_anonymous_args = 0
  3790. 1578 @ link register save eliminated.
  3791. 1579 .LVL103:
  3792. 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3793. 1580 .loc 1 1522 0
  3794. 1581 0000 0368 ldr r3, [r0]
  3795. 1582 0002 D86C ldr r0, [r3, #76]
  3796. 1583 .LVL104:
  3797. 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3798. 1584 .loc 1 1523 0
  3799. 1585 0004 7047 bx lr
  3800. 1586 .cfi_endproc
  3801. 1587 .LFE143:
  3802. 1589 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
  3803. 1590 .align 1
  3804. 1591 .weak HAL_ADC_ConvCpltCallback
  3805. 1592 .syntax unified
  3806. 1593 .thumb
  3807. 1594 .thumb_func
  3808. 1595 .fpu fpv4-sp-d16
  3809. 1597 HAL_ADC_ConvCpltCallback:
  3810. 1598 .LFB144:
  3811. 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  3812. 1599 .loc 1 1532 0
  3813. 1600 .cfi_startproc
  3814. 1601 @ args = 0, pretend = 0, frame = 0
  3815. 1602 @ frame_needed = 0, uses_anonymous_args = 0
  3816. 1603 @ link register save eliminated.
  3817. 1604 .LVL105:
  3818. 1605 0000 7047 bx lr
  3819. 1606 .cfi_endproc
  3820. 1607 .LFE144:
  3821. 1609 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
  3822. 1610 .align 1
  3823. 1611 .weak HAL_ADC_ConvHalfCpltCallback
  3824. 1612 .syntax unified
  3825. 1613 .thumb
  3826. 1614 .thumb_func
  3827. 1615 .fpu fpv4-sp-d16
  3828. 1617 HAL_ADC_ConvHalfCpltCallback:
  3829. ARM GAS /tmp/ccY0CtDt.s page 67
  3830. 1618 .LFB145:
  3831. 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  3832. 1619 .loc 1 1547 0
  3833. 1620 .cfi_startproc
  3834. 1621 @ args = 0, pretend = 0, frame = 0
  3835. 1622 @ frame_needed = 0, uses_anonymous_args = 0
  3836. 1623 @ link register save eliminated.
  3837. 1624 .LVL106:
  3838. 1625 0000 7047 bx lr
  3839. 1626 .cfi_endproc
  3840. 1627 .LFE145:
  3841. 1629 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits
  3842. 1630 .align 1
  3843. 1631 .syntax unified
  3844. 1632 .thumb
  3845. 1633 .thumb_func
  3846. 1634 .fpu fpv4-sp-d16
  3847. 1636 ADC_DMAHalfConvCplt:
  3848. 1637 .LFB154:
  3849. 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3850. 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3851. 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  3852. 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA transfer complete callback.
  3853. 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3854. 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module.
  3855. 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  3856. 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  3857. 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma)
  3858. 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3859. 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
  3860. 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
  3861. 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3862. 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
  3863. 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA))
  3864. 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3865. 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Update ADC state machine */
  3866. 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
  3867. 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3868. 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
  3869. 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
  3870. 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: On STM32F4, there is no independent flag of end of sequence. */
  3871. 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* The test of scan sequence on going is done either with scan */
  3872. 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* sequence disabled or with end of conversion flag set to */
  3873. 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* of end of sequence. */
  3874. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  3875. 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  3876. 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  3877. 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  3878. 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3879. 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
  3880. 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
  3881. 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* HAL_ADC_Start_IT(), but is not disabled here because can be used */
  3882. 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* by overrun IRQ process below. */
  3883. 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC);
  3884. 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3885. 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC state */
  3886. 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY);
  3887. ARM GAS /tmp/ccY0CtDt.s page 68
  3888. 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3889. 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY))
  3890. 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3891. 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_READY);
  3892. 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3893. 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3894. 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3895. 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Conversion complete callback */
  3896. 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  3897. 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
  3898. 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  3899. 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
  3900. 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  3901. 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3902. 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else /* DMA and-or internal error occurred */
  3903. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3904. 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL)
  3905. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3906. 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call HAL ADC Error Callback function */
  3907. 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  3908. 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc);
  3909. 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  3910. 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
  3911. 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  3912. 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3913. 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** else
  3914. 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3915. 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Call DMA error callback */
  3916. 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma);
  3917. 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3918. 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3919. 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  3920. 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  3921. 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  3922. 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA half transfer complete callback.
  3923. 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  3924. 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module.
  3925. 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  3926. 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  3927. 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma)
  3928. 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  3929. 1638 .loc 1 2015 0
  3930. 1639 .cfi_startproc
  3931. 1640 @ args = 0, pretend = 0, frame = 0
  3932. 1641 @ frame_needed = 0, uses_anonymous_args = 0
  3933. 1642 .LVL107:
  3934. 1643 .loc 1 2015 0
  3935. 1644 0000 08B5 push {r3, lr}
  3936. 1645 .LCFI20:
  3937. 1646 .cfi_def_cfa_offset 8
  3938. 1647 .cfi_offset 3, -8
  3939. 1648 .cfi_offset 14, -4
  3940. 1649 .LVL108:
  3941. 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
  3942. 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Half conversion callback */
  3943. 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  3944. 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc);
  3945. ARM GAS /tmp/ccY0CtDt.s page 69
  3946. 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  3947. 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc);
  3948. 1650 .loc 1 2021 0
  3949. 1651 0002 806B ldr r0, [r0, #56]
  3950. 1652 .LVL109:
  3951. 1653 0004 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback
  3952. 1654 .LVL110:
  3953. 1655 0008 08BD pop {r3, pc}
  3954. 1656 .cfi_endproc
  3955. 1657 .LFE154:
  3956. 1659 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits
  3957. 1660 .align 1
  3958. 1661 .weak HAL_ADC_LevelOutOfWindowCallback
  3959. 1662 .syntax unified
  3960. 1663 .thumb
  3961. 1664 .thumb_func
  3962. 1665 .fpu fpv4-sp-d16
  3963. 1667 HAL_ADC_LevelOutOfWindowCallback:
  3964. 1668 .LFB146:
  3965. 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  3966. 1669 .loc 1 1562 0
  3967. 1670 .cfi_startproc
  3968. 1671 @ args = 0, pretend = 0, frame = 0
  3969. 1672 @ frame_needed = 0, uses_anonymous_args = 0
  3970. 1673 @ link register save eliminated.
  3971. 1674 .LVL111:
  3972. 1675 0000 7047 bx lr
  3973. 1676 .cfi_endproc
  3974. 1677 .LFE146:
  3975. 1679 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits
  3976. 1680 .align 1
  3977. 1681 .weak HAL_ADC_ErrorCallback
  3978. 1682 .syntax unified
  3979. 1683 .thumb
  3980. 1684 .thumb_func
  3981. 1685 .fpu fpv4-sp-d16
  3982. 1687 HAL_ADC_ErrorCallback:
  3983. 1688 .LFB147:
  3984. 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
  3985. 1689 .loc 1 1583 0
  3986. 1690 .cfi_startproc
  3987. 1691 @ args = 0, pretend = 0, frame = 0
  3988. 1692 @ frame_needed = 0, uses_anonymous_args = 0
  3989. 1693 @ link register save eliminated.
  3990. 1694 .LVL112:
  3991. 1695 0000 7047 bx lr
  3992. 1696 .cfi_endproc
  3993. 1697 .LFE147:
  3994. 1699 .section .text.HAL_ADC_IRQHandler,"ax",%progbits
  3995. 1700 .align 1
  3996. 1701 .global HAL_ADC_IRQHandler
  3997. 1702 .syntax unified
  3998. 1703 .thumb
  3999. 1704 .thumb_func
  4000. 1705 .fpu fpv4-sp-d16
  4001. 1707 HAL_ADC_IRQHandler:
  4002. 1708 .LFB140:
  4003. ARM GAS /tmp/ccY0CtDt.s page 70
  4004. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U;
  4005. 1709 .loc 1 1179 0
  4006. 1710 .cfi_startproc
  4007. 1711 @ args = 0, pretend = 0, frame = 0
  4008. 1712 @ frame_needed = 0, uses_anonymous_args = 0
  4009. 1713 .LVL113:
  4010. 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** uint32_t tmp1 = 0U, tmp2 = 0U;
  4011. 1714 .loc 1 1179 0
  4012. 1715 0000 38B5 push {r3, r4, r5, lr}
  4013. 1716 .LCFI21:
  4014. 1717 .cfi_def_cfa_offset 16
  4015. 1718 .cfi_offset 3, -16
  4016. 1719 .cfi_offset 4, -12
  4017. 1720 .cfi_offset 5, -8
  4018. 1721 .cfi_offset 14, -4
  4019. 1722 0002 0446 mov r4, r0
  4020. 1723 .LVL114:
  4021. 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOC);
  4022. 1724 .loc 1 1187 0
  4023. 1725 0004 0268 ldr r2, [r0]
  4024. 1726 0006 1168 ldr r1, [r2]
  4025. 1727 .LVL115:
  4026. 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for regular channels */
  4027. 1728 .loc 1 1188 0
  4028. 1729 0008 5368 ldr r3, [r2, #4]
  4029. 1730 .LVL116:
  4030. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4031. 1731 .loc 1 1190 0
  4032. 1732 000a 11F0020F tst r1, #2
  4033. 1733 000e 2FD0 beq .L157
  4034. 1734 0010 03F02003 and r3, r3, #32
  4035. 1735 .LVL117:
  4036. 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4037. 1736 .loc 1 1190 0 is_stmt 0 discriminator 1
  4038. 1737 0014 63B3 cbz r3, .L157
  4039. 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4040. 1738 .loc 1 1193 0 is_stmt 1
  4041. 1739 0016 036C ldr r3, [r0, #64]
  4042. 1740 .LVL118:
  4043. 1741 0018 13F0100F tst r3, #16
  4044. 1742 001c 03D1 bne .L158
  4045. 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4046. 1743 .loc 1 1196 0
  4047. 1744 001e 036C ldr r3, [r0, #64]
  4048. 1745 0020 43F40073 orr r3, r3, #512
  4049. 1746 0024 0364 str r3, [r0, #64]
  4050. 1747 .L158:
  4051. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  4052. 1748 .loc 1 1205 0
  4053. 1749 0026 9368 ldr r3, [r2, #8]
  4054. 1750 0028 13F0405F tst r3, #805306368
  4055. 1751 002c 19D1 bne .L159
  4056. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  4057. 1752 .loc 1 1206 0 discriminator 1
  4058. 1753 002e 237E ldrb r3, [r4, #24] @ zero_extendqisi2
  4059. 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  4060. 1754 .loc 1 1205 0 discriminator 1
  4061. ARM GAS /tmp/ccY0CtDt.s page 71
  4062. 1755 0030 BBB9 cbnz r3, .L159
  4063. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  4064. 1756 .loc 1 1207 0
  4065. 1757 0032 D36A ldr r3, [r2, #44]
  4066. 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  4067. 1758 .loc 1 1206 0
  4068. 1759 0034 13F4700F tst r3, #15728640
  4069. 1760 0038 03D0 beq .L160
  4070. 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4071. 1761 .loc 1 1208 0
  4072. 1762 003a 9368 ldr r3, [r2, #8]
  4073. 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  4074. 1763 .loc 1 1207 0
  4075. 1764 003c 13F4806F tst r3, #1024
  4076. 1765 0040 0FD1 bne .L159
  4077. 1766 .L160:
  4078. 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4079. 1767 .loc 1 1214 0
  4080. 1768 0042 5368 ldr r3, [r2, #4]
  4081. 1769 0044 23F02003 bic r3, r3, #32
  4082. 1770 0048 5360 str r3, [r2, #4]
  4083. 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4084. 1771 .loc 1 1217 0
  4085. 1772 004a 236C ldr r3, [r4, #64]
  4086. 1773 004c 23F48073 bic r3, r3, #256
  4087. 1774 0050 2364 str r3, [r4, #64]
  4088. 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4089. 1775 .loc 1 1219 0
  4090. 1776 0052 236C ldr r3, [r4, #64]
  4091. 1777 0054 13F4805F tst r3, #4096
  4092. 1778 0058 03D1 bne .L159
  4093. 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4094. 1779 .loc 1 1221 0
  4095. 1780 005a 236C ldr r3, [r4, #64]
  4096. 1781 005c 43F00103 orr r3, r3, #1
  4097. 1782 0060 2364 str r3, [r4, #64]
  4098. 1783 .L159:
  4099. 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4100. 1784 .loc 1 1229 0
  4101. 1785 0062 2046 mov r0, r4
  4102. 1786 .LVL119:
  4103. 1787 0064 FFF7FEFF bl HAL_ADC_ConvCpltCallback
  4104. 1788 .LVL120:
  4105. 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4106. 1789 .loc 1 1233 0
  4107. 1790 0068 2368 ldr r3, [r4]
  4108. 1791 006a 6FF01202 mvn r2, #18
  4109. 1792 006e 1A60 str r2, [r3]
  4110. 1793 .L157:
  4111. 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_JEOC);
  4112. 1794 .loc 1 1236 0
  4113. 1795 0070 2368 ldr r3, [r4]
  4114. 1796 0072 1968 ldr r1, [r3]
  4115. 1797 .LVL121:
  4116. 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check End of conversion flag for injected channels */
  4117. 1798 .loc 1 1237 0
  4118. 1799 0074 5A68 ldr r2, [r3, #4]
  4119. ARM GAS /tmp/ccY0CtDt.s page 72
  4120. 1800 0076 02F08002 and r2, r2, #128
  4121. 1801 .LVL122:
  4122. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4123. 1802 .loc 1 1239 0
  4124. 1803 007a 11F0040F tst r1, #4
  4125. 1804 007e 36D0 beq .L161
  4126. 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4127. 1805 .loc 1 1239 0 is_stmt 0 discriminator 1
  4128. 1806 0080 002A cmp r2, #0
  4129. 1807 0082 34D0 beq .L161
  4130. 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4131. 1808 .loc 1 1242 0 is_stmt 1
  4132. 1809 0084 226C ldr r2, [r4, #64]
  4133. 1810 .LVL123:
  4134. 1811 0086 12F0100F tst r2, #16
  4135. 1812 008a 03D1 bne .L162
  4136. 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4137. 1813 .loc 1 1245 0
  4138. 1814 008c 226C ldr r2, [r4, #64]
  4139. 1815 008e 42F40052 orr r2, r2, #8192
  4140. 1816 0092 2264 str r2, [r4, #64]
  4141. 1817 .L162:
  4142. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) ||
  4143. 1818 .loc 1 1252 0
  4144. 1819 0094 9A68 ldr r2, [r3, #8]
  4145. 1820 0096 12F4401F tst r2, #3145728
  4146. 1821 009a 21D1 bne .L163
  4147. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) &&
  4148. 1822 .loc 1 1253 0 discriminator 1
  4149. 1823 009c 9A6B ldr r2, [r3, #56]
  4150. 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->JSQR, ADC_JSQR_JL) ||
  4151. 1824 .loc 1 1252 0 discriminator 1
  4152. 1825 009e 12F4401F tst r2, #3145728
  4153. 1826 00a2 03D0 beq .L164
  4154. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) &&
  4155. 1827 .loc 1 1254 0
  4156. 1828 00a4 9A68 ldr r2, [r3, #8]
  4157. 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) &&
  4158. 1829 .loc 1 1253 0
  4159. 1830 00a6 12F4806F tst r2, #1024
  4160. 1831 00aa 19D1 bne .L163
  4161. 1832 .L164:
  4162. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  4163. 1833 .loc 1 1255 0
  4164. 1834 00ac 5A68 ldr r2, [r3, #4]
  4165. 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->CR1, ADC_CR1_JAUTO) &&
  4166. 1835 .loc 1 1254 0
  4167. 1836 00ae 12F4806F tst r2, #1024
  4168. 1837 00b2 15D1 bne .L163
  4169. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ) )
  4170. 1838 .loc 1 1256 0
  4171. 1839 00b4 9A68 ldr r2, [r3, #8]
  4172. 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
  4173. 1840 .loc 1 1255 0
  4174. 1841 00b6 12F0405F tst r2, #805306368
  4175. 1842 00ba 11D1 bne .L163
  4176. 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4177. ARM GAS /tmp/ccY0CtDt.s page 73
  4178. 1843 .loc 1 1257 0
  4179. 1844 00bc 227E ldrb r2, [r4, #24] @ zero_extendqisi2
  4180. 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) ) ) )
  4181. 1845 .loc 1 1256 0
  4182. 1846 00be 7AB9 cbnz r2, .L163
  4183. 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4184. 1847 .loc 1 1260 0
  4185. 1848 00c0 5A68 ldr r2, [r3, #4]
  4186. 1849 00c2 22F08002 bic r2, r2, #128
  4187. 1850 00c6 5A60 str r2, [r3, #4]
  4188. 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4189. 1851 .loc 1 1263 0
  4190. 1852 00c8 236C ldr r3, [r4, #64]
  4191. 1853 00ca 23F48053 bic r3, r3, #4096
  4192. 1854 00ce 2364 str r3, [r4, #64]
  4193. 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4194. 1855 .loc 1 1265 0
  4195. 1856 00d0 236C ldr r3, [r4, #64]
  4196. 1857 00d2 13F4807F tst r3, #256
  4197. 1858 00d6 03D1 bne .L163
  4198. 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4199. 1859 .loc 1 1267 0
  4200. 1860 00d8 236C ldr r3, [r4, #64]
  4201. 1861 00da 43F00103 orr r3, r3, #1
  4202. 1862 00de 2364 str r3, [r4, #64]
  4203. 1863 .L163:
  4204. 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4205. 1864 .loc 1 1276 0
  4206. 1865 00e0 2046 mov r0, r4
  4207. 1866 00e2 FFF7FEFF bl HAL_ADCEx_InjectedConvCpltCallback
  4208. 1867 .LVL124:
  4209. 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4210. 1868 .loc 1 1280 0
  4211. 1869 00e6 2368 ldr r3, [r4]
  4212. 1870 00e8 6FF00C02 mvn r2, #12
  4213. 1871 00ec 1A60 str r2, [r3]
  4214. 1872 .L161:
  4215. 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_AWD);
  4216. 1873 .loc 1 1283 0
  4217. 1874 00ee 2268 ldr r2, [r4]
  4218. 1875 00f0 1168 ldr r1, [r2]
  4219. 1876 .LVL125:
  4220. 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Analog watchdog flag */
  4221. 1877 .loc 1 1284 0
  4222. 1878 00f2 5368 ldr r3, [r2, #4]
  4223. 1879 00f4 03F04003 and r3, r3, #64
  4224. 1880 .LVL126:
  4225. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4226. 1881 .loc 1 1286 0
  4227. 1882 00f8 11F0010F tst r1, #1
  4228. 1883 00fc 04D0 beq .L165
  4229. 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4230. 1884 .loc 1 1286 0 is_stmt 0 discriminator 1
  4231. 1885 00fe 1BB1 cbz r3, .L165
  4232. 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4233. 1886 .loc 1 1288 0 is_stmt 1
  4234. 1887 0100 1368 ldr r3, [r2]
  4235. ARM GAS /tmp/ccY0CtDt.s page 74
  4236. 1888 .LVL127:
  4237. 1889 0102 13F0010F tst r3, #1
  4238. 1890 0106 09D1 bne .L168
  4239. 1891 .LVL128:
  4240. 1892 .L165:
  4241. 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** tmp2 = __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_OVR);
  4242. 1893 .loc 1 1305 0
  4243. 1894 0108 2268 ldr r2, [r4]
  4244. 1895 010a 1168 ldr r1, [r2]
  4245. 1896 .LVL129:
  4246. 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Check Overrun flag */
  4247. 1897 .loc 1 1306 0
  4248. 1898 010c 5368 ldr r3, [r2, #4]
  4249. 1899 010e 03F08063 and r3, r3, #67108864
  4250. 1900 .LVL130:
  4251. 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4252. 1901 .loc 1 1308 0
  4253. 1902 0112 11F0200F tst r1, #32
  4254. 1903 0116 00D0 beq .L156
  4255. 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4256. 1904 .loc 1 1308 0 is_stmt 0 discriminator 1
  4257. 1905 0118 63B9 cbnz r3, .L169
  4258. 1906 .LVL131:
  4259. 1907 .L156:
  4260. 1908 011a 38BD pop {r3, r4, r5, pc}
  4261. 1909 .LVL132:
  4262. 1910 .L168:
  4263. 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4264. 1911 .loc 1 1291 0 is_stmt 1
  4265. 1912 011c 236C ldr r3, [r4, #64]
  4266. 1913 011e 43F48033 orr r3, r3, #65536
  4267. 1914 0122 2364 str r3, [r4, #64]
  4268. 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4269. 1915 .loc 1 1297 0
  4270. 1916 0124 2046 mov r0, r4
  4271. 1917 0126 FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback
  4272. 1918 .LVL133:
  4273. 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4274. 1919 .loc 1 1301 0
  4275. 1920 012a 2368 ldr r3, [r4]
  4276. 1921 012c 6FF00102 mvn r2, #1
  4277. 1922 0130 1A60 str r2, [r3]
  4278. 1923 0132 E9E7 b .L165
  4279. 1924 .LVL134:
  4280. 1925 .L169:
  4281. 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4282. 1926 .loc 1 1315 0
  4283. 1927 0134 636C ldr r3, [r4, #68]
  4284. 1928 .LVL135:
  4285. 1929 0136 43F00203 orr r3, r3, #2
  4286. 1930 013a 6364 str r3, [r4, #68]
  4287. 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4288. 1931 .loc 1 1318 0
  4289. 1932 013c 6FF02005 mvn r5, #32
  4290. 1933 0140 1560 str r5, [r2]
  4291. 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4292. 1934 .loc 1 1324 0
  4293. ARM GAS /tmp/ccY0CtDt.s page 75
  4294. 1935 0142 2046 mov r0, r4
  4295. 1936 0144 FFF7FEFF bl HAL_ADC_ErrorCallback
  4296. 1937 .LVL136:
  4297. 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4298. 1938 .loc 1 1328 0
  4299. 1939 0148 2368 ldr r3, [r4]
  4300. 1940 014a 1D60 str r5, [r3]
  4301. 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4302. 1941 .loc 1 1330 0
  4303. 1942 014c E5E7 b .L156
  4304. 1943 .cfi_endproc
  4305. 1944 .LFE140:
  4306. 1946 .section .text.ADC_DMAError,"ax",%progbits
  4307. 1947 .align 1
  4308. 1948 .syntax unified
  4309. 1949 .thumb
  4310. 1950 .thumb_func
  4311. 1951 .fpu fpv4-sp-d16
  4312. 1953 ADC_DMAError:
  4313. 1954 .LFB155:
  4314. 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4315. 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4316. 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4317. 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /**
  4318. 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @brief DMA error callback
  4319. 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
  4320. 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * the configuration information for the specified DMA module.
  4321. 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** * @retval None
  4322. 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** */
  4323. 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma)
  4324. 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4325. 1955 .loc 1 2032 0
  4326. 1956 .cfi_startproc
  4327. 1957 @ args = 0, pretend = 0, frame = 0
  4328. 1958 @ frame_needed = 0, uses_anonymous_args = 0
  4329. 1959 .LVL137:
  4330. 1960 0000 08B5 push {r3, lr}
  4331. 1961 .LCFI22:
  4332. 1962 .cfi_def_cfa_offset 8
  4333. 1963 .cfi_offset 3, -8
  4334. 1964 .cfi_offset 14, -4
  4335. 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
  4336. 1965 .loc 1 2033 0
  4337. 1966 0002 806B ldr r0, [r0, #56]
  4338. 1967 .LVL138:
  4339. 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->State= HAL_ADC_STATE_ERROR_DMA;
  4340. 1968 .loc 1 2034 0
  4341. 1969 0004 4023 movs r3, #64
  4342. 1970 0006 0364 str r3, [r0, #64]
  4343. 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Set ADC error code to DMA error */
  4344. 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_DMA;
  4345. 1971 .loc 1 2036 0
  4346. 1972 0008 436C ldr r3, [r0, #68]
  4347. 1973 000a 43F00403 orr r3, r3, #4
  4348. 1974 000e 4364 str r3, [r0, #68]
  4349. 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Error callback */
  4350. 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
  4351. ARM GAS /tmp/ccY0CtDt.s page 76
  4352. 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** hadc->ErrorCallback(hadc);
  4353. 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #else
  4354. 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
  4355. 1975 .loc 1 2041 0
  4356. 1976 0010 FFF7FEFF bl HAL_ADC_ErrorCallback
  4357. 1977 .LVL139:
  4358. 1978 0014 08BD pop {r3, pc}
  4359. 1979 .cfi_endproc
  4360. 1980 .LFE155:
  4361. 1982 .section .text.ADC_DMAConvCplt,"ax",%progbits
  4362. 1983 .align 1
  4363. 1984 .syntax unified
  4364. 1985 .thumb
  4365. 1986 .thumb_func
  4366. 1987 .fpu fpv4-sp-d16
  4367. 1989 ADC_DMAConvCplt:
  4368. 1990 .LFB153:
  4369. 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
  4370. 1991 .loc 1 1946 0
  4371. 1992 .cfi_startproc
  4372. 1993 @ args = 0, pretend = 0, frame = 0
  4373. 1994 @ frame_needed = 0, uses_anonymous_args = 0
  4374. 1995 .LVL140:
  4375. 1996 0000 08B5 push {r3, lr}
  4376. 1997 .LCFI23:
  4377. 1998 .cfi_def_cfa_offset 8
  4378. 1999 .cfi_offset 3, -8
  4379. 2000 .cfi_offset 14, -4
  4380. 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4381. 2001 .loc 1 1948 0
  4382. 2002 0002 836B ldr r3, [r0, #56]
  4383. 2003 .LVL141:
  4384. 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4385. 2004 .loc 1 1951 0
  4386. 2005 0004 1A6C ldr r2, [r3, #64]
  4387. 2006 0006 12F0500F tst r2, #80
  4388. 2007 000a 26D1 bne .L173
  4389. 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4390. 2008 .loc 1 1954 0
  4391. 2009 000c 1A6C ldr r2, [r3, #64]
  4392. 2010 000e 42F40072 orr r2, r2, #512
  4393. 2011 0012 1A64 str r2, [r3, #64]
  4394. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  4395. 2012 .loc 1 1962 0
  4396. 2013 0014 1A68 ldr r2, [r3]
  4397. 2014 0016 9168 ldr r1, [r2, #8]
  4398. 2015 0018 11F0405F tst r1, #805306368
  4399. 2016 001c 19D1 bne .L174
  4400. 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  4401. 2017 .loc 1 1963 0 discriminator 1
  4402. 2018 001e 197E ldrb r1, [r3, #24] @ zero_extendqisi2
  4403. 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) &&
  4404. 2019 .loc 1 1962 0 discriminator 1
  4405. 2020 0020 B9B9 cbnz r1, .L174
  4406. 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  4407. 2021 .loc 1 1964 0
  4408. 2022 0022 D16A ldr r1, [r2, #44]
  4409. ARM GAS /tmp/ccY0CtDt.s page 77
  4410. 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) ||
  4411. 2023 .loc 1 1963 0
  4412. 2024 0024 11F4700F tst r1, #15728640
  4413. 2025 0028 03D0 beq .L175
  4414. 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4415. 2026 .loc 1 1965 0
  4416. 2027 002a 9168 ldr r1, [r2, #8]
  4417. 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) )
  4418. 2028 .loc 1 1964 0
  4419. 2029 002c 11F4806F tst r1, #1024
  4420. 2030 0030 0FD1 bne .L174
  4421. 2031 .L175:
  4422. 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4423. 2032 .loc 1 1971 0
  4424. 2033 0032 5168 ldr r1, [r2, #4]
  4425. 2034 0034 21F02001 bic r1, r1, #32
  4426. 2035 0038 5160 str r1, [r2, #4]
  4427. 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4428. 2036 .loc 1 1974 0
  4429. 2037 003a 1A6C ldr r2, [r3, #64]
  4430. 2038 003c 22F48072 bic r2, r2, #256
  4431. 2039 0040 1A64 str r2, [r3, #64]
  4432. 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4433. 2040 .loc 1 1976 0
  4434. 2041 0042 1A6C ldr r2, [r3, #64]
  4435. 2042 0044 12F4805F tst r2, #4096
  4436. 2043 0048 03D1 bne .L174
  4437. 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4438. 2044 .loc 1 1978 0
  4439. 2045 004a 1A6C ldr r2, [r3, #64]
  4440. 2046 004c 42F00102 orr r2, r2, #1
  4441. 2047 0050 1A64 str r2, [r3, #64]
  4442. 2048 .L174:
  4443. 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4444. 2049 .loc 1 1986 0
  4445. 2050 0052 1846 mov r0, r3
  4446. 2051 .LVL142:
  4447. 2052 0054 FFF7FEFF bl HAL_ADC_ConvCpltCallback
  4448. 2053 .LVL143:
  4449. 2054 0058 08BD pop {r3, pc}
  4450. 2055 .LVL144:
  4451. 2056 .L173:
  4452. 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4453. 2057 .loc 1 1991 0
  4454. 2058 005a 1A6C ldr r2, [r3, #64]
  4455. 2059 005c 12F0100F tst r2, #16
  4456. 2060 0060 03D1 bne .L179
  4457. 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4458. 2061 .loc 1 2003 0
  4459. 2062 0062 9B6B ldr r3, [r3, #56]
  4460. 2063 .LVL145:
  4461. 2064 0064 DB6C ldr r3, [r3, #76]
  4462. 2065 0066 9847 blx r3
  4463. 2066 .LVL146:
  4464. 2067 0068 08BD pop {r3, pc}
  4465. 2068 .LVL147:
  4466. 2069 .L179:
  4467. ARM GAS /tmp/ccY0CtDt.s page 78
  4468. 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
  4469. 2070 .loc 1 1997 0
  4470. 2071 006a 1846 mov r0, r3
  4471. 2072 .LVL148:
  4472. 2073 006c FFF7FEFF bl HAL_ADC_ErrorCallback
  4473. 2074 .LVL149:
  4474. 2075 0070 08BD pop {r3, pc}
  4475. 2076 .cfi_endproc
  4476. 2077 .LFE153:
  4477. 2079 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits
  4478. 2080 .align 1
  4479. 2081 .global HAL_ADC_ConfigChannel
  4480. 2082 .syntax unified
  4481. 2083 .thumb
  4482. 2084 .thumb_func
  4483. 2085 .fpu fpv4-sp-d16
  4484. 2087 HAL_ADC_ConfigChannel:
  4485. 2088 .LFB148:
  4486. 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** __IO uint32_t counter = 0U;
  4487. 2089 .loc 1 1621 0
  4488. 2090 .cfi_startproc
  4489. 2091 @ args = 0, pretend = 0, frame = 8
  4490. 2092 @ frame_needed = 0, uses_anonymous_args = 0
  4491. 2093 @ link register save eliminated.
  4492. 2094 .LVL150:
  4493. 2095 0000 30B4 push {r4, r5}
  4494. 2096 .LCFI24:
  4495. 2097 .cfi_def_cfa_offset 8
  4496. 2098 .cfi_offset 4, -8
  4497. 2099 .cfi_offset 5, -4
  4498. 2100 0002 82B0 sub sp, sp, #8
  4499. 2101 .LCFI25:
  4500. 2102 .cfi_def_cfa_offset 16
  4501. 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** ADC_Common_TypeDef *tmpADC_Common;
  4502. 2103 .loc 1 1622 0
  4503. 2104 0004 0023 movs r3, #0
  4504. 2105 0006 0193 str r3, [sp, #4]
  4505. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4506. 2106 .loc 1 1631 0
  4507. 2107 0008 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  4508. 2108 000c 012B cmp r3, #1
  4509. 2109 000e 00F0B780 beq .L191
  4510. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4511. 2110 .loc 1 1631 0 is_stmt 0 discriminator 2
  4512. 2111 0012 0123 movs r3, #1
  4513. 2112 0014 80F83C30 strb r3, [r0, #60]
  4514. 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4515. 2113 .loc 1 1634 0 is_stmt 1 discriminator 2
  4516. 2114 0018 0B68 ldr r3, [r1]
  4517. 2115 001a 092B cmp r3, #9
  4518. 2116 001c 3ED9 bls .L182
  4519. 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4520. 2117 .loc 1 1637 0
  4521. 2118 001e 0568 ldr r5, [r0]
  4522. 2119 0020 EA68 ldr r2, [r5, #12]
  4523. 2120 0022 9BB2 uxth r3, r3
  4524. 2121 0024 03EB4303 add r3, r3, r3, lsl #1
  4525. ARM GAS /tmp/ccY0CtDt.s page 79
  4526. 2122 0028 1E3B subs r3, r3, #30
  4527. 2123 002a 0724 movs r4, #7
  4528. 2124 002c 04FA03F3 lsl r3, r4, r3
  4529. 2125 0030 22EA0303 bic r3, r2, r3
  4530. 2126 0034 EB60 str r3, [r5, #12]
  4531. 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4532. 2127 .loc 1 1640 0
  4533. 2128 0036 0568 ldr r5, [r0]
  4534. 2129 0038 EA68 ldr r2, [r5, #12]
  4535. 2130 003a 8C68 ldr r4, [r1, #8]
  4536. 2131 003c 0B88 ldrh r3, [r1]
  4537. 2132 003e 03EB4303 add r3, r3, r3, lsl #1
  4538. 2133 0042 1E3B subs r3, r3, #30
  4539. 2134 0044 04FA03F3 lsl r3, r4, r3
  4540. 2135 0048 1343 orrs r3, r3, r2
  4541. 2136 004a EB60 str r3, [r5, #12]
  4542. 2137 .L183:
  4543. 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4544. 2138 .loc 1 1652 0
  4545. 2139 004c 4B68 ldr r3, [r1, #4]
  4546. 2140 004e 062B cmp r3, #6
  4547. 2141 0050 3AD8 bhi .L184
  4548. 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4549. 2142 .loc 1 1655 0
  4550. 2143 0052 0568 ldr r5, [r0]
  4551. 2144 0054 6A6B ldr r2, [r5, #52]
  4552. 2145 0056 03EB8303 add r3, r3, r3, lsl #2
  4553. 2146 005a 053B subs r3, r3, #5
  4554. 2147 005c 1F24 movs r4, #31
  4555. 2148 005e 04FA03F3 lsl r3, r4, r3
  4556. 2149 0062 22EA0303 bic r3, r2, r3
  4557. 2150 0066 6B63 str r3, [r5, #52]
  4558. 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4559. 2151 .loc 1 1658 0
  4560. 2152 0068 0568 ldr r5, [r0]
  4561. 2153 006a 6A6B ldr r2, [r5, #52]
  4562. 2154 006c 4B68 ldr r3, [r1, #4]
  4563. 2155 006e 03EB8303 add r3, r3, r3, lsl #2
  4564. 2156 0072 053B subs r3, r3, #5
  4565. 2157 0074 0C88 ldrh r4, [r1]
  4566. 2158 0076 04FA03F3 lsl r3, r4, r3
  4567. 2159 007a 1343 orrs r3, r3, r2
  4568. 2160 007c 6B63 str r3, [r5, #52]
  4569. 2161 .L185:
  4570. 2162 .LVL151:
  4571. 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4572. 2163 .loc 1 1685 0
  4573. 2164 007e 0268 ldr r2, [r0]
  4574. 2165 0080 404B ldr r3, .L195
  4575. 2166 0082 9A42 cmp r2, r3
  4576. 2167 0084 50D0 beq .L193
  4577. 2168 .L187:
  4578. 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4579. 2169 .loc 1 1698 0
  4580. 2170 0086 0268 ldr r2, [r0]
  4581. 2171 0088 3E4B ldr r3, .L195
  4582. 2172 008a 9A42 cmp r2, r3
  4583. ARM GAS /tmp/ccY0CtDt.s page 80
  4584. 2173 008c 55D0 beq .L194
  4585. 2174 .L188:
  4586. 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4587. 2175 .loc 1 1721 0
  4588. 2176 008e 0023 movs r3, #0
  4589. 2177 0090 80F83C30 strb r3, [r0, #60]
  4590. 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4591. 2178 .loc 1 1724 0
  4592. 2179 0094 1846 mov r0, r3
  4593. 2180 .LVL152:
  4594. 2181 .L181:
  4595. 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4596. 2182 .loc 1 1725 0
  4597. 2183 0096 02B0 add sp, sp, #8
  4598. 2184 .LCFI26:
  4599. 2185 .cfi_remember_state
  4600. 2186 .cfi_def_cfa_offset 8
  4601. 2187 @ sp needed
  4602. 2188 0098 30BC pop {r4, r5}
  4603. 2189 .LCFI27:
  4604. 2190 .cfi_restore 5
  4605. 2191 .cfi_restore 4
  4606. 2192 .cfi_def_cfa_offset 0
  4607. 2193 009a 7047 bx lr
  4608. 2194 .LVL153:
  4609. 2195 .L182:
  4610. 2196 .LCFI28:
  4611. 2197 .cfi_restore_state
  4612. 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4613. 2198 .loc 1 1645 0
  4614. 2199 009c 0568 ldr r5, [r0]
  4615. 2200 009e 2A69 ldr r2, [r5, #16]
  4616. 2201 00a0 9BB2 uxth r3, r3
  4617. 2202 00a2 03EB4303 add r3, r3, r3, lsl #1
  4618. 2203 00a6 0724 movs r4, #7
  4619. 2204 00a8 04FA03F3 lsl r3, r4, r3
  4620. 2205 00ac 22EA0303 bic r3, r2, r3
  4621. 2206 00b0 2B61 str r3, [r5, #16]
  4622. 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4623. 2207 .loc 1 1648 0
  4624. 2208 00b2 0568 ldr r5, [r0]
  4625. 2209 00b4 2A69 ldr r2, [r5, #16]
  4626. 2210 00b6 8C68 ldr r4, [r1, #8]
  4627. 2211 00b8 0B88 ldrh r3, [r1]
  4628. 2212 00ba 03EB4303 add r3, r3, r3, lsl #1
  4629. 2213 00be 04FA03F3 lsl r3, r4, r3
  4630. 2214 00c2 1343 orrs r3, r3, r2
  4631. 2215 00c4 2B61 str r3, [r5, #16]
  4632. 2216 00c6 C1E7 b .L183
  4633. 2217 .L184:
  4634. 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4635. 2218 .loc 1 1661 0
  4636. 2219 00c8 0C2B cmp r3, #12
  4637. 2220 00ca 16D8 bhi .L186
  4638. 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4639. 2221 .loc 1 1664 0
  4640. 2222 00cc 0568 ldr r5, [r0]
  4641. ARM GAS /tmp/ccY0CtDt.s page 81
  4642. 2223 00ce 2A6B ldr r2, [r5, #48]
  4643. 2224 00d0 03EB8303 add r3, r3, r3, lsl #2
  4644. 2225 00d4 233B subs r3, r3, #35
  4645. 2226 00d6 1F24 movs r4, #31
  4646. 2227 00d8 04FA03F3 lsl r3, r4, r3
  4647. 2228 00dc 22EA0303 bic r3, r2, r3
  4648. 2229 00e0 2B63 str r3, [r5, #48]
  4649. 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4650. 2230 .loc 1 1667 0
  4651. 2231 00e2 0568 ldr r5, [r0]
  4652. 2232 00e4 2A6B ldr r2, [r5, #48]
  4653. 2233 00e6 4B68 ldr r3, [r1, #4]
  4654. 2234 00e8 03EB8303 add r3, r3, r3, lsl #2
  4655. 2235 00ec 233B subs r3, r3, #35
  4656. 2236 00ee 0C88 ldrh r4, [r1]
  4657. 2237 00f0 04FA03F3 lsl r3, r4, r3
  4658. 2238 00f4 1343 orrs r3, r3, r2
  4659. 2239 00f6 2B63 str r3, [r5, #48]
  4660. 2240 00f8 C1E7 b .L185
  4661. 2241 .L186:
  4662. 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4663. 2242 .loc 1 1673 0
  4664. 2243 00fa 0568 ldr r5, [r0]
  4665. 2244 00fc EA6A ldr r2, [r5, #44]
  4666. 2245 00fe 03EB8303 add r3, r3, r3, lsl #2
  4667. 2246 0102 413B subs r3, r3, #65
  4668. 2247 0104 1F24 movs r4, #31
  4669. 2248 0106 04FA03F3 lsl r3, r4, r3
  4670. 2249 010a 22EA0303 bic r3, r2, r3
  4671. 2250 010e EB62 str r3, [r5, #44]
  4672. 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4673. 2251 .loc 1 1676 0
  4674. 2252 0110 0568 ldr r5, [r0]
  4675. 2253 0112 EA6A ldr r2, [r5, #44]
  4676. 2254 0114 4B68 ldr r3, [r1, #4]
  4677. 2255 0116 03EB8303 add r3, r3, r3, lsl #2
  4678. 2256 011a 413B subs r3, r3, #65
  4679. 2257 011c 0C88 ldrh r4, [r1]
  4680. 2258 011e 04FA03F3 lsl r3, r4, r3
  4681. 2259 0122 1343 orrs r3, r3, r2
  4682. 2260 0124 EB62 str r3, [r5, #44]
  4683. 2261 0126 AAE7 b .L185
  4684. 2262 .LVL154:
  4685. 2263 .L193:
  4686. 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4687. 2264 .loc 1 1685 0 discriminator 1
  4688. 2265 0128 0B68 ldr r3, [r1]
  4689. 2266 012a 122B cmp r3, #18
  4690. 2267 012c ABD1 bne .L187
  4691. 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4692. 2268 .loc 1 1693 0
  4693. 2269 012e 164A ldr r2, .L195+4
  4694. 2270 0130 5368 ldr r3, [r2, #4]
  4695. 2271 0132 43F48003 orr r3, r3, #4194304
  4696. 2272 0136 5360 str r3, [r2, #4]
  4697. 2273 0138 A5E7 b .L187
  4698. 2274 .L194:
  4699. ARM GAS /tmp/ccY0CtDt.s page 82
  4700. 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4701. 2275 .loc 1 1698 0 discriminator 1
  4702. 2276 013a 0B68 ldr r3, [r1]
  4703. 2277 013c 103B subs r3, r3, #16
  4704. 2278 013e 012B cmp r3, #1
  4705. 2279 0140 A5D8 bhi .L188
  4706. 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4707. 2280 .loc 1 1706 0
  4708. 2281 0142 114A ldr r2, .L195+4
  4709. 2282 0144 5368 ldr r3, [r2, #4]
  4710. 2283 0146 43F40003 orr r3, r3, #8388608
  4711. 2284 014a 5360 str r3, [r2, #4]
  4712. 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4713. 2285 .loc 1 1708 0
  4714. 2286 014c 0B68 ldr r3, [r1]
  4715. 2287 014e 102B cmp r3, #16
  4716. 2288 0150 9DD1 bne .L188
  4717. 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** while(counter != 0U)
  4718. 2289 .loc 1 1712 0
  4719. 2290 0152 0E4B ldr r3, .L195+8
  4720. 2291 0154 1B68 ldr r3, [r3]
  4721. 2292 0156 02F14672 add r2, r2, #51904512
  4722. 2293 015a 02F52E32 add r2, r2, #178176
  4723. 2294 015e 02F28332 addw r2, r2, #899
  4724. 2295 0162 A2FB0323 umull r2, r3, r2, r3
  4725. 2296 0166 9B0C lsrs r3, r3, #18
  4726. 2297 0168 03EB8303 add r3, r3, r3, lsl #2
  4727. 2298 016c 5A00 lsls r2, r3, #1
  4728. 2299 016e 0192 str r2, [sp, #4]
  4729. 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4730. 2300 .loc 1 1713 0
  4731. 2301 0170 02E0 b .L189
  4732. 2302 .L190:
  4733. 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4734. 2303 .loc 1 1715 0
  4735. 2304 0172 019B ldr r3, [sp, #4]
  4736. 2305 0174 013B subs r3, r3, #1
  4737. 2306 0176 0193 str r3, [sp, #4]
  4738. 2307 .L189:
  4739. 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4740. 2308 .loc 1 1713 0
  4741. 2309 0178 019B ldr r3, [sp, #4]
  4742. 2310 017a 002B cmp r3, #0
  4743. 2311 017c F9D1 bne .L190
  4744. 2312 017e 86E7 b .L188
  4745. 2313 .LVL155:
  4746. 2314 .L191:
  4747. 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4748. 2315 .loc 1 1631 0
  4749. 2316 0180 0220 movs r0, #2
  4750. 2317 .LVL156:
  4751. 2318 0182 88E7 b .L181
  4752. 2319 .L196:
  4753. 2320 .align 2
  4754. 2321 .L195:
  4755. 2322 0184 00200140 .word 1073815552
  4756. 2323 0188 00230140 .word 1073816320
  4757. ARM GAS /tmp/ccY0CtDt.s page 83
  4758. 2324 018c 00000000 .word SystemCoreClock
  4759. 2325 .cfi_endproc
  4760. 2326 .LFE148:
  4761. 2328 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits
  4762. 2329 .align 1
  4763. 2330 .global HAL_ADC_AnalogWDGConfig
  4764. 2331 .syntax unified
  4765. 2332 .thumb
  4766. 2333 .thumb_func
  4767. 2334 .fpu fpv4-sp-d16
  4768. 2336 HAL_ADC_AnalogWDGConfig:
  4769. 2337 .LFB149:
  4770. 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT
  4771. 2338 .loc 1 1744 0
  4772. 2339 .cfi_startproc
  4773. 2340 @ args = 0, pretend = 0, frame = 0
  4774. 2341 @ frame_needed = 0, uses_anonymous_args = 0
  4775. 2342 @ link register save eliminated.
  4776. 2343 .LVL157:
  4777. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4778. 2344 .loc 1 1761 0
  4779. 2345 0000 90F83C30 ldrb r3, [r0, #60] @ zero_extendqisi2
  4780. 2346 0004 012B cmp r3, #1
  4781. 2347 0006 34D0 beq .L201
  4782. 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** #ifdef USE_FULL_ASSERT
  4783. 2348 .loc 1 1744 0 discriminator 2
  4784. 2349 0008 10B4 push {r4}
  4785. 2350 .LCFI29:
  4786. 2351 .cfi_def_cfa_offset 4
  4787. 2352 .cfi_offset 4, -4
  4788. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4789. 2353 .loc 1 1761 0 discriminator 2
  4790. 2354 000a 0123 movs r3, #1
  4791. 2355 000c 80F83C30 strb r3, [r0, #60]
  4792. 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** {
  4793. 2356 .loc 1 1763 0 discriminator 2
  4794. 2357 0010 0B7C ldrb r3, [r1, #16] @ zero_extendqisi2
  4795. 2358 0012 012B cmp r3, #1
  4796. 2359 0014 27D0 beq .L206
  4797. 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4798. 2360 .loc 1 1771 0
  4799. 2361 0016 0268 ldr r2, [r0]
  4800. 2362 0018 5368 ldr r3, [r2, #4]
  4801. 2363 001a 23F04003 bic r3, r3, #64
  4802. 2364 001e 5360 str r3, [r2, #4]
  4803. 2365 .L200:
  4804. 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4805. 2366 .loc 1 1775 0
  4806. 2367 0020 0268 ldr r2, [r0]
  4807. 2368 0022 5368 ldr r3, [r2, #4]
  4808. 2369 0024 23F44003 bic r3, r3, #12582912
  4809. 2370 0028 23F40073 bic r3, r3, #512
  4810. 2371 002c 5360 str r3, [r2, #4]
  4811. 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4812. 2372 .loc 1 1778 0
  4813. 2373 002e 0268 ldr r2, [r0]
  4814. 2374 0030 5368 ldr r3, [r2, #4]
  4815. ARM GAS /tmp/ccY0CtDt.s page 84
  4816. 2375 0032 0C68 ldr r4, [r1]
  4817. 2376 0034 2343 orrs r3, r3, r4
  4818. 2377 0036 5360 str r3, [r2, #4]
  4819. 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4820. 2378 .loc 1 1781 0
  4821. 2379 0038 0368 ldr r3, [r0]
  4822. 2380 003a 4A68 ldr r2, [r1, #4]
  4823. 2381 003c 5A62 str r2, [r3, #36]
  4824. 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4825. 2382 .loc 1 1784 0
  4826. 2383 003e 0368 ldr r3, [r0]
  4827. 2384 0040 8A68 ldr r2, [r1, #8]
  4828. 2385 0042 9A62 str r2, [r3, #40]
  4829. 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4830. 2386 .loc 1 1787 0
  4831. 2387 0044 0268 ldr r2, [r0]
  4832. 2388 0046 5368 ldr r3, [r2, #4]
  4833. 2389 0048 23F01F03 bic r3, r3, #31
  4834. 2390 004c 5360 str r3, [r2, #4]
  4835. 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4836. 2391 .loc 1 1790 0
  4837. 2392 004e 0268 ldr r2, [r0]
  4838. 2393 0050 5468 ldr r4, [r2, #4]
  4839. 2394 0052 8B89 ldrh r3, [r1, #12]
  4840. 2395 0054 2343 orrs r3, r3, r4
  4841. 2396 0056 5360 str r3, [r2, #4]
  4842. 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4843. 2397 .loc 1 1793 0
  4844. 2398 0058 0023 movs r3, #0
  4845. 2399 005a 80F83C30 strb r3, [r0, #60]
  4846. 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4847. 2400 .loc 1 1796 0
  4848. 2401 005e 1846 mov r0, r3
  4849. 2402 .LVL158:
  4850. 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4851. 2403 .loc 1 1797 0
  4852. 2404 0060 5DF8044B ldr r4, [sp], #4
  4853. 2405 .LCFI30:
  4854. 2406 .cfi_remember_state
  4855. 2407 .cfi_restore 4
  4856. 2408 .cfi_def_cfa_offset 0
  4857. 2409 0064 7047 bx lr
  4858. 2410 .LVL159:
  4859. 2411 .L206:
  4860. 2412 .LCFI31:
  4861. 2413 .cfi_restore_state
  4862. 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4863. 2414 .loc 1 1766 0
  4864. 2415 0066 0268 ldr r2, [r0]
  4865. 2416 0068 5368 ldr r3, [r2, #4]
  4866. 2417 006a 43F04003 orr r3, r3, #64
  4867. 2418 006e 5360 str r3, [r2, #4]
  4868. 2419 0070 D6E7 b .L200
  4869. 2420 .L201:
  4870. 2421 .LCFI32:
  4871. 2422 .cfi_def_cfa_offset 0
  4872. 2423 .cfi_restore 4
  4873. ARM GAS /tmp/ccY0CtDt.s page 85
  4874. 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4875. 2424 .loc 1 1761 0
  4876. 2425 0072 0220 movs r0, #2
  4877. 2426 .LVL160:
  4878. 2427 0074 7047 bx lr
  4879. 2428 .cfi_endproc
  4880. 2429 .LFE149:
  4881. 2431 .section .text.HAL_ADC_GetState,"ax",%progbits
  4882. 2432 .align 1
  4883. 2433 .global HAL_ADC_GetState
  4884. 2434 .syntax unified
  4885. 2435 .thumb
  4886. 2436 .thumb_func
  4887. 2437 .fpu fpv4-sp-d16
  4888. 2439 HAL_ADC_GetState:
  4889. 2440 .LFB150:
  4890. 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** /* Return ADC state */
  4891. 2441 .loc 1 1826 0
  4892. 2442 .cfi_startproc
  4893. 2443 @ args = 0, pretend = 0, frame = 0
  4894. 2444 @ frame_needed = 0, uses_anonymous_args = 0
  4895. 2445 @ link register save eliminated.
  4896. 2446 .LVL161:
  4897. 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4898. 2447 .loc 1 1828 0
  4899. 2448 0000 006C ldr r0, [r0, #64]
  4900. 2449 .LVL162:
  4901. 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4902. 2450 .loc 1 1829 0
  4903. 2451 0002 7047 bx lr
  4904. 2452 .cfi_endproc
  4905. 2453 .LFE150:
  4906. 2455 .section .text.HAL_ADC_GetError,"ax",%progbits
  4907. 2456 .align 1
  4908. 2457 .global HAL_ADC_GetError
  4909. 2458 .syntax unified
  4910. 2459 .thumb
  4911. 2460 .thumb_func
  4912. 2461 .fpu fpv4-sp-d16
  4913. 2463 HAL_ADC_GetError:
  4914. 2464 .LFB151:
  4915. 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** return hadc->ErrorCode;
  4916. 2465 .loc 1 1838 0
  4917. 2466 .cfi_startproc
  4918. 2467 @ args = 0, pretend = 0, frame = 0
  4919. 2468 @ frame_needed = 0, uses_anonymous_args = 0
  4920. 2469 @ link register save eliminated.
  4921. 2470 .LVL163:
  4922. 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c **** }
  4923. 2471 .loc 1 1839 0
  4924. 2472 0000 406C ldr r0, [r0, #68]
  4925. 2473 .LVL164:
  4926. 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c ****
  4927. 2474 .loc 1 1840 0
  4928. 2475 0002 7047 bx lr
  4929. 2476 .cfi_endproc
  4930. 2477 .LFE151:
  4931. ARM GAS /tmp/ccY0CtDt.s page 86
  4932. 2479 .text
  4933. 2480 .Letext0:
  4934. 2481 .file 2 "/usr/include/newlib/machine/_default_types.h"
  4935. 2482 .file 3 "/usr/include/newlib/sys/_stdint.h"
  4936. 2483 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
  4937. 2484 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h"
  4938. 2485 .file 6 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h"
  4939. 2486 .file 7 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h"
  4940. 2487 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h"
  4941. 2488 .file 9 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h"
  4942. 2489 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h"
  4943. 2490 .file 11 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h"
  4944. 2491 .file 12 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h"
  4945. ARM GAS /tmp/ccY0CtDt.s page 87
  4946. DEFINED SYMBOLS
  4947. *ABS*:0000000000000000 stm32f4xx_hal_adc.c
  4948. /tmp/ccY0CtDt.s:18 .text.ADC_Init:0000000000000000 $t
  4949. /tmp/ccY0CtDt.s:24 .text.ADC_Init:0000000000000000 ADC_Init
  4950. /tmp/ccY0CtDt.s:194 .text.ADC_Init:000000000000012c $d
  4951. /tmp/ccY0CtDt.s:200 .text.HAL_ADC_MspInit:0000000000000000 $t
  4952. /tmp/ccY0CtDt.s:207 .text.HAL_ADC_MspInit:0000000000000000 HAL_ADC_MspInit
  4953. /tmp/ccY0CtDt.s:220 .text.HAL_ADC_Init:0000000000000000 $t
  4954. /tmp/ccY0CtDt.s:227 .text.HAL_ADC_Init:0000000000000000 HAL_ADC_Init
  4955. /tmp/ccY0CtDt.s:306 .text.HAL_ADC_MspDeInit:0000000000000000 $t
  4956. /tmp/ccY0CtDt.s:313 .text.HAL_ADC_MspDeInit:0000000000000000 HAL_ADC_MspDeInit
  4957. /tmp/ccY0CtDt.s:326 .text.HAL_ADC_DeInit:0000000000000000 $t
  4958. /tmp/ccY0CtDt.s:333 .text.HAL_ADC_DeInit:0000000000000000 HAL_ADC_DeInit
  4959. /tmp/ccY0CtDt.s:395 .text.HAL_ADC_Start:0000000000000000 $t
  4960. /tmp/ccY0CtDt.s:402 .text.HAL_ADC_Start:0000000000000000 HAL_ADC_Start
  4961. /tmp/ccY0CtDt.s:611 .text.HAL_ADC_Start:0000000000000120 $d
  4962. /tmp/ccY0CtDt.s:620 .text.HAL_ADC_Stop:0000000000000000 $t
  4963. /tmp/ccY0CtDt.s:627 .text.HAL_ADC_Stop:0000000000000000 HAL_ADC_Stop
  4964. /tmp/ccY0CtDt.s:677 .text.HAL_ADC_PollForConversion:0000000000000000 $t
  4965. /tmp/ccY0CtDt.s:684 .text.HAL_ADC_PollForConversion:0000000000000000 HAL_ADC_PollForConversion
  4966. /tmp/ccY0CtDt.s:835 .text.HAL_ADC_PollForEvent:0000000000000000 $t
  4967. /tmp/ccY0CtDt.s:842 .text.HAL_ADC_PollForEvent:0000000000000000 HAL_ADC_PollForEvent
  4968. /tmp/ccY0CtDt.s:931 .text.HAL_ADC_Start_IT:0000000000000000 $t
  4969. /tmp/ccY0CtDt.s:938 .text.HAL_ADC_Start_IT:0000000000000000 HAL_ADC_Start_IT
  4970. /tmp/ccY0CtDt.s:1153 .text.HAL_ADC_Start_IT:0000000000000130 $d
  4971. /tmp/ccY0CtDt.s:1162 .text.HAL_ADC_Stop_IT:0000000000000000 $t
  4972. /tmp/ccY0CtDt.s:1169 .text.HAL_ADC_Stop_IT:0000000000000000 HAL_ADC_Stop_IT
  4973. /tmp/ccY0CtDt.s:1224 .text.HAL_ADC_Start_DMA:0000000000000000 $t
  4974. /tmp/ccY0CtDt.s:1231 .text.HAL_ADC_Start_DMA:0000000000000000 HAL_ADC_Start_DMA
  4975. /tmp/ccY0CtDt.s:1469 .text.HAL_ADC_Start_DMA:0000000000000160 $d
  4976. /tmp/ccY0CtDt.s:1989 .text.ADC_DMAConvCplt:0000000000000000 ADC_DMAConvCplt
  4977. /tmp/ccY0CtDt.s:1636 .text.ADC_DMAHalfConvCplt:0000000000000000 ADC_DMAHalfConvCplt
  4978. /tmp/ccY0CtDt.s:1953 .text.ADC_DMAError:0000000000000000 ADC_DMAError
  4979. /tmp/ccY0CtDt.s:1481 .text.HAL_ADC_Stop_DMA:0000000000000000 $t
  4980. /tmp/ccY0CtDt.s:1488 .text.HAL_ADC_Stop_DMA:0000000000000000 HAL_ADC_Stop_DMA
  4981. /tmp/ccY0CtDt.s:1565 .text.HAL_ADC_GetValue:0000000000000000 $t
  4982. /tmp/ccY0CtDt.s:1572 .text.HAL_ADC_GetValue:0000000000000000 HAL_ADC_GetValue
  4983. /tmp/ccY0CtDt.s:1590 .text.HAL_ADC_ConvCpltCallback:0000000000000000 $t
  4984. /tmp/ccY0CtDt.s:1597 .text.HAL_ADC_ConvCpltCallback:0000000000000000 HAL_ADC_ConvCpltCallback
  4985. /tmp/ccY0CtDt.s:1610 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 $t
  4986. /tmp/ccY0CtDt.s:1617 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 HAL_ADC_ConvHalfCpltCallback
  4987. /tmp/ccY0CtDt.s:1630 .text.ADC_DMAHalfConvCplt:0000000000000000 $t
  4988. /tmp/ccY0CtDt.s:1660 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 $t
  4989. /tmp/ccY0CtDt.s:1667 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 HAL_ADC_LevelOutOfWindowCallback
  4990. /tmp/ccY0CtDt.s:1680 .text.HAL_ADC_ErrorCallback:0000000000000000 $t
  4991. /tmp/ccY0CtDt.s:1687 .text.HAL_ADC_ErrorCallback:0000000000000000 HAL_ADC_ErrorCallback
  4992. /tmp/ccY0CtDt.s:1700 .text.HAL_ADC_IRQHandler:0000000000000000 $t
  4993. /tmp/ccY0CtDt.s:1707 .text.HAL_ADC_IRQHandler:0000000000000000 HAL_ADC_IRQHandler
  4994. /tmp/ccY0CtDt.s:1947 .text.ADC_DMAError:0000000000000000 $t
  4995. /tmp/ccY0CtDt.s:1983 .text.ADC_DMAConvCplt:0000000000000000 $t
  4996. /tmp/ccY0CtDt.s:2080 .text.HAL_ADC_ConfigChannel:0000000000000000 $t
  4997. /tmp/ccY0CtDt.s:2087 .text.HAL_ADC_ConfigChannel:0000000000000000 HAL_ADC_ConfigChannel
  4998. /tmp/ccY0CtDt.s:2322 .text.HAL_ADC_ConfigChannel:0000000000000184 $d
  4999. /tmp/ccY0CtDt.s:2329 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 $t
  5000. /tmp/ccY0CtDt.s:2336 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 HAL_ADC_AnalogWDGConfig
  5001. /tmp/ccY0CtDt.s:2432 .text.HAL_ADC_GetState:0000000000000000 $t
  5002. /tmp/ccY0CtDt.s:2439 .text.HAL_ADC_GetState:0000000000000000 HAL_ADC_GetState
  5003. ARM GAS /tmp/ccY0CtDt.s page 88
  5004. /tmp/ccY0CtDt.s:2456 .text.HAL_ADC_GetError:0000000000000000 $t
  5005. /tmp/ccY0CtDt.s:2463 .text.HAL_ADC_GetError:0000000000000000 HAL_ADC_GetError
  5006. .debug_frame:0000000000000010 $d
  5007. UNDEFINED SYMBOLS
  5008. SystemCoreClock
  5009. HAL_GetTick
  5010. HAL_DMA_Start_IT
  5011. HAL_DMA_Abort
  5012. HAL_ADCEx_InjectedConvCpltCallback