Запись/Чтение моб.Номера
- Войдите на сайт для отправки комментариев
Пнд, 04/07/2016 - 14:09
Сижу вторый сутки с гуглом с форумом и так до меня не дошло..
Вообщем суть такая, пришла смска (SIM900A) на ардуину, а ардуина должна записать в EEPROM свой номер и отправить в сериал порт номер телефона. Как из переменной стринг записать по байтово в еепром вообще не знаю, но и как из еепром собрать в переменную стринг, что бы вышло "+380661112233" тоже не получается..
#include <EEPROM.h> int LED = 13; int BUTT = A0; int Read = 0; byte T1; byte T2; byte T3; byte T4; byte T5; byte T6; byte T7; byte T8; byte T9; byte T10; byte T11; byte T12; byte T13; String NumberGeneral = ""; void setup(){ Serial.begin(9600); pinMode(LED, OUTPUT); pinMode(BUTT, INPUT); } void loop() { if (analogRead(BUTT) == HIGH && Read == 0){ EEPROM.get(2, T1);delay(4); EEPROM.get(3, T2);delay(4); EEPROM.get(4, T3);delay(4); EEPROM.get(5, T4);delay(4); EEPROM.get(6, T5);delay(4); EEPROM.get(7, T6);delay(4); EEPROM.get(8, T7);delay(4); EEPROM.get(9, T8);delay(4); EEPROM.get(10, T9);delay(4); EEPROM.get(11, T10);delay(4); EEPROM.get(12, T11);delay(4); EEPROM.get(13, T11);delay(4); EEPROM.get(14, T12);delay(4); Read = 1; NumberGeneral = ((T1)&(T2)&(T3)&(T4)&(T5)&(T6)&(T7)&(T8)&(T9)&(T10)&(T11)&(T12)&(T13)); Serial.println((NumberGeneral));} }
Зачем столько переменных? Зачем делай после чтения?
Тебе нужно именно числа как числа записать, или номер как строка тоже подойдет?
Если последнее, то в цикле перебирай строку-массив, изменяй адрес в EEPROM и пиши с помощью EEPROM.write(addr, val);
Таким же макаром можно и читать с помощью value = EEPROM.read(address);
Зачем столько переменных? Зачем делай после чтения?
Тебе нужно именно числа как числа записать, или номер как строка тоже подойдет?
Если последнее, то в цикле перебирай строку-массив, изменяй адрес в EEPROM и пиши с помощью EEPROM.write(addr, val);
Таким же макаром можно и читать с помощью value = EEPROM.read(address);
А как считать в одну переменую (
String NumberGeneral
) ячейки с епрома?в каждой ячейки по одному символу получается типа
2='+'
3='3'
4='8'
5='0' и т.д.
Строка = массив.
Строка = массив.
не выходит.. или я не правильно пишу
или я не правильно пишу
Вышеприведённую цитату считать верной!
Еще про циклы почитай тогда.
Ну вот считал с епрома в char и в порт пишет ровно. НО! в порт не пишет переменную Number которая должна конвертироваться Char в String
в порт пишет вот так
Ну пол дела есть. Теперь нужно обратно с строки string = "+380997776644" записать в епром по символу в ячейки.
Много строк, много переменых, да можно все переложить в циклы, Но тут можно понять что и как работает!
Суть такая: Достать номер телефона с еепром вложить в одну строку string и так же обратно из строки в ячейки памяти.
Берем номер с 0по 12ячейку, а ложим с 20по32ячейку. для наглядности. Может пригодиться кому...
Чувак, прочитай при циклы, а то очень скоро в ограничение по памяти упрёшься.