太长不看~~~~~~~~~ 哦,原来楼主还有这样的故事,佩服!
刚才编译一下,用MEGA2560,这段代码:“EEPROM.write(4,0); //地址4写零,表示没有任何文件,需要写头文件”
无法通过,看不懂什么意思。 本帖最后由 hi55234 于 2014-10-26 00:22 编辑
yuqingshan 发表于 2014-10-25 23:32 static/image/common/back.gif
哦,原来楼主还有这样的故事,佩服!
刚才编译一下,用MEGA2560,这段代码:“EEPROM.write(4,0); //地址4写 ...
如果是编译错误详情可见这个,因为没装库
http://www.geek-workshop.com/thread-4413-1-1.html
至于说效果,就是对EEPROM地址写值,没有返回值的,貌似
RE: GPS—arduino—蓝牙 测试1【完结】
本帖最后由 hi55234 于 2014-10-30 22:29 编辑1、连接图(使用端口)
2、EEPROM现行写入程序
太长不看,转1楼直接用
3、实际运行程序
太长不看,转1楼直接用
4、材料、成本
5、效果、其他
非常详细,感谢分享。 本帖最后由 hi55234 于 2014-11-6 22:24 编辑
:$ 太长不看,本帖终结
码表4 去内存监测,恢复Track00000的独立性,A0切蓝牙、A1增加新航线(30,704)
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
boolean shanshuo=1;
#include <SoftwareSerial.h>
SoftwareSerial gps(8, 9);
char tempx;
char GPRMC;
char GPGGA;
int gpschangertest;
boolean gpschanger;
int weiduA;
unsigned long weiduB,weiduC;
int jingduA;
unsigned long jingduB,jingduC;
boolean GPGGAget=0;
boolean GPRMCget=0;
unsigned long gpstimes;
boolean konghangpanduan;
boolean gpsshuchuqiehuanB;
int jsq1=0;
int jsq2=0;
int jsq3=0;
int jsq4=0;
int jsq5=0;
int jsq6=0;
int jsq7=0;
int GPGGAlong=0;
int GPRMClong=0;
boolean jiaoyanjieguoA,jiaoyanjieguoC;
float sudu;
String jianyan="";
int yihuoyunsuan;
boolean dingweiok=0;
/*---------------------GPS end---------------------------------*/
int gpsshuchuqiehuanA;
#include<EEPROM.h>
int EEPROMvalue;
#include <SD.h>
const int chipSelect = 10;
boolean gpxstart;
boolean gpxmiddleA;
boolean gpxmiddleB=1;
boolean gpxendA;
boolean gpxendB;
int gpxjilujiangeA;
int gpxjilujiangeB=256;
int gpxjiludianshu;
int gpxjiluguijishu;
char TrackAL="000";
char TrackAN="00000";
char TrackB0="-0000.0";
char TrackB1="00.0000000";
char TrackB2="000.0000000";
char TrackB4="2000-00-00T00:00:00";
char TrackB5="0000.00";
char TrackB6="000.00";
boolean weiduxuweitiao=0;
boolean jingduxuweitiao=0;
int weiduzhanwei,jingduzhanwei;
int utc8s,utc8f,utc8m,utc8n,utc8y,utc8r;
int xiaoyue={4,6,9,11};
boolean rijinwei,yuejinwei,nianjinwei,xiaoyueok;
unsigned long fentodu;
int Linenumber;
int Tracknumber;
void setup() {
pinMode(14,INPUT);
pinMode(15,INPUT);
lcd.begin(16, 2);
Serial.begin(9600);
gps.begin(9600);
EEPROMvalue= EEPROM.read(0);
if(EEPROMvalue==0)gpsshuchuqiehuanB=0;
else gpsshuchuqiehuanB=1;
EEPROMvalue= EEPROM.read(1);
if(EEPROMvalue==255) EEPROMvalue=0;
Linename();
Trackname();
EEPROMvalue= EEPROM.read(2);
if(EEPROMvalue==0)gpxjilujiangeA=1;
else gpxjilujiangeA=EEPROMvalue;
EEPROMvalue= EEPROM.read(3);
gpxjiludianshu=EEPROMvalue*25;
EEPROMvalue++;
EEPROM.write(3, EEPROMvalue);
pinMode(10, OUTPUT);
if (!SD.begin(chipSelect)) {
lcd.print("SD Card failed! ");
return;
}
}
void loop() {
ruanchuankou();
if(millis()-gpstimes>10 && !konghangpanduan){
konghangpanduan=1;
gpxjilujiangeB++;
gpsdechuli();
if(!gpsshuchuqiehuanB){
Serial.println(GPGGA);
Serial.println(GPRMC);
}
if(jiaoyanjieguoA)jiexiGPGGA();
if(jiaoyanjieguoC){
jiexiGPRMC();
if(dingweiok && gpschanger) {
gpschanger=0;
if(gpxjilujiangeB>gpxjilujiangeA){
gpxjilujiangeB=0;
gpxjiludianshu++;
if(gpxjiludianshu%25==0){
EEPROMvalue= EEPROM.read(3);
EEPROMvalue++;
if(EEPROMvalue>108){
EEPROMvalue=0;
EEPROM.write(3, 0);
gpxjiludianshu=0;
EEPROM.write(8,0);
EEPROM.write(9,0);
}else {
EEPROM.write(3, EEPROMvalue);
}
}
sdcaozuo();
}
}
}
/*
G:A B F:xxx SD:G
0123456789012345
G:V _ F:xxx SD:E
*/
/*
xxx T12345 A B G
0123456789012345
xxx T12345 V _ E
*/
shanshuo=!shanshuo;
lcd.setCursor(0, 0);
if(shanshuo)lcd.print(TrackAL);
else lcd.print(" ");
lcd.print(" T");
lcd.print(TrackAN);
if(dingweiok)lcd.print(" A ");
else lcd.print(" V ");
if(gpsshuchuqiehuanB)lcd.print("B ");
else lcd.print("_ ");
lcd.setCursor(0, 1);
if(dingweiok){
lcd.print(TrackB0);
lcd.print("M ");
lcd.print(TrackB5);
lcd.print("km/h ");
}else{
lcd.print(TrackB0);
lcd.print(" M *.* km/h ");
}
gpsshuchuqiehuanA =digitalRead(14);
if (gpsshuchuqiehuanA==HIGH){
gpsshuchuqiehuanB=!gpsshuchuqiehuanB;
EEPROM.write(0,gpsshuchuqiehuanB);
}
gpsshuchuqiehuanA =digitalRead(15);
if (gpsshuchuqiehuanA==HIGH){
EEPROM.write(8,0);
}
for(int col=0;col<80;col++)GPRMC=0;
for(int col=0;col<80;col++)GPGGA=0;
for(int col=0;col<12;col++)tempx=0;
jsq1=0;
GPGGAget=0;
GPRMCget=0;
}
}
void ruanchuankou()
{
while (gps.available() > 0) {
gpstimes=millis();
konghangpanduan=0;
if(GPRMCget){
GPRMC=gps.read();
if(gpsshuchuqiehuanB)Serial.print(GPRMC);
if(GPRMC=='*'){
GPRMClong=jsq1;
GPRMCget=0;
jsq1=0;
}else if(jsq1<79)jsq1++;
}else if(GPGGAget){
GPGGA=gps.read();
if(gpsshuchuqiehuanB)Serial.print(GPGGA);
if(GPGGA=='*'){
GPGGAlong=jsq1;
GPGGAget=0;
jsq1=0;
}else if(jsq1<79)jsq1++;
}else{
tempx=gps.read();
if(gpsshuchuqiehuanB)Serial.print(tempx);
if(jsq1<6)jsq1++;
}
if(jsq1==6){
if(tempx=='M' && tempx=='C'){
GPRMCget=1;
GPGGAget=0;
for(int col=0;col<6;col++)GPRMC=tempx;
for(int col=0;col<6;col++)tempx=0;
}else if(tempx=='G' && tempx=='A'){
GPGGAget=1;
GPRMCget=0;
for(int col=0;col<6;col++)GPGGA=tempx;
for(int col=0;col<6;col++)tempx=0;
}else{
for(int col=0;col<5;col++)tempx=tempx;
jsq1=5;
}
}
}
}
void gpsdechuli()
{
for(int col=1;col<GPRMClong-3;col++){
if(col==1)yihuoyunsuan=GPRMC;
else yihuoyunsuan=yihuoyunsuan ^ GPRMC;
}
if(yihuoyunsuan==0){
jianyan="00";
}else if(yihuoyunsuan>15){
jianyan = String(yihuoyunsuan,HEX);
}else{
jianyan = "0";
jianyan += String(yihuoyunsuan,HEX);
}
jianyan.toUpperCase();
if(jianyan==GPRMC && jianyan==GPRMC ){
jiaoyanjieguoC=1;
}else{
jiaoyanjieguoC=0;
}
jianyan="";
for(int col=1;col<GPGGAlong-3;col++){
if(col==1)yihuoyunsuan=GPGGA;
else yihuoyunsuan=yihuoyunsuan ^ GPGGA;
}
if(yihuoyunsuan==0){
jianyan="00";
}else if(yihuoyunsuan>15){
jianyan = String(yihuoyunsuan,HEX);
}else{
jianyan = "0";
jianyan += String(yihuoyunsuan,HEX);
}
jianyan.toUpperCase();
if(jianyan==GPGGA && jianyan==GPGGA ){
jiaoyanjieguoA=1;
}else{
jiaoyanjieguoA=0;
}
jianyan="";
}
void jiexiGPGGA()
{
jsq2=0;
jsq3=0;
jsq4=0;
jsq5=0;
/*
$GPGGA,002525.000,2936.5057,N,10634.1368,E,1,05,1.6,246.0,M,,,,0000*08
--------------------------------------------7------9----10
*/
for(int col=1;col<GPGGAlong-3;col++){
if(GPGGA==',')jsq2++;
if(jsq2==10){
jsq3=col;
col=GPGGAlong-3;
}
if(jsq2<9)jsq4=col;
if(jsq2<7)jsq5=col;
}
if(GPGGA==49)dingweiok=1;
else dingweiok=0;
for(int col=0;col<8;col++)TrackB0=0;
memcpy(TrackB0,GPGGA+jsq4+2, jsq3-jsq4-2);
}
void jiexiGPRMC()
{
jsq2=0;
jsq3=0;
jsq4=0;
jsq5=0;
jsq6=0;
jsq7=0;
for(int col=1;col<GPRMClong-3;col++){
if(GPRMC==',')jsq2++;
if(jsq2==9){
jsq3=col;
col=GPRMClong-3;
}
if(jsq2<8)jsq4=col;
if(jsq2<6)jsq5=col;
if(jsq2<4)jsq6=col;
if(jsq2<2)jsq7=col;
}
if(GPRMC=='A')chinatime();
if(dingweiok){
jingweiduchuli();
hangxiangyusudu();
}else {
weiduA=0;
weiduB=0;
weiduC=0;
jingduA=0;
jingduB=0;
jingduC=0;
}
}
void chinatime()
{
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8s=jianyan.toInt()+8;
if(utc8s>23)rijinwei=1;
utc8s=utc8s%24;
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8f=jianyan.toInt();
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8m=jianyan.toInt();
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8r=jianyan.toInt();
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8y=jianyan.toInt();
jianyan = String(GPRMC);
jianyan += GPRMC;
utc8n=jianyan.toInt();
if(rijinwei){
if(utc8y==2 && utc8r==28){
if(utc8n % 400 == 0 || utc8n % 100 != 0 && utc8n % 4 == 0)utc8r=29;
else {
utc8r=1;
yuejinwei=1;
}
}else{
for(int col=0;col<4;col++){
if(xiaoyue==utc8y)xiaoyueok=1;
}
if(xiaoyueok && utc8r==30){
utc8r=1;
yuejinwei=1;
}else if(!xiaoyueok && utc8r==31){
utc8r=1;
yuejinwei=1;
}else{
utc8r++;
}
}
}
if(yuejinwei && utc8y==12){
utc8y=1;
nianjinwei=1;
}else if(yuejinwei){
utc8y++;
}
if(nianjinwei)utc8n++;
for(int col=0;col<12;col++)tempx=0;
if(utc8n>9){
sprintf(tempx, "%d", utc8n);
memcpy(TrackB4+2,tempx, 2);
}else{
TrackB4=48;
TrackB4=utc8n+48;
}
for(int col=0;col<12;col++)tempx=0;
if(utc8y>9){
sprintf(tempx, "%d", utc8y);
memcpy(TrackB4+5,tempx, 2);
} else{
TrackB4=48;
TrackB4=utc8y+48;
}
for(int col=0;col<12;col++)tempx=0;
if(utc8r>9){
sprintf(tempx, "%d", utc8r);
memcpy(TrackB4+8,tempx, 2);
}else{
TrackB4=48;
TrackB4=utc8r+48;
}
for(int col=0;col<12;col++)tempx=0;
if(utc8s>9){
sprintf(tempx, "%d", utc8s);
memcpy(TrackB4+11,tempx, 2);
}else{
TrackB4=48;
TrackB4=utc8s+48;
}
for(int col=0;col<12;col++)tempx=0;
if(utc8f>9){
sprintf(tempx, "%d", utc8f);
memcpy(TrackB4+14,tempx, 2);
}else{
TrackB4=48;
TrackB4=utc8f+48;
}
for(int col=0;col<12;col++)tempx=0;
if(utc8m>9){
sprintf(tempx, "%d", utc8m);
memcpy(TrackB4+17,tempx, 2);
}else{
TrackB4=48;
TrackB4=utc8m+48;
}
}
void jingweiduchuli()
{
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq7+4, 2);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(weiduA!=gpschangertest){
weiduA=gpschangertest;
gpschanger=1;
}
if(GPRMC==83)weiduxuweitiao=1;
if(GPRMC==87)jingduxuweitiao=1;
memcpy(TrackB1,GPRMC+jsq7+4, 2);
if(gpschangertest<10) {
TrackB1=32;
weiduzhanwei=1;
}else weiduzhanwei=2;
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq7+6, 2);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(weiduB!=gpschangertest){
weiduB=gpschangertest;
gpschanger=1;
}
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq7+9, 4);
if(jsq6-jsq7==12) memcpy(tempx,GPRMC+jsq7+9, 4);
else if(jsq6-jsq7==13)memcpy(tempx,GPRMC+jsq7+9, 5);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(weiduC!=gpschangertest){
weiduC=gpschangertest;
gpschanger=1;
}
fentodu=weiduB*100000+weiduC*10;
fentodu=fentodu/6;
for(int col=0;col<12;col++)tempx=0;
dtostrf(fentodu,6,0,tempx);
if(fentodu>99999){
memcpy(TrackB1+3,tempx, 6);
}else if(fentodu>9999){
TrackB1=48;
memcpy(TrackB1+4,tempx, 5);
}else if(fentodu>999){
TrackB1=48;
TrackB1=48;
memcpy(TrackB1+5,tempx, 4);
}else if(fentodu>99){
TrackB1=48;
TrackB1=48;
TrackB1=48;
memcpy(TrackB1+6,tempx, 3);
}else if(fentodu>9){
TrackB1=48;
TrackB1=48;
TrackB1=48;
TrackB1=48;
memcpy(TrackB1+7,tempx, 2);
}else{
TrackB1=48;
TrackB1=48;
TrackB1=48;
TrackB1=48;
TrackB1=48;
memcpy(TrackB1+8,tempx, 1);
}
if(weiduxuweitiao){
weiduxuweitiao=0;
if(weiduzhanwei==2){
for(int col=0;col<12;col++)tempx=0;
tempx=45;
memcpy(tempx+1,TrackB1, 9);
memcpy(TrackB1,tempx, 10);
}else{
TrackB1=45;
}
}
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq6+4, 3);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(jingduA!=gpschangertest){
jingduA=gpschangertest;
gpschanger=1;
}
memcpy(TrackB2,GPRMC+jsq6+4, 3);
jingduzhanwei=3;
if(gpschangertest<100) {
TrackB2=32;
jingduzhanwei=2;
}
if(gpschangertest<10) {
TrackB2=32;
jingduzhanwei=1;
}
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq6+7, 3);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(jingduB!=gpschangertest){
jingduB=gpschangertest;
gpschanger=1;
}
for(int col=0;col<12;col++)tempx=0;
if(jsq5-jsq6==13)memcpy(tempx,GPRMC+jsq6+10, 4);
else if(jsq5-jsq6==14)memcpy(tempx,GPRMC+jsq6+10, 5);
jianyan =tempx;
gpschangertest=jianyan.toInt();
if(jingduC!=gpschangertest){
jingduC=gpschangertest;
gpschanger=1;
}
jianyan="";
fentodu=jingduB*100000+jingduC*10;
fentodu=fentodu/6;
for(int col=0;col<12;col++)tempx=0;
dtostrf(fentodu,6,0,tempx);
if(fentodu>99999){
memcpy(TrackB2+4,tempx, 6);
}else if(fentodu>9999){
TrackB2=48;
memcpy(TrackB2+5,tempx, 5);
}else if(fentodu>999){
TrackB2=48;
TrackB2=48;
memcpy(TrackB2+6,tempx, 4);
}else if(fentodu>99){
TrackB2=48;
TrackB2=48;
TrackB2=48;
memcpy(TrackB2+7,tempx, 3);
}else if(fentodu>9){
TrackB2=48;
TrackB2=48;
TrackB2=48;
TrackB2=48;
memcpy(TrackB2+8,tempx, 2);
}else{
TrackB2=48;
TrackB2=48;
TrackB2=48;
TrackB2=48;
TrackB2=48;
memcpy(TrackB2+9,tempx, 1);
}
if(jingduxuweitiao){
jingduxuweitiao=0;
if(jingduzhanwei==3){
for(int col=0;col<12;col++)tempx=0;
tempx=45;
memcpy(tempx+1,TrackB2, 10);
memcpy(TrackB2,tempx, 11);
}else if(jingduzhanwei==2){
TrackB2=45;
}else{
TrackB2=45;
}
}
}
void hangxiangyusudu()
{
for(int col=0;col<12;col++)tempx=0;
memcpy(tempx,GPRMC+jsq5+4,jsq4-jsq5-3);
for(int col=0;col<jsq4-jsq5-3;col++){
if(tempx==46){
if(col==1)fentodu=(tempx-48)*1000;
else if(col==2)fentodu=(tempx-48)*10000+(tempx-48)*1000;
else if(col==3)fentodu=(tempx-48)*100000+(tempx-48)*10000+(tempx-48)*1000;
if(jsq4-jsq5-col==5)fentodu=fentodu+(tempx-48)*100;
else if(jsq4-jsq5-col==6)fentodu=fentodu+(tempx-48)*100+(tempx-48)*10;
else if(jsq4-jsq5-col==7)fentodu=fentodu+(tempx-48)*100+(tempx-48)*10+tempx-48;
fentodu=fentodu*1852*0.0001;
col=jsq4-jsq5-3;
}
}
sudu=fentodu*0.01;
for(int col=0;col<8;col++)TrackB5=0;
dtostrf(sudu,1,2,TrackB5);
for(int col=0;col<7;col++)TrackB6=0;
memcpy(TrackB6,GPRMC+jsq4+2, jsq3-jsq4-2);
}
void sdcaozuo()
{
for(int col=0;col<12;col++)tempx=0;
tempx='L';
tempx='i';
tempx='n';
tempx='e';
memcpy(tempx+4,TrackAL,3);
tempx='.';
tempx='g';
tempx='p';
tempx='x';
File dataFile = SD.open(tempx, FILE_WRITE);
if (dataFile) {
lcd.setCursor(15, 0);
lcd.print("G");
EEPROMvalue= EEPROM.read(4);
if(EEPROMvalue==0) gpxstart=1;
else gpxstart=0;
EEPROMvalue= EEPROM.read(7);
if(EEPROMvalue==0){
gpxmiddleA=1;
Trackname();
}else gpxmiddleA=0;
EEPROMvalue= EEPROM.read(8);
if(EEPROMvalue==0) gpxendA=1;
else gpxendA=0;
EEPROMvalue= EEPROM.read(9);
if(EEPROMvalue==0) gpxendB=1;
else gpxendB=0;
if(gpxstart){
EEPROM.write(4, 1);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=50;i<77;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
}
if(gpxmiddleA){
EEPROM.write(7, 1);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=77;i<89;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
dataFile.print(TrackAN);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=89;i<110;i++)GPRMC = EEPROM.read(i);
dataFile.println(GPRMC);
}
if(gpxmiddleB){
for(int col=0;col<80;col++)GPRMC=0;
for(int i=110;i<123;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
dataFile.print(TrackB1);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=123;i<131;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
dataFile.print(TrackB2);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=131;i<140;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
dataFile.print(TrackB4);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=140;i<158;i++)GPRMC = EEPROM.read(i);
dataFile.println(GPRMC);
}
if(gpxendA){
EEPROM.write(8,1);
EEPROM.write(7,0);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=158;i<174;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
EEPROMvalue= EEPROM.read(6);
EEPROMvalue++;
EEPROM.write(6,EEPROMvalue);
}
if(gpxendB){
EEPROM.write(9,1);
EEPROM.write(4,0);
for(int col=0;col<80;col++)GPRMC=0;
for(int i=174;i<181;i++)GPRMC = EEPROM.read(i);
dataFile.print(GPRMC);
EEPROMvalue= EEPROM.read(1);
EEPROMvalue++;
if(EEPROMvalue==255) EEPROMvalue=0;
EEPROM.write(1, EEPROMvalue);
Linename();
}
}else{
lcd.setCursor(15, 0);
lcd.print("E");
}
dataFile.close();
}
void Linename()
{
for(int col=0;col<12;col++)tempx=0;
if(EEPROMvalue<10){
tempx=48;
tempx=48;
tempx=EEPROMvalue+48;
}else if(EEPROMvalue<100){
tempx=48;
Linenumber=EEPROMvalue*0.1;
tempx=Linenumber+48;
Linenumber=EEPROMvalue%10;
tempx=Linenumber+48;
}else{
Linenumber=EEPROMvalue*0.01;
tempx=Linenumber+48;
Linenumber=EEPROMvalue*0.1;
Linenumber=Linenumber%10;
tempx=Linenumber+48;
Linenumber=EEPROMvalue%10;
tempx=Linenumber+48;
}
for(int col=0;col<4;col++)TrackAL=0;
memcpy(TrackAL,tempx,3);
}
void Trackname()
{
EEPROMvalue= EEPROM.read(6);
if(EEPROMvalue <250){
gpxjiluguijishu=EEPROMvalue;
EEPROMvalue= EEPROM.read(5);
gpxjiluguijishu=EEPROMvalue*250+gpxjiluguijishu;
}else{
gpxjiluguijishu=0;
EEPROM.write(6,gpxjiluguijishu);
EEPROMvalue= EEPROM.read(5);
if(EEPROMvalue<240){
EEPROMvalue++;
EEPROM.write(5,EEPROMvalue);
gpxjiluguijishu=EEPROMvalue*250;
}else{
EEPROM.write(5,0);
gpxjiluguijishu=0;
}
}
for(int col=0;col<12;col++)tempx=0;
if(gpxjiluguijishu>9999)sprintf(tempx, "%d", gpxjiluguijishu);
else if(gpxjiluguijishu>999){
tempx=48;
sprintf(tempx+1, "%d", gpxjiluguijishu);
}else if(gpxjiluguijishu>99){
tempx=48;
tempx=48;
sprintf(tempx+2, "%d", gpxjiluguijishu);
}else if(gpxjiluguijishu>9){
tempx=48;
tempx=48;
tempx=48;
sprintf(tempx+3, "%d", gpxjiluguijishu);
}else{
tempx=48;
tempx=48;
tempx=48;
tempx=48;
sprintf(tempx+4, "%d", gpxjiluguijishu);
}
memcpy(TrackAN,tempx,5);
}
楼主您好,能不能留一下qq,有几个比较急的问题想问您,
每当我烧写了【EEPROM写入】程序后,就无法向sd卡里面写入文件,屏幕上显示的sd卡状态右面也是空的,但是清空eeprom后,可以写文件,但是写入的都是纯数字,没有格式。
谢谢!
页:
1
[2]