From: Naoya Takamura Date: Mon, 28 Nov 2011 08:09:31 +0000 (+0900) Subject: ring.c inline化 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4789d84e0e125c3cce1e5ead0d7c59eab3642b60;p=scilog%2Fcpu2010.git ring.c inline化 GPS 1PPS INT0 handler: ad pps sync. sts.c add --- diff --git a/build/default/debug/byte2var.o.d b/build/default/debug/byte2var.o.d deleted file mode 100644 index bd4c4c5..0000000 --- a/build/default/debug/byte2var.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/byte2var.o: byte2var.c diff --git a/build/default/debug/debug_print.o.d b/build/default/debug/debug_print.o.d deleted file mode 100644 index 32843de..0000000 --- a/build/default/debug/debug_print.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/debug_print.o: debug_print.c myuart.h diff --git a/build/default/debug/main.o.d b/build/default/debug/main.o.d deleted file mode 100644 index 77fd474..0000000 --- a/build/default/debug/main.o.d +++ /dev/null @@ -1,2 +0,0 @@ -build/default/debug/main.o: main.c myuart.h myspi.h debug_print.h ublox.h \ - myad.h delay.h ring.h byte2var.h diff --git a/build/default/debug/myad.o.d b/build/default/debug/myad.o.d deleted file mode 100644 index b95bf2b..0000000 --- a/build/default/debug/myad.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/myad.o: myad.c delay.h myspi.h myad.h diff --git a/build/default/debug/myspi.o.d b/build/default/debug/myspi.o.d deleted file mode 100644 index 8a28699..0000000 --- a/build/default/debug/myspi.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/myspi.o: myspi.c myspi.h diff --git a/build/default/debug/myuart.o.d b/build/default/debug/myuart.o.d deleted file mode 100644 index 720a522..0000000 --- a/build/default/debug/myuart.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/myuart.o: myuart.c myuart.h diff --git a/build/default/debug/ring.o.d b/build/default/debug/ring.o.d deleted file mode 100644 index 420331e..0000000 --- a/build/default/debug/ring.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/ring.o: ring.c ring.h diff --git a/build/default/debug/ublox.o.d b/build/default/debug/ublox.o.d deleted file mode 100644 index 828d19c..0000000 --- a/build/default/debug/ublox.o.d +++ /dev/null @@ -1 +0,0 @@ -build/default/debug/ublox.o: ublox.c ublox.h myuart.h byte2var.h diff --git a/build/default/production/main.o.d b/build/default/production/main.o.d index bcecf49..e26dfad 100644 --- a/build/default/production/main.o.d +++ b/build/default/production/main.o.d @@ -1,2 +1,2 @@ build/default/production/main.o: main.c myuart.h myspi.h debug_print.h \ - ublox.h myad.h delay.h ring.h byte2var.h myint.h + ublox.h myad.h delay.h ring.h byte2var.h myint.h mysts.h diff --git a/delay.c b/delay.c deleted file mode 100644 index e69de29..0000000 diff --git a/main.c b/main.c index 2d54e34..6224f17 100644 --- a/main.c +++ b/main.c @@ -22,6 +22,7 @@ #include "ring.h" #include "byte2var.h" #include "myint.h" +#include "mysts.h" _CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2 ) //_CONFIG2( FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_OFF & FNOSC_FRC) @@ -36,14 +37,41 @@ _CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2 ) // UART1 GPS #define BAUDRATE1 9600L -/*** ADBUF **************************************************/ -#define ADBUF_BYTE 3 // AD 1dataのbyte数 +/*** ADバッファ ************************************************* + * 50Hzデータ + * 1秒平均データ + * タイムスタンプ + */ +#define ADBUF_BYTE 3 // AD 1CH 1sample dataのbyte数 // SPI外部送信用バッファ AD_SAMPLE[Hz] static char adbuf[RING_NUM][AD_CHNUM][ADBUF_BYTE*AD_SAMPLE]; // 1sec平均値 static long adbuf_1sec[RING_NUM][AD_CHNUM]; +// timestamp +static UbloxNavTimeUtc adbuf_t[RING_NUM]; + +inline void my_memcpy(void *dest0, void *src0, int len) +{ + int i; + char *dest, *src; + dest = (char*)dest0; + src = (char*)src0; + for(i = 0; i < len; i++) { + *dest++ = *src++; + } +} +inline void my_memset(void *dest0, unsigned char data, int len) +{ + int i; + char *dest; + + dest = (char*)dest0; + for(i = 0; i < len; i++) { + *dest++ = data; + } +} inline void adbuf_write(unsigned char buf_no, unsigned char ch, int cnt, long *data) { unsigned char *ptr = (unsigned char*)data; @@ -52,16 +80,21 @@ inline void adbuf_write(unsigned char buf_no, unsigned char ch, int cnt, long *d adbuf[buf_no][ch][ADBUF_BYTE*cnt + i] = *(ptr++); } } +// 1 inline void adbuf_1sec_write(char buf_no, long *data) { - memcpy(adbuf_1sec[buf_no], data, sizeof(long) * AD_CHNUM); + my_memcpy(adbuf_1sec[buf_no], data, sizeof(long) * AD_CHNUM); /* char ch; for(ch = 0; ch < AD_CHNUM; ch++) adbuf_1sec[buf_no][ch] = data[ch]; */ } +inline void adbuf_time_write(char buf_no, UbloxNavTimeUtc *t) +{ + my_memcpy(&adbuf_t[buf_no], t, sizeof(UbloxNavTimeUtc)); +} -/*****************************************************/ +/**** ublox *************************************************/ void test_ublox_rcv_mon(void) { @@ -146,7 +179,7 @@ int main(int argc, char** argv) { char sz[128]; UbloxNavTimeUtc *gps = &gpsNow; - // 割り込み禁止 + /**** 割り込み禁止 ****/ SET_CPU_IPL( 7 ); __builtin_write_OSCCONL(OSCCON & 0xbf); //clear the bit 6 of OSCCONL to unlock Pin Re-map @@ -186,6 +219,7 @@ int main(int argc, char** argv) { adint_cnt = 0; ad_cs_dis(); + sts_set(STS_NOSYNC); pps_intf_clear(); // GPS UART1初期設定 BRGH=Standard mode @@ -268,8 +302,15 @@ int main(int argc, char** argv) { int0_int_enable(); // Int enable while(1) { + // GPSから受信してデコード ublox_rcv(); + if (gpsNow.valid == 0x07 && sts_get() == STS_NOSYNC) { + // 時刻有効 + sts_set(STS_SYNCNOW0); + } if (ring_read_get() != ring_write_get()) { + // タイムスタンプget + gps = &adbuf_t[ring_read_get()]; sprintf(sz, "%04u/%02d/%02d %02d:%02d:%02d.%09ld %6lums %6luns %02X\r\n", gps->year, gps->month, gps->day, gps->hour, gps->min, gps->sec, gps->nano, gps->tow, gps->tacc, gps->valid @@ -277,7 +318,7 @@ int main(int argc, char** argv) { PDEBUG(sz); #if 1 - // + // AD data get char ch; for(ch=0; ch #include @@ -5,9 +10,6 @@ #include "myspi.h" #include "myad.h" -#define CS_RCLK PORTAbits.RA7 -#define CS_CLK PORTAbits.RA8 -#define CS_DATA PORTAbits.RA9 #if 0 // AD DRDY0 INTフラグ 1=INTかかった 0=なし @@ -39,6 +41,7 @@ void ad_cs_init(void) asm("NOP"); CS_DATA = 0; } +# if 0 /* int cs: 0〜15 */ @@ -64,6 +67,7 @@ void ad_cs(unsigned char cs) asm("NOP"); CS_RCLK = 0; } + void ad_cs_dis(void) { unsigned char i; @@ -80,6 +84,7 @@ void ad_cs_dis(void) asm("NOP"); CS_RCLK = 0; } +#endif void ad_reset(void) { diff --git a/myad.h b/myad.h index b84ce72..29de4c5 100644 --- a/myad.h +++ b/myad.h @@ -4,6 +4,10 @@ #define __MYAD_H__ +#define CS_RCLK PORTAbits.RA7 +#define CS_CLK PORTAbits.RA8 +#define CS_DATA PORTAbits.RA9 + #define AD_CHNUM 6 #define AD_CH1_CS 0 // AD CH1のCS番号 #define PGA_CH1_CS 6 // PGA CH1のCS番号 @@ -24,14 +28,51 @@ //char ad_is_drdy0_intf(void); void ad_cs_init(void); -void ad_cs(unsigned char adr); -void ad_cs_dis(void); +inline extern void ad_cs(unsigned char cs) +{ + unsigned char i; + +//CS_CLK = 1; + for(i = 16; i > 0; i--) { + if (i == cs+1) { + CS_DATA = 0; + } else { + CS_DATA = 1; + } + asm("NOP"); + CS_CLK = 1; + CS_CLK = 0; + } + asm("NOP"); + CS_RCLK = 1; + asm("NOP"); + CS_DATA = 0; + asm("NOP"); + CS_RCLK = 0; +} + +inline extern void ad_cs_dis(void){ + unsigned char i; + + CS_DATA = 1; + for(i = 16; i > 0; i--) { + CS_CLK = 1; + CS_CLK = 0; + } + asm("NOP"); + CS_RCLK = 1; + asm("NOP"); + CS_DATA = 0; + asm("NOP"); + CS_RCLK = 0; +} + -#define ad_reset_dis() PORTBbits.RB10 = 1; __delay32(1) -#define ad_reset_ena() PORTBbits.RB10 = 0; __delay32(1) +#define ad_reset_dis() PORTBbits.RB10 = 1; asm("NOP") +#define ad_reset_ena() PORTBbits.RB10 = 0; asm("NOP") -#define ad_start_dis() PORTBbits.RB11 = 0; __delay32(1) -#define ad_start_ena() PORTBbits.RB11 = 1; __delay32(1) +#define ad_start_dis() PORTBbits.RB11 = 0; asm("NOP") +#define ad_start_ena() PORTBbits.RB11 = 1; asm("NOP") #define ad_is_drdy0_enable() (PORTBbits.RB12 == 0) diff --git a/mysts.c b/mysts.c new file mode 100644 index 0000000..00d61c1 --- /dev/null +++ b/mysts.c @@ -0,0 +1,6 @@ +/* + * main status + */ + +char main_sts; + diff --git a/mysts.h b/mysts.h new file mode 100644 index 0000000..7994f7c --- /dev/null +++ b/mysts.h @@ -0,0 +1,21 @@ +/* + * main status + */ +#ifndef __MYSTS_H__ +#define __MYSTS_H__ + +#define STS_NOSYNC 0 // GPS TIME NOT FIXED +#define STS_SYNCNOW0 1 +#define STS_SYNCNOW1 2 +#define STS_SYNCWAIT 3 +#define STS_SYNCED 4 // GPS TIME FIXED, AD SYNCED + +extern char main_sts; + +#define sts_set(s) main_sts = s +#define sts_get() main_sts + +#endif + + + diff --git a/nbproject/Makefile-default.mk b/nbproject/Makefile-default.mk index de2a8fe..ef71c1f 100644 --- a/nbproject/Makefile-default.mk +++ b/nbproject/Makefile-default.mk @@ -35,10 +35,10 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE} DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE} # Object Files Quoted if spaced -OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/byte2var.o ${OBJECTDIR}/debug_print.o ${OBJECTDIR}/main.o ${OBJECTDIR}/myad.o ${OBJECTDIR}/myspi.o ${OBJECTDIR}/myuart.o ${OBJECTDIR}/ring.o ${OBJECTDIR}/ublox.o +OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/byte2var.o ${OBJECTDIR}/debug_print.o ${OBJECTDIR}/main.o ${OBJECTDIR}/myad.o ${OBJECTDIR}/myspi.o ${OBJECTDIR}/mysts.o ${OBJECTDIR}/myuart.o ${OBJECTDIR}/ring.o ${OBJECTDIR}/ublox.o # Object Files -OBJECTFILES=${OBJECTDIR}/byte2var.o ${OBJECTDIR}/debug_print.o ${OBJECTDIR}/main.o ${OBJECTDIR}/myad.o ${OBJECTDIR}/myspi.o ${OBJECTDIR}/myuart.o ${OBJECTDIR}/ring.o ${OBJECTDIR}/ublox.o +OBJECTFILES=${OBJECTDIR}/byte2var.o ${OBJECTDIR}/debug_print.o ${OBJECTDIR}/main.o ${OBJECTDIR}/myad.o ${OBJECTDIR}/myspi.o ${OBJECTDIR}/mysts.o ${OBJECTDIR}/myuart.o ${OBJECTDIR}/ring.o ${OBJECTDIR}/ublox.o CFLAGS= @@ -93,98 +93,110 @@ ${OBJECTDIR}/byte2var.o: byte2var.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/byte2var.o.d @${RM} ${OBJECTDIR}/byte2var.o.ok ${OBJECTDIR}/byte2var.o.err - @${FIXDEPS} "${OBJECTDIR}/byte2var.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/byte2var.o.d" -o ${OBJECTDIR}/byte2var.o byte2var.c + @${FIXDEPS} "${OBJECTDIR}/byte2var.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/byte2var.o.d" -o ${OBJECTDIR}/byte2var.o byte2var.c -Winline + +${OBJECTDIR}/myuart.o: myuart.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${OBJECTDIR} + @${RM} ${OBJECTDIR}/myuart.o.d + @${RM} ${OBJECTDIR}/myuart.o.ok ${OBJECTDIR}/myuart.o.err + @${FIXDEPS} "${OBJECTDIR}/myuart.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myuart.o.d" -o ${OBJECTDIR}/myuart.o myuart.c -Winline ${OBJECTDIR}/debug_print.o: debug_print.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/debug_print.o.d @${RM} ${OBJECTDIR}/debug_print.o.ok ${OBJECTDIR}/debug_print.o.err - @${FIXDEPS} "${OBJECTDIR}/debug_print.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/debug_print.o.d" -o ${OBJECTDIR}/debug_print.o debug_print.c + @${FIXDEPS} "${OBJECTDIR}/debug_print.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/debug_print.o.d" -o ${OBJECTDIR}/debug_print.o debug_print.c -Winline -${OBJECTDIR}/myuart.o: myuart.c nbproject/Makefile-${CND_CONF}.mk +${OBJECTDIR}/mysts.o: mysts.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} - @${RM} ${OBJECTDIR}/myuart.o.d - @${RM} ${OBJECTDIR}/myuart.o.ok ${OBJECTDIR}/myuart.o.err - @${FIXDEPS} "${OBJECTDIR}/myuart.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myuart.o.d" -o ${OBJECTDIR}/myuart.o myuart.c + @${RM} ${OBJECTDIR}/mysts.o.d + @${RM} ${OBJECTDIR}/mysts.o.ok ${OBJECTDIR}/mysts.o.err + @${FIXDEPS} "${OBJECTDIR}/mysts.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/mysts.o.d" -o ${OBJECTDIR}/mysts.o mysts.c -Winline ${OBJECTDIR}/ublox.o: ublox.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/ublox.o.d @${RM} ${OBJECTDIR}/ublox.o.ok ${OBJECTDIR}/ublox.o.err - @${FIXDEPS} "${OBJECTDIR}/ublox.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ublox.o.d" -o ${OBJECTDIR}/ublox.o ublox.c + @${FIXDEPS} "${OBJECTDIR}/ublox.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ublox.o.d" -o ${OBJECTDIR}/ublox.o ublox.c -Winline ${OBJECTDIR}/myad.o: myad.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/myad.o.d @${RM} ${OBJECTDIR}/myad.o.ok ${OBJECTDIR}/myad.o.err - @${FIXDEPS} "${OBJECTDIR}/myad.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myad.o.d" -o ${OBJECTDIR}/myad.o myad.c + @${FIXDEPS} "${OBJECTDIR}/myad.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myad.o.d" -o ${OBJECTDIR}/myad.o myad.c -Winline ${OBJECTDIR}/main.o: main.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/main.o.d @${RM} ${OBJECTDIR}/main.o.ok ${OBJECTDIR}/main.o.err - @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/main.o.d" -o ${OBJECTDIR}/main.o main.c - -${OBJECTDIR}/myspi.o: myspi.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} ${OBJECTDIR} - @${RM} ${OBJECTDIR}/myspi.o.d - @${RM} ${OBJECTDIR}/myspi.o.ok ${OBJECTDIR}/myspi.o.err - @${FIXDEPS} "${OBJECTDIR}/myspi.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myspi.o.d" -o ${OBJECTDIR}/myspi.o myspi.c + @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/main.o.d" -o ${OBJECTDIR}/main.o main.c -Winline ${OBJECTDIR}/ring.o: ring.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/ring.o.d @${RM} ${OBJECTDIR}/ring.o.ok ${OBJECTDIR}/ring.o.err - @${FIXDEPS} "${OBJECTDIR}/ring.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ring.o.d" -o ${OBJECTDIR}/ring.o ring.c + @${FIXDEPS} "${OBJECTDIR}/ring.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ring.o.d" -o ${OBJECTDIR}/ring.o ring.c -Winline + +${OBJECTDIR}/myspi.o: myspi.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${OBJECTDIR} + @${RM} ${OBJECTDIR}/myspi.o.d + @${RM} ${OBJECTDIR}/myspi.o.ok ${OBJECTDIR}/myspi.o.err + @${FIXDEPS} "${OBJECTDIR}/myspi.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -D__DEBUG -D__MPLAB_DEBUGGER_ICD3=1 -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myspi.o.d" -o ${OBJECTDIR}/myspi.o myspi.c -Winline else ${OBJECTDIR}/byte2var.o: byte2var.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/byte2var.o.d @${RM} ${OBJECTDIR}/byte2var.o.ok ${OBJECTDIR}/byte2var.o.err - @${FIXDEPS} "${OBJECTDIR}/byte2var.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/byte2var.o.d" -o ${OBJECTDIR}/byte2var.o byte2var.c + @${FIXDEPS} "${OBJECTDIR}/byte2var.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/byte2var.o.d" -o ${OBJECTDIR}/byte2var.o byte2var.c -Winline + +${OBJECTDIR}/myuart.o: myuart.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${OBJECTDIR} + @${RM} ${OBJECTDIR}/myuart.o.d + @${RM} ${OBJECTDIR}/myuart.o.ok ${OBJECTDIR}/myuart.o.err + @${FIXDEPS} "${OBJECTDIR}/myuart.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myuart.o.d" -o ${OBJECTDIR}/myuart.o myuart.c -Winline ${OBJECTDIR}/debug_print.o: debug_print.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/debug_print.o.d @${RM} ${OBJECTDIR}/debug_print.o.ok ${OBJECTDIR}/debug_print.o.err - @${FIXDEPS} "${OBJECTDIR}/debug_print.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/debug_print.o.d" -o ${OBJECTDIR}/debug_print.o debug_print.c + @${FIXDEPS} "${OBJECTDIR}/debug_print.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/debug_print.o.d" -o ${OBJECTDIR}/debug_print.o debug_print.c -Winline -${OBJECTDIR}/myuart.o: myuart.c nbproject/Makefile-${CND_CONF}.mk +${OBJECTDIR}/mysts.o: mysts.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} - @${RM} ${OBJECTDIR}/myuart.o.d - @${RM} ${OBJECTDIR}/myuart.o.ok ${OBJECTDIR}/myuart.o.err - @${FIXDEPS} "${OBJECTDIR}/myuart.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myuart.o.d" -o ${OBJECTDIR}/myuart.o myuart.c + @${RM} ${OBJECTDIR}/mysts.o.d + @${RM} ${OBJECTDIR}/mysts.o.ok ${OBJECTDIR}/mysts.o.err + @${FIXDEPS} "${OBJECTDIR}/mysts.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/mysts.o.d" -o ${OBJECTDIR}/mysts.o mysts.c -Winline ${OBJECTDIR}/ublox.o: ublox.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/ublox.o.d @${RM} ${OBJECTDIR}/ublox.o.ok ${OBJECTDIR}/ublox.o.err - @${FIXDEPS} "${OBJECTDIR}/ublox.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ublox.o.d" -o ${OBJECTDIR}/ublox.o ublox.c + @${FIXDEPS} "${OBJECTDIR}/ublox.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ublox.o.d" -o ${OBJECTDIR}/ublox.o ublox.c -Winline ${OBJECTDIR}/myad.o: myad.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/myad.o.d @${RM} ${OBJECTDIR}/myad.o.ok ${OBJECTDIR}/myad.o.err - @${FIXDEPS} "${OBJECTDIR}/myad.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myad.o.d" -o ${OBJECTDIR}/myad.o myad.c + @${FIXDEPS} "${OBJECTDIR}/myad.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myad.o.d" -o ${OBJECTDIR}/myad.o myad.c -Winline ${OBJECTDIR}/main.o: main.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/main.o.d @${RM} ${OBJECTDIR}/main.o.ok ${OBJECTDIR}/main.o.err - @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/main.o.d" -o ${OBJECTDIR}/main.o main.c - -${OBJECTDIR}/myspi.o: myspi.c nbproject/Makefile-${CND_CONF}.mk - @${MKDIR} ${OBJECTDIR} - @${RM} ${OBJECTDIR}/myspi.o.d - @${RM} ${OBJECTDIR}/myspi.o.ok ${OBJECTDIR}/myspi.o.err - @${FIXDEPS} "${OBJECTDIR}/myspi.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myspi.o.d" -o ${OBJECTDIR}/myspi.o myspi.c + @${FIXDEPS} "${OBJECTDIR}/main.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/main.o.d" -o ${OBJECTDIR}/main.o main.c -Winline ${OBJECTDIR}/ring.o: ring.c nbproject/Makefile-${CND_CONF}.mk @${MKDIR} ${OBJECTDIR} @${RM} ${OBJECTDIR}/ring.o.d @${RM} ${OBJECTDIR}/ring.o.ok ${OBJECTDIR}/ring.o.err - @${FIXDEPS} "${OBJECTDIR}/ring.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ring.o.d" -o ${OBJECTDIR}/ring.o ring.c + @${FIXDEPS} "${OBJECTDIR}/ring.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/ring.o.d" -o ${OBJECTDIR}/ring.o ring.c -Winline + +${OBJECTDIR}/myspi.o: myspi.c nbproject/Makefile-${CND_CONF}.mk + @${MKDIR} ${OBJECTDIR} + @${RM} ${OBJECTDIR}/myspi.o.d + @${RM} ${OBJECTDIR}/myspi.o.ok ${OBJECTDIR}/myspi.o.err + @${FIXDEPS} "${OBJECTDIR}/myspi.o.d" $(SILENT) -c ${MP_CC} $(MP_EXTRA_CC_PRE) -g -omf=elf -x c -c -mcpu=$(MP_PROCESSOR_OPTION) -O1 -MMD -MF "${OBJECTDIR}/myspi.o.d" -o ${OBJECTDIR}/myspi.o myspi.c -Winline endif diff --git a/nbproject/Makefile-genesis.properties b/nbproject/Makefile-genesis.properties index 03b18d0..5542940 100644 --- a/nbproject/Makefile-genesis.properties +++ b/nbproject/Makefile-genesis.properties @@ -1,5 +1,5 @@ # -#Tue Nov 22 21:08:51 JST 2011 +#Mon Nov 28 11:11:47 JST 2011 default.languagetoolchain.dir=/opt/microchip/mplabc30/v3.30c/bin com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=11bb82e71763925c87fa30f6c65473b1 default.languagetoolchain.version=3_30 diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml index e520031..20cfb21 100644 --- a/nbproject/configurations.xml +++ b/nbproject/configurations.xml @@ -31,6 +31,8 @@ myint.h myspi.c myspi.h + mysts.c + mysts.h myuart.c myuart.h ring.c @@ -93,14 +95,15 @@ + - + diff --git a/ring.c b/ring.c index 0d29ea0..e2eeb6e 100644 --- a/ring.c +++ b/ring.c @@ -5,9 +5,9 @@ write位置 read位置 */ -static unsigned char r_write; -static unsigned char r_read; -static unsigned char r_num; +unsigned char r_write; +unsigned char r_read; +unsigned char r_num; /* */ @@ -20,29 +20,16 @@ void ring_init(void) /* 読み出し位置 */ -unsigned char ring_read_get(void) -{ - return r_read; -} void ring_read_set(unsigned char i) { - r_read = i; + r_read = i; } void ring_read_plus(void) { - r_read++; - if (r_read >= r_num) r_read = 0; -} -// 書き込み位置 -unsigned char ring_write_get(void) -{ - return r_write; -} -void ring_write_plus(void) -{ - r_write++; - if (r_write >= r_num) r_write = 0; + r_read++; + if (r_read >= r_num) r_read = 0; } + // 読み込んでいないデータ数 unsigned char ring_num_get() { diff --git a/ring.h b/ring.h index 6a80ed8..bdcf379 100644 --- a/ring.h +++ b/ring.h @@ -5,17 +5,26 @@ #define RING_NUM 6 +extern unsigned char r_write; +extern unsigned char r_read; +extern unsigned char r_num; + #define ring_clear() ring_read_set(ring_write_get(t)) void ring_init(void); + //読み出し位置 -unsigned char ring_read_get(void); +#define ring_read_get() r_read void ring_read_set(unsigned char i); void ring_read_plus(void); // 書き込み位置 -unsigned char ring_write_get(void); -void ring_write_plus(void); +#define ring_write_get() r_write +inline extern void ring_write_plus(void) +{ + r_write++; + if (r_write >= r_num) r_write = 0; +} unsigned char ring_num_get(); unsigned char ring_is_full(void);