Revisão 51
a
tp1g8/Aulas.X/nbproject/Makefile-genesis.properties | ||
---|---|---|
1 | 1 |
# |
2 |
#Tue Sep 30 17:54:22 WEST 2014
|
|
2 |
#Tue Oct 07 17:51:48 WEST 2014
|
|
3 | 3 |
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=77cd93b862c99a7a2f5063179b33870b |
4 | 4 |
default.languagetoolchain.dir=/opt/microchip/xc32/v1.33/bin |
5 | 5 |
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=359a5f88fb61d826d44692616722ac97 |
tp1g8/Aulas.X/nbproject/Makefile-default.mk | ||
---|---|---|
45 | 45 |
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} |
46 | 46 |
|
47 | 47 |
# Source Files Quoted if spaced |
48 |
SOURCEFILES_QUOTED_IF_SPACED=newmain.c MyTimer.c
|
|
48 |
SOURCEFILES_QUOTED_IF_SPACED=newmain.c |
|
49 | 49 |
|
50 | 50 |
# Object Files Quoted if spaced |
51 |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/newmain.o ${OBJECTDIR}/MyTimer.o
|
|
52 |
POSSIBLE_DEPFILES=${OBJECTDIR}/newmain.o.d ${OBJECTDIR}/MyTimer.o.d
|
|
51 |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/newmain.o |
|
52 |
POSSIBLE_DEPFILES=${OBJECTDIR}/newmain.o.d |
|
53 | 53 |
|
54 | 54 |
# Object Files |
55 |
OBJECTFILES=${OBJECTDIR}/newmain.o ${OBJECTDIR}/MyTimer.o
|
|
55 |
OBJECTFILES=${OBJECTDIR}/newmain.o |
|
56 | 56 |
|
57 | 57 |
# Source Files |
58 |
SOURCEFILES=newmain.c MyTimer.c
|
|
58 |
SOURCEFILES=newmain.c |
|
59 | 59 |
|
60 | 60 |
|
61 | 61 |
CFLAGS= |
... | ... | |
97 | 97 |
@${RM} ${OBJECTDIR}/newmain.o |
98 | 98 |
@${FIXDEPS} "${OBJECTDIR}/newmain.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/newmain.o.d" -o ${OBJECTDIR}/newmain.o newmain.c |
99 | 99 |
|
100 |
${OBJECTDIR}/MyTimer.o: MyTimer.c nbproject/Makefile-${CND_CONF}.mk |
|
101 |
@${MKDIR} ${OBJECTDIR} |
|
102 |
@${RM} ${OBJECTDIR}/MyTimer.o.d |
|
103 |
@${RM} ${OBJECTDIR}/MyTimer.o |
|
104 |
@${FIXDEPS} "${OBJECTDIR}/MyTimer.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/MyTimer.o.d" -o ${OBJECTDIR}/MyTimer.o MyTimer.c |
|
105 |
|
|
106 | 100 |
else |
107 | 101 |
${OBJECTDIR}/newmain.o: newmain.c nbproject/Makefile-${CND_CONF}.mk |
108 | 102 |
@${MKDIR} ${OBJECTDIR} |
... | ... | |
110 | 104 |
@${RM} ${OBJECTDIR}/newmain.o |
111 | 105 |
@${FIXDEPS} "${OBJECTDIR}/newmain.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/newmain.o.d" -o ${OBJECTDIR}/newmain.o newmain.c |
112 | 106 |
|
113 |
${OBJECTDIR}/MyTimer.o: MyTimer.c nbproject/Makefile-${CND_CONF}.mk |
|
114 |
@${MKDIR} ${OBJECTDIR} |
|
115 |
@${RM} ${OBJECTDIR}/MyTimer.o.d |
|
116 |
@${RM} ${OBJECTDIR}/MyTimer.o |
|
117 |
@${FIXDEPS} "${OBJECTDIR}/MyTimer.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/MyTimer.o.d" -o ${OBJECTDIR}/MyTimer.o MyTimer.c |
|
118 |
|
|
119 | 107 |
endif |
120 | 108 |
|
121 | 109 |
# ------------------------------------------------------------------------------------ |
tp1g8/Aulas.X/nbproject/project.xml | ||
---|---|---|
7 | 7 |
<make-project-type>0</make-project-type> |
8 | 8 |
<c-extensions>c</c-extensions> |
9 | 9 |
<cpp-extensions/> |
10 |
<header-extensions>h</header-extensions>
|
|
10 |
<header-extensions/>
|
|
11 | 11 |
<asminc-extensions/> |
12 | 12 |
<sourceEncoding>ISO-8859-1</sourceEncoding> |
13 | 13 |
<make-dep-projects/> |
tp1g8/Aulas.X/nbproject/configurations.xml | ||
---|---|---|
14 | 14 |
displayName="Source Files" |
15 | 15 |
projectFiles="true"> |
16 | 16 |
<itemPath>newmain.c</itemPath> |
17 |
<itemPath>MyTimer.c</itemPath> |
|
18 |
<itemPath>MyTimer.h</itemPath> |
|
19 | 17 |
</logicalFolder> |
20 | 18 |
<logicalFolder name="ExternalFiles" |
21 | 19 |
displayName="Important Files" |
tp1g8/TimerLib.X/nbproject/Makefile-genesis.properties | ||
---|---|---|
1 | 1 |
# |
2 |
#Tue Sep 30 17:54:22 WEST 2014
|
|
2 |
#Tue Oct 07 17:51:48 WEST 2014
|
|
3 | 3 |
default.com-microchip-mplab-nbide-toolchainXC32-XC32LanguageToolchain.md5=77cd93b862c99a7a2f5063179b33870b |
4 | 4 |
default.languagetoolchain.dir=/opt/microchip/xc32/v1.33/bin |
5 | 5 |
com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=359a5f88fb61d826d44692616722ac97 |
tp1g8/TimerLib.X/nbproject/Makefile-default.mk | ||
---|---|---|
45 | 45 |
DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} |
46 | 46 |
|
47 | 47 |
# Source Files Quoted if spaced |
48 |
SOURCEFILES_QUOTED_IF_SPACED=initialize.c
|
|
48 |
SOURCEFILES_QUOTED_IF_SPACED=myTimer.c
|
|
49 | 49 |
|
50 | 50 |
# Object Files Quoted if spaced |
51 |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/initialize.o
|
|
52 |
POSSIBLE_DEPFILES=${OBJECTDIR}/initialize.o.d
|
|
51 |
OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/myTimer.o
|
|
52 |
POSSIBLE_DEPFILES=${OBJECTDIR}/myTimer.o.d
|
|
53 | 53 |
|
54 | 54 |
# Object Files |
55 |
OBJECTFILES=${OBJECTDIR}/initialize.o
|
|
55 |
OBJECTFILES=${OBJECTDIR}/myTimer.o
|
|
56 | 56 |
|
57 | 57 |
# Source Files |
58 |
SOURCEFILES=initialize.c
|
|
58 |
SOURCEFILES=myTimer.c
|
|
59 | 59 |
|
60 | 60 |
|
61 | 61 |
CFLAGS= |
... | ... | |
91 | 91 |
# ------------------------------------------------------------------------------------ |
92 | 92 |
# Rules for buildStep: compile |
93 | 93 |
ifeq ($(TYPE_IMAGE), DEBUG_RUN) |
94 |
${OBJECTDIR}/initialize.o: initialize.c nbproject/Makefile-${CND_CONF}.mk
|
|
94 |
${OBJECTDIR}/myTimer.o: myTimer.c nbproject/Makefile-${CND_CONF}.mk
|
|
95 | 95 |
@${MKDIR} ${OBJECTDIR} |
96 |
@${RM} ${OBJECTDIR}/initialize.o.d
|
|
97 |
@${RM} ${OBJECTDIR}/initialize.o
|
|
98 |
@${FIXDEPS} "${OBJECTDIR}/initialize.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/initialize.o.d" -o ${OBJECTDIR}/initialize.o initialize.c
|
|
96 |
@${RM} ${OBJECTDIR}/myTimer.o.d
|
|
97 |
@${RM} ${OBJECTDIR}/myTimer.o
|
|
98 |
@${FIXDEPS} "${OBJECTDIR}/myTimer.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -fframe-base-loclist -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/myTimer.o.d" -o ${OBJECTDIR}/myTimer.o myTimer.c
|
|
99 | 99 |
|
100 | 100 |
else |
101 |
${OBJECTDIR}/initialize.o: initialize.c nbproject/Makefile-${CND_CONF}.mk
|
|
101 |
${OBJECTDIR}/myTimer.o: myTimer.c nbproject/Makefile-${CND_CONF}.mk
|
|
102 | 102 |
@${MKDIR} ${OBJECTDIR} |
103 |
@${RM} ${OBJECTDIR}/initialize.o.d
|
|
104 |
@${RM} ${OBJECTDIR}/initialize.o
|
|
105 |
@${FIXDEPS} "${OBJECTDIR}/initialize.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/initialize.o.d" -o ${OBJECTDIR}/initialize.o initialize.c
|
|
103 |
@${RM} ${OBJECTDIR}/myTimer.o.d
|
|
104 |
@${RM} ${OBJECTDIR}/myTimer.o
|
|
105 |
@${FIXDEPS} "${OBJECTDIR}/myTimer.o.d" $(SILENT) -rsi ${MP_CC_DIR}../ -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -x c -c -mprocessor=$(MP_PROCESSOR_OPTION) -MMD -MF "${OBJECTDIR}/myTimer.o.d" -o ${OBJECTDIR}/myTimer.o myTimer.c
|
|
106 | 106 |
|
107 | 107 |
endif |
108 | 108 |
|
tp1g8/TimerLib.X/nbproject/configurations.xml | ||
---|---|---|
13 | 13 |
<logicalFolder name="SourceFiles" |
14 | 14 |
displayName="Source Files" |
15 | 15 |
projectFiles="true"> |
16 |
<itemPath>initialize.c</itemPath>
|
|
16 |
<itemPath>myTimer.c</itemPath>
|
|
17 | 17 |
</logicalFolder> |
18 | 18 |
<logicalFolder name="ExternalFiles" |
19 | 19 |
displayName="Important Files" |
tp1g8/TimerLib.X/myTimer.c | ||
---|---|---|
13 | 13 |
|
14 | 14 |
#define SYSCLK 80000000L |
15 | 15 |
#define Internal_Clock_Period 1 |
16 |
#define Prescaler_Rate 0.25 |
|
16 |
#define Prescaler_Rate 1 // 1:1, 1:8, 1:64, 1:256 |
|
17 |
#define NRRATES 4 |
|
17 | 18 |
|
18 | 19 |
/** |
19 |
* |
|
20 |
* @param frequencia Frequência em Hz.
|
|
21 |
* @return |
|
20 |
* Inicializa o timer.
|
|
21 |
* @param tempo Tempo em segundos.
|
|
22 |
* @return 0 = sucesso; -1 = erro
|
|
22 | 23 |
*/ |
23 |
int initialize(int frequencia) {
|
|
24 |
int initialize(int tempo) {
|
|
24 | 25 |
//2 x Internal_Clock_Period x Prescaler_Rate |
25 | 26 |
|
27 |
int prescaler_rates[] = {1,8,64,256}; |
|
28 |
//prescaler_rates_hex[] = {0x00,0x01,0x02,0x03}; |
|
29 |
int prescaler = 0; |
|
30 |
int freq_aux; |
|
26 | 31 |
|
27 |
if (frequencia == 0) {
|
|
32 |
if (tempo == 0) {
|
|
28 | 33 |
return -1; //ERRO |
29 | 34 |
} |
30 | 35 |
|
31 |
double tempo = 1 / frequencia;
|
|
36 |
double frequencia = 1 / tempo;
|
|
32 | 37 |
|
38 |
for(int i = (NRRATES - 1); i > 0 ; i++){ |
|
39 |
freq_aux = (int) (SYSCLK / prescaler_rates[i]); |
|
40 |
if(freq_aux > frequencia){ |
|
41 |
prescaler = i; |
|
42 |
break; |
|
43 |
} |
|
44 |
} |
|
45 |
|
|
46 |
|
|
33 | 47 |
//timer 1 (tem 16 bits) |
34 | 48 |
TMR1 = 0x00; |
35 | 49 |
PR1 = 0xFFFF; // meter a conversao do tempo... |
36 | 50 |
|
51 |
// 00 = 1, 01 = 8, 10 = 64, 11 = 256 |
|
52 |
switch(prescaler){ |
|
53 |
case 0:T1CONbits.TCKPS = 0x00; |
|
54 |
break; |
|
55 |
case 1:T1CONbits.TCKPS = 0x01; |
|
56 |
break; |
|
57 |
case 2:T1CONbits.TCKPS = 0x02; |
|
58 |
break; |
|
59 |
case 3: T1CONbits.TCKPS = 0x03; |
|
60 |
break; |
|
61 |
default:T1CONbits.TCKPS = 0x00; |
|
62 |
break; |
|
63 |
} |
|
64 |
|
|
65 |
|
|
66 |
return 0; |
|
37 | 67 |
} |
38 | 68 |
|
39 |
int start() { |
|
40 |
|
|
41 |
T1CONbits.TCKPS = 0x1; |
|
69 |
/** |
|
70 |
* O timer começa a contar. |
|
71 |
*/ |
|
72 |
void start() { |
|
42 | 73 |
T1CONbits.TSYNC = 0x0; |
43 | 74 |
T1CONbits.ON = 0x1; |
44 |
|
|
45 | 75 |
T1CONSET = 0x8000; |
46 |
|
|
47 | 76 |
} |
48 | 77 |
|
49 |
int stop() { |
|
78 |
/** |
|
79 |
* O timer pára de contar. |
|
80 |
*/ |
|
81 |
void stop() { |
|
50 | 82 |
T1CONbits.ON = 0x0; |
51 | 83 |
} |
52 | 84 |
|
tp1g8/TimerLib.X/myTimer.h | ||
---|---|---|
12 | 12 |
extern "C" { |
13 | 13 |
#endif |
14 | 14 |
|
15 |
int initialize(); |
|
16 |
int start();
|
|
17 |
int stop();
|
|
15 |
int initialize(int tempo);
|
|
16 |
void start();
|
|
17 |
void stop();
|
|
18 | 18 |
int setInterrupts(short flag, short enable, short priority, short subpriority); |
19 | 19 |
|
20 | 20 |
/** |
Também disponível em: Unified diff