You are on page 1of 5
10 ontladoves PIC1S Aprende Programe em Linguagem C Sendo: ~ arquivo: nome do arquivo, ‘Quando © nome do arquivo se encanta enre os simboios «eo campladerpocura oaruivo ni tins padres do MPLAB® C8. Caso conti, énecasséio Inormarolocal em que arquio se encot 4.16.6 #LINE A diotva fine modiica 0 contaido dasynatros _LINE__e _FILE__. Quando uiiizada, 0 contetdo fomecido pela macro _FILE__ sempre coresponds a sng detrida pela Geta Hine e c valor dovohido ela macro__LINE._iem como referncia.o valor defi poo parmato va Jin dea Hine Siotaxe ine vate singe Sendo: ~ valor_line: voto: do po into adotado pola macro _LINE_ ~ string. file: sting adotada pela mac _FILE__ Exomplo 1. BctudecpIBUSS0h> sarin d abeyalo do PIC TBF 2c tion ona ahr pvt cde en ada 4 4 Hoe Sétestest 5 8 veda oo) 8 8 Mensagem impressa Luana 68 Aris este 4.16.7 #Pragma Ade pragma nso compas excep esta dal o proceso de con : « 0 epee crate a pov de cnpiagin, 4 no poss gos pao ep ata ce aad como capo: Por exe. te MPLABS iB é posi! seona’ oss de conta do mized di ada mera en ue So Ermazestes on des ou Saco ce ony: Erion deste slcys pr a eta Rpragma e auas cls seb cerats ros pmo ‘capitulos, de modo a faciitar 0 aprendizado sobre as funcionalidades dessa diretiva. i. * 4.16.7.1 #Pragma Sectiontype ‘A aplicagio mais comum da drt #pragma no complador MPLAB® C18 identifica 2 sego da memria 2 er tizada omlownnlder Re Sees soos vs eo da mena als pons) PIC18, podendo conter codigo ou dados. params) so Linguagem CMPLAB® C18 n _AcetvsHpragma dispbe be quato mancicas para ientfcar a sagSo da mama a ser usada no PIC ‘oes palvios chavs assocadas S30 code, romdata,udata iat ws code: infoa ao compizcor que 0 oddiga logo abaro 6 cretva dove ser inserida na segio da me- tia. programa. Veremos mals adante que 6 posiel espectcar a drea da membia do program's ‘nde ocean seréinserco,permiindo um total contol da lacalzagSo do cdg na mest ts romdata intiza 20 complador que as varévels ou constanes declraéas lgo abso da dela Gover ser insetdas na Seqao da memifa de progam, Esse dados s80 normaimente delrados ‘camo qaiicador rom. ‘= data: ifoma 20 compiador que as varies gots (alocadas esiaicamente e nao inializadas) decivadas logo absino da deetiva dever ser armazenadas na seg30 da memria de dads, 1+ data: mosra ao compiadar que as vaivels gota (alocadas estatiamentee riciaizadas) decle radas logo obsno da deoiva devem ser amazenades na socéo da meméa de dados. Difrentemerte ‘de moto udata, os dasos celarados so iniilzados, 0 que impca qu o valor atibuido as varivels fsa localzado em algum lugar da memésa de programa e & rovido para os regisves de arquivo (dao) peo cbtigo de ‘ompladr ants de iia a execu. Sintaxe pray uta tuto er ‘pragma dla abe pragma rondata uo fragma code arto der tut acess ou overay.(Opcional) = atribute_p: 6 0 auto oveay (Opcional) ~ ientficador: donifcado. — endereso:enderaga da meméra do programa ou de dado © atiouto acess informa 20 compisdor para localiza uma sagao especticada em uma regio da Access RAM, ou see 0 complador cea de usar BANK SELECT REGISTER (BSR) € usa 0 BANK ACCESS. \Varives localzadas nessa s2g2o davem ser declaradas oom a palawa-chave near. syraga esta acess nev, to ran nsato-xt0 ear tie Ar 2 ‘agra ula ree uses frragra ia Se or liao oquafcador near, oct sera lcalizato em uma meméra acessve (Access RAM); caso cltro, se @ dengan de um objeto ver quaficado ar, eno o objeto sed ocalzado em ura mem via no acesivel (0 aruteoveray permite qu outas sees seam lcaleadas no resin enderep fico e podem se us dos em conunlo como arbuo access, Para sobreporduas Sees, quatro requisites dover ser teeidos 4. Cada segto deve residrem um diferente aquiofote, 2, Ambas as spies dover possui omesmo ome, 3. Seoatrouo access for especiicado oom uma seco, ele deve se espcicade com a ou, {4 Se umenderego absoluo for especticad com uma sega, 0 mesmo enderega deve ser especticado aout " Mercontoaderes PIC'S -Aprenda e Programe an Lnguagem C wowsoe wow on MOVIE 0, BanKED wOvLB 02 OVLWO8a OVW 012, RANKED 4.17 Macros Predefinidas © complador MPLAB® C18 spb das acs presefrdes pelo puso C ANS! (DATE. _FLE_. LINE. TIME_¢ STDC, alem de oleecer mais sete macs (_1808X,_nomepacessar SMALL LARGE _TRADITIONAL{8__EXTENDEDI8. 4.17.4 _DATE_ Informa a data referente&itima complacso do cig, Exemplo "Supoa ue 0 cig tea sd compl roa 18047006, ‘elude hina aia pdr do envade a aia id ain Fungo pict ‘ 5 os_name 18208 4.47.2 _FILE_ Informa one do arquivo compat Exempla {Sypoa que name co aqua camping sate ‘rcs io > lina abla pad de ened soita, oid ain) ingtosecpa Prnfl_FILE_): ipsa mensege eae 4.17.3 _LINE_ Informa a nha em que se enconra a macro LINE _ que pode ser utzada para lcalzar ana cores- onde @ um deterinado er Exomplo 1, findudecp 1450» tarquia c cabegaho do PICEF4SO, 2 loi hana ra tt ce nace aids 4 oid man) une pra yom unto pn 6 unsigned es: Linuagem C MPLAB? C18 1 1 teee_UNE_ & 8. fin stow roma aha 29 pine = mensogam: Eran iaha-7 ot 4.17.4 _TIME_ ‘Amacro TIME, informa o hocro em que ecoreua compacta do programa, Exempla pra que @ agi fk si compl 8s 2040-10 ne cp 11450 > uv de caberaho co PCTEFESSO. noite caléohnAscons atibicics psi de enatae sid. sod ma Fun ipl {en stdut 5 Camplago- 5", TINE) psi amonsapen’ H Complagso—2040:10 447.5 _STDC_ ‘Vela 38a pore segue 0 padi CANS! Sooo Sogueo pao, mato _STDC_retnmao al 1. Cater out vat erent de tinea quo programa ndoseque opauido CANS! Exempio Ardute Arq de catego do PICTEFSSE, fuse «tk0 > UAdcioa a bbioieca padi deena sid. veld mat) undo principal (insted, “ri: Na Patoo CANS -Patao CANSIO--l,_ STDC) Mensagem impress 0-Nao Paskao CANS 1 Patan CANS! 417.6 _18CXX _ Assume o valor 1 paraincicare compilador MPLAB® C18. 4.17.7 __Nomeprocessador ‘Assume o ar se or cmaado para um deteminadoprocessador, Por exemple, _18F4550 sr dete rid ama cao sea compa cam 8 op do commande =p F560 Saxe —amepocesnsr Send: ~ nomeprocessaor: rae do modo do PI, % Merocontetadors PIC18 - Arend @ Programe em Linguagem © 4.18.3 Fputs Envia uma sting para uma detetinada steam de saida por sucessvaschamacas da angdo pute e anexe 9 comando de nova ina (a) ao final d sting. Se 0 envio for bem-suosdi, 2 fungdo Posto; caso contri, eta EOF (Endo i). Sintaxe (es put (sting, bean) Sendo ~ fe: valor 6 tipo nt ~ string: mensagem a ser enviads ~ stream: 6 sisam de sida Examplo soul =_H_USART,Cantgua a destino de sata, Evie tng parae sat arcona un comand naval a0 fl stra, ‘us'TESTE COMMANDO FPUTS tnt 4.18.4 Printf ‘tung print eva a sing formats para uma stdout através de sucssivas chamatls da fungdo pute Os caractres que compbam a sting so processados um do cada vez e envados como aparecem ra sn, excel para fomatos especcas. Um formato especie éindcado deriv da sing geo prefixa "e sequido dos camponantes Istads nas latele a seguir Este prefioinlrna ao compiador que a vive deve ser formatads antes de sr vansmtda Se o envio fr bem-sucedido, a fang reloma o nimero de caracteres enviatos: caso contro, eto EOF (End of Fie Sintaxe res= pint sg, varius) Sendo ~ 128: valor do Bo int. ~ string: mensegem a ser enviada, varives: varies do programa ou qualquer too de dado, parades por vrgula. (opcional ‘transmissdo ce variveis do programs ov usiquer tipo de dada pode ser eaizada adconando 0 rai "36 saquida do formato e tgo de dado, a uma sting, Sintaxe ‘wesupota>ctanarhoscespectagie Pecos Linguagem € MPLAB® C18 ® [Supa opal ‘aranocd epeciarot ieecons) th Teel 413. Parat spore a — Des 1 odo atemave depose do. Adon um 0 ans do resutad, | 1 Astiona optefao Ce X- Alona prio OX y-Adona rai Oo, B-Aesiena ope 08 T rea 30 complacr que o etulado deve se psbicada pa a ones Senas ter expuiado ocoplade usta oresutad prea “roma ao conplader que o esd deve sar srazao com + ov — Se tao lr espera, 0 resid af presenta sa, se or negalvo. Vado Soman para o format satzato (00 7 T Datrina qe o daco Warsrtdo cove ser cargleade com caso i hen au 0 val expecicaco po parame lamanho: caso conrad premio com soafo' Vago somone prs orator (0, Bx Tabela 14: Pareto famanho a que dove sar tanarih, FO pare tananho dre a quaniede ima de coactees ue dove ser trrsmiba eda quantdee mina do cpio. Vico samen pao forms fone (0.008%. — Tata 19 Pardo specie sa Deserigto ara esecicaioes Ge conersio do po Weve, 0 argimen @ ser Cerverso ¢ un signed char ou Unsgned char © oespecticador determina tom ponte pra um argument signed cha, Pare espeafcadores 2 corversio co tpo histo. 0 einen @ sir Caretioo€ um shortint ou unsigned short Ino especicader termina Sim ponlo para um aurora shor ink Pac espectesioes ob conersio do tpo ire. © ewer 6 mn satan into unsigned short ong int etorine um pro paraumn argument shor long it. il Par especiicares d orrso do po neo, oaxgunerio sa carer | Gum intra to untae 20 espocicadrdetemne un ponte para um Inman t & eqs wo eponfiscer canst Para especiicadores de conersto do fo ins, 0 argumerio = sor ower tun fon int ov unsigne long Ite o espectear cetera tan got para um rguari long int. _| on eqecienons ae enero 60 Fae © whe 3 envabs congue each coum en ptr 8 Siiiosude Seons sentence aneon Far epeaads oo rota oto em 0 apsne ¢ ae loc peaom tec epic nea pou F3 cere tone eanaonesotpestas coor | 2 Maocontoadores PIC1B -Aronda e Programe em Lin Sendo 28: valor do to nt. ~ string: mersagom a ser envied, ~ varlveis:vadveis do programa ou qualquer tipo de dade, separades por vigula. (opcinal) Exemplo sgnod int mati)(10,100 00,100 va stIs1/Decara umalit de argues \a-stanist matic) cialis ge argumedoe apart do poo indiada va. encls 4) Finalza isa de argumenos, ¥a_ slats maja ssa de rgunenos a parr opto sca, ‘env a ting formate para stout ‘en wTESTE COMBNDO VPRINTFing us a2 a. Hoasagom impressa TESTE CoNaNDO VPRINTE s00n0| ‘1000 200 110 a Oexerpi anarioe também pode ser irpementad usando o print eva_arg. Vee em seguida signed nt mati=( 10,100 0001000; Ist 1. /Decora ura tad ru ¥o_ stots matin a sta de argunertos par do pots indica, aes )/Fnalas sade agunens a. stars. matin a ge apuneros a parr do porto indiato brn TESTE COMANDO VBRINTFrEnie a tng pro tout Bn a va_ aris) vat present psig & sab ni hur v_arit_ ri). Jena ver pase a psiia 3 ca mats ns 2Sutva_afist tr) Eva ovale preserte a fosize 2a mata uaa) fina over pesere na peseao 1 Je mati Bena ve_eyi 1 Fa var reser ra posto 0 ds mala 08 is cos pumas pasa pare lata de argue eam converte deo de dao. ES> _Prrexerpa toa double usiredsigndchaishor- te unsigned har onegeedoe 4.18.8 Viprintf Essa fngo sna fungo prt, orém erin ua sta de argent do vars na sean Sintaxe 185 = vii soa, sig vas) Sendo: ~ 19: valor do tio int ~ stream: 6. seam de soda Linguagam G MPLAB® C18 Aj = string: mensagam a sr envida. = varivels:varivis do programa ou qualquer tipo de dado, separas por vrgula. opcional Exemplo pana que IL @una sade arumeias ip ster, “aTESTE COVANDO VEPRINTFInt- Hula Sun nO 1) 4.18.9 Vsprintf Essa fungdo similar fang print, porém ela imprime ua lita de argumentos de varies no bur Sintaxe r= vpn cream, sig. varies) Sendo = 8: valor do tipo int buter: butler pare recepoo dos datos, = ‘string: mensagem a ser enviods, Exemplo Suporte que B16 una tage arguments ‘soni mati ses InTESTE COMMANDO VSPRINTE WS 4.18.10 _Usart_Putc Essa fungdo envi um caractere pela USART. Se 0 éspostvopossur mais do que uma USART, por det rig sea utzada a USARTI Sintaxe -tsart_pute (carte Sendo: = earactre: consented tipo char Example sat ple) Evia carat‘ para a USART. use pate Enis caractr para a USART, sept) Esa comand de "nova inka paa @ USART. 4.18.11 _User_Pute Esse fungoerva um caractere para uma apbcagdo defiida peo usr, Sintaxe user pute (aac) Sendo: = caractre: constant dopo char. Exemplo Se ute Ena 0 caractere'' para uma apt defridsplo uso 86 Microcontoleores PIC - Aprende © Programe em Linguagam © ~ destino 0:0 resutado 6 armazenado no WREG. 1 resultado &armazenado a vate, = Access 0:0 Access Bank selecionada, ‘£0 banca ésolecionado por BSR, Exempla fnce Arquivo de eabegato do PCIBFES, regra uta acess mim = 0x00 Perc cs yaa che a ees BM, Foragra udata ee frog ui meta am 020 nabs Tare ep ar ees A stan) Foo cl ‘ ‘unsigned char xy.res, 20 +1400 = + 1004 6000 ana line 01 conn Bef bne§)ar bro 100001 Ayes cpt o Can gai ‘Ric{var_banco,1,1}var_banco: pera oon foes 000 0111, Ans ess operas, o Cary Bt po st evar bro bacn = O00 111 As ea pao Cart es fir tae. eo = O01 110 asetaspao oCar/ohe Sone ay lar acces. 0) aces cla acess 0} ar aces rcarocas 10} anes ) 10000 Apts esta operat, 0 Gay b= 1, ois sal 01 C00. As eiacpaatzo, 0 Cary Bt = pos so. 100100. Ads sts apears, 0 Cary 4.19.1.3 SWAPF Ocomanco Swapinverteo nie mas sgnicatvo pelo menos signiiatno de uma varidvelinora de Bb Sintaxe Swap ar cto, Aces Sendo: ~ ar: varia de 8bts no locaads na pha ~ destino 0:0 resutado 6 armazenado no WREG. 1:0 resultado 6 armazenado na varie, ~ Access 0:0 Access Bonk solecioado, 0 banco€selecionado por BSR, Lioguagem C MPLABE C18 a Exemplo clues p184580 1 Arquivo de cabegato do PICTEFASS, pragma ude acres maha am = 0:02 ‘ea har var acessaoca ura vadvod to cha, dno da oes RAM 0300) spograui fagra utara minha ram. s=01200 ‘hat vt_banco, loca a vara! oo cha demo da Ne-Access RAM [0x02] tragra tata void ain | Fug prince t Var secss-000100111; ver banco=0 100001; ‘Soap banc tar bance = 0001100 ‘Swap access j0)/ar access = 11116100, ) 4.19.2 Fungées de Classificagao de Caracteres As fungbes uizades para manipulaao de caracores se encontram no arquivo etypedh. A utiizagdo das fungdes listadas neste tpico requ a intedugdo da drovafinclude < ctype h> dento do cco de pro sama, canfome 0 medal apresentsdo pela fngSe fealnum 4.19.2.4 Isalnum ‘A tungdo isalnum veriica se um determinado caractore perence ao corjunto (0°), (8-2) ou (2:2). Caso ele prtonca, a fun retoma o valor 1; casa conto, 0. Sintaxe ‘resultado = laalnum (cactr} Sendo: ~ caractere:vaibvel dopo char. = resultado: valorbooleana Exomplo eludes 84550 org de cabaga do PCISFASS0. #acudecaypen> dina a bole ue contr as anges de maniplgdo de craters, vid mn (och : ‘char coractere ='c' Dieclara urna variével do tino char com alriuigéo de valor. Sorte because asp ot nm cnt ins "$080 crate pte cra seta. } 4.19.22 Isalpha A tung islpha veriica se um deteminado corte pertence ao conjunto (R:2} ou (32. Cato ele perienga, fungi retarao valor; 280 contro 0.

You might also like