14 لایک
-
سلام ببخشید در کد بنده در زیر که از یه SD-CARD و یه ماژول DS3231 استفاده کردم می خوام هر بار که پرونده ای جدید باز میشه در کارت تحت عنوان ساعتی که خوانده ایم ایجاد شود که برای این کار باید متغیر k در کد رو طوری مقدار دهی کنیم که GLOBAL شه تا تابع دومی که در VOID LOOP تعریف شده نیز روی همان پرونده تغییرات را ثبت کند برای این کار باید چه کرد یا به عبارتی چطور می توان یه مقدار رشته ای به عنوان متغیر محلی را به متغیر کلی GLOBAL تبدیل کرد؟
/*
DS3231: Real-Time Clock. Simple example
Read more: www.jarzebski.pl/arduino/komponenty/zegar-czasu-rzeczywistego-rtc-ds3231.html
GIT: https://github.com/jarzebski/Arduino-DS3231
Web: /dev/Jarzębski - Santyago back to root
(c) 2014 by Korneliusz Jarzebski
*/
#include <SPI.h>
#include <SD.h>
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9340.h"
#include <Wire.h>
#include <DS3231.h>
#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
#endif
// These are the pins used for the UNO
// for Due/Mega/Leonardo use the hardware SPI pins (which are different)
#define _sclk 13
#define _miso 12
#define _mosi 11
#define _cs 10
#define _dc 9
#define _rst 8
Adafruit_ILI9340 tft = Adafruit_ILI9340(_cs, _dc, _rst);
const int chipSelect = 4; //number of pin cs of sd-card
DS3231 clock;
RTCDateTime dt;
String k;//="ali"
void setup()
{
Serial.begin(9600);
// Initialize DS3231
Serial.println("Initialize DS3231");;
if (!SD.begin(chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
return;}
Serial.println("card initialized.");
// Set sketch compiling time
clock.begin();
clock.setDateTime(__DATE__, __TIME__);
dt = clock.getDateTime();
String k=String(clock.dateFormat("Y-m-d l H:i:s", dt));
String M =(clock.dateFormat("Y-m-d l H:i:s", dt));
Serial.println(k); Serial.println("M =");
Serial.println(M);
File dataFile = SD.open(k, FILE_WRITE);
dataFile.println(clock.dateFormat("Y-m-d l H:i:s", dt));
dataFile.println("YA ALI MADAD");
dataFile.close();
}
void loop()
{
dt = clock.getDateTime();
// For leading zero look to DS3231_dateformat example
File dataFile = SD.open(k, FILE_WRITE);
dataFile.println("ljksadfljsfljslfjlsjf");
dataFile.close();
Serial.print("Raw data: ");
Serial.print(dt.year); Serial.print("-");
Serial.print(dt.month); Serial.print("-");
Serial.print(dt.day); Serial.print(" ");
Serial.print(dt.hour); Serial.print(":");
Serial.print(dt.minute); Serial.print(":");
Serial.print(dt.second); Serial.println("");
// String k=clock.dateFormat("Y-m-d l H:i:s", dt);
Serial.println(k);
delay(1000);
}
کلمات کلیدی این موضوع
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO