Вобщем ничего нового не скажу ... после определенного места в массиве на Freeduino2009 начинаются ошибки.
У кого платка с ATmega168, проверьте у себя этот скетч!!! также будет или нет???
Да, скорости менял, не помогает.
PHP код:
#include <NewSoftSerial.h>
NewSoftSerial mySerial(2,3);
int i=1;
char strok[61]="";
int ledpin = 13;
long previousMillis = 0;
long interval = 30000;
void setup()
{
pinMode(ledpin, OUTPUT);
mySerial.begin(9600);
Serial.begin(9600);
mySerial.flush();
delay(2000);
mySerial.println("AT+CPMS =MT\r" );
delay(2000);
mySerial.println("AT+CNMI=1,1\r");
delay(2000);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
mySerial.println("AT+CMGL=4\r");
delay(100);
}
// отправляю СМС - #a1
if(mySerial.read()=='0'&&mySerial.read()=='7'&&mySerial.read()=='9') //только, если в Serial1 есть СМС, а то он начинает читать с АТ+ и т.д.
{
for (i=1; i<58; i++) strok [i] = mySerial.read(); delay(100);
//ОТПРАВЛЮЯ #a1
// ЭТАЛОН
// 0
// 7
// 9
Serial.println(strok[1]); // 1 1
Serial.println(strok[2]); // 9 9
Serial.println(strok[3]); // 7 7
Serial.println(strok[4]); // 6 6
Serial.println(strok[5]); // 1 1
Serial.println(strok[6]); // 9 9
Serial.println(strok[7]); // 8 8
Serial.println(strok[8]); // 9 9
Serial.println(strok[9]); // 9 9
Serial.println(strok[10]); // 0 0
Serial.println(strok[11]); // 1 1
Serial.println(strok[12]); // F F
Serial.println(strok[13]); // 0 0
Serial.println(strok[14]); // 2 2
Serial.println(strok[15]); // 4 4
Serial.println(strok[16]); // 0 0
Serial.println(strok[17]); // B B
Serial.println(strok[18]); // 9 9
Serial.println(strok[19]); // 1 1
Serial.println(strok[20]); // 9 9
Serial.println(strok[21]); // 7 7
Serial.println(strok[22]); // 6 6
Serial.println(strok[23]); // 1 1
Serial.println(strok[24]); // 4 4
Serial.println(strok[25]); // 6 6
Serial.println(strok[26]); // 4 4
Serial.println(strok[27]); // 3 3
Serial.println(strok[28]); // 3 3
Serial.println(strok[29]); // 9 9
Serial.println(strok[30]); // F F ПОСЛЕ ЭТОГО МЕСТА ИДУТ ОШИБКИ
Serial.println(strok[32]); // 2 0 0 ошибка
Serial.println(strok[32]); // 0 0 0 ошибка
Serial.println(strok[33]); // 0 0 7 ошибка
Serial.println(strok[34]); // 0 7 0 ошибка
Serial.println(strok[35]); // 0 0 1 ошибка
Serial.println(strok[36]); // 2 1 1 ошибка
Serial.println(strok[37]); // 1 1 2 ошибка
Serial.println(strok[38]); // 4 2 0 ошибка
Serial.println(strok[39]); // 0 0 4 ошибка
Serial.println(strok[40]); // 7 4 3 ошибка
Serial.println(strok[41]); // 0 3 6 переменная
Serial.println(strok[42]); // 1 6 1 переменная
Serial.println(strok[43]); // 1 "1" 0 переменная
Serial.println(strok[44]); // 2 "0" 3 переменная
Serial.println(strok[45]); // 0 "3" A переменная
Serial.println(strok[46]); // 4 "A" 3 переменная
Serial.println(strok[47]); // 3 "3" 7
Serial.println(strok[48]); // 6 "7" 0
Serial.println(strok[49]); //"1" "0" 0
Serial.println(strok[50]); //"0" 0 C
Serial.println(strok[51]); //"3" * *
Serial.println(strok[52]); //"A" * *
Serial.println(strok[53]); //"3" * *
Serial.println(strok[54]); //"7" * *
Serial.println(strok[55]); //"0" *
Serial.println(strok[56]); // 0 * *
Serial.println(strok[57]); // C C *
Serial.println(strok[58]); // *
digitalWrite (ledpin, HIGH);
delay(3000);
digitalWrite (ledpin, LOW);
delay(10000);
}
}
Присутствует пропуск-потеря информации, неверная информация и закорючки...и все это происходит строго после определенного момента. происходит.
.