Programació en C del PIC 18F45K20

Referència Trucs Perifèrics   Recursos CITCEA
Tutorial Exemples Projectes   Inici

Funcions disponibles al compilador

El compilador XC8 té nombroses funcions (principalment matemàtiques) disponibles. En aquesta pàgina farem un resum de la majoria. Per trobar informació detallada de totes les funcions disponibles podeu consultar l'apèndix A de la guia d'usuari del compilador XC8 al web de Microchip.

Per fer servir una funció cal incloure la biblioteca corresponent. Per exemple, per incloure la biblioteca stdlib.h faríem:

...
#include <stdlib.h>
...

Funcions de càlcul

Funció Utilització Tipus Biblioteca Arguments Comentaris
Nom Tipus
abs Valor absolut int stdlib.h x int
ceil Arrodoniment per excés double math.h x double
exp Exponencial ex double math.h x double
fabs Valor absolut double math.h x double
floor Arrodoniment per defecte double math.h x double
fmod Residu de la divisió amb reals double math.h x double x - m · y
m és la part entera del resultat de x/y
y double
labs Valor absolut long math.h x long
log Logaritme natural double math.h x double
log10 Logaritme decimal double math.h x double
pow Potència xy double math.h x double
y double
rand Valor pseudoaleatori entre 0 i 32767 int stdlib.h
round Arrodoniment a l'enter més proper double math.h x double
sqrt Arrel quadrada double math.h x double L'argument ha de ser positiu
srand Inicialitza rand amb una llavor void stdlib.h x unsigned int
trunc Suprimeix els decimals del nombre double math.h x double

Funcions trigonomètriques

Funció Utilització Tipus Biblioteca Arguments Comentaris
Nom Tipus
acos Arccosinus double math.h x double Angle en radians
asin Arcsinus double math.h x double Angle en radians
atan Arctangent double math.h x double Angle en radians
atan2 Arctangent(y/x) double math.h y double
x double
cos Cosinus double math.h x double Angle en radians
cosh Cosinus hiperbòlic double math.h x double
sinh Sinus hiperbòlic double math.h x double
tanh Tangent hiperbòlica double math.h x double
sin Sinus double math.h x double Angle en radians
tan Tangent double math.h x double Angle en radians

Funcions sobre caràcters

Funció Utilització Tipus Biblioteca Arguments Comentaris
Nom Tipus
isalnum Mira si el caràcter és alfanumèric, o sigui 0-9, a-z o A-Z int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isalpha Mira si el caràcter és alfabètic, o sigui a-z o A-Z int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isascii Mira si el caràcter és un ASCII de 7 bit int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
iscntrl Mira si el caràcter és un dels de control, o sigui no imprimible int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isdig Mira si el caràcter és un dígit, o sigui 0-9 int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isdigit Mira si el caràcter és un dígit, o sigui 0-9 int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
islower Mira si el caràcter és una lletra minúscula, o sigui a-z int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isprint Mira si el caràcter és un espai, una lletra, una xifra o bé un d'aquests:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isgraph Mira si el caràcter és una lletra, una xifra o bé un d'aquests:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
ispunct Mira si el caràcter és un d'aquests:
! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isspace Mira si el caràcter és un espai, un tabulador o un salt de línia int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isupper Mira si el caràcter és una lletra majúscula, o sigui A-Z int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
isxdigit Mira si el caràcter és un dígit hexadecimal, o sigui 0-9, a-f o A-F int ctype.h c char Si ho és dóna un valor que s'interpreta com
a cert, sinó un que s'interpreta com a fals
tolower Si l'argument és una lletra majúscula torna la minúscula que li
correspon, en cas contrari retorna l'argument
char ctype.h c int
toupper Si l'argument és una lletra minúscula torna la majúscula que li
correspon, en cas contrari retorna l'argument
char ctype.h c int
toascii Converteix el valor a ASCII de 7 bits posant a 0 els altres bits char ctype.h c int

Funcions del sistema

Funció Utilització Tipus Biblioteca Arguments Comentaris
Nom Tipus
CLRWDT Reinicia el temporitzador de vigilància void xc.h
di Activa les interrupcions void xc.h
ei Desactiva les interrupcions void xc.h
NOP Pausa de tres cicles del rellotge de programa void xc.h
CLRWDT Posa el microcontrolador en mode d'espera void xc.h

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.