Запись на sd card

Тема в разделе "Arduino & Shields", создана пользователем filay23, 25 май 2015.

  1. filay23

    filay23 Нерд

    Добрый день! Подскажите пожалуйста. В переменной есть фраза, ее я по символьно записываю в файл на SD карту. В файл записываются какие-то иероглифы китайские. Что делать ?
     
  2. XCB

    XCB Гик

    смотреть код
     
  3. filay23

    filay23 Нерд

    Код (Text):


    SD.remove("itog.txt"); //Удаляем файл
      File fileWriteItog = SD.open("itog.txt",FILE_WRITE);
    //  File fileWriteItog;
    //  fileWriteItog = SD.open("itog.txt",FILE_WRITE);
      if(fileWriteItog){
      for (int i=0; i<count_long; i++)
      {
        if(SIMVOL_SHIFR[i]=='0')
        {
          M_i[count_int]=0;
        }
        if(SIMVOL_SHIFR[i]=='1')
        {
          M_i[count_int]=1;
        }
        if(SIMVOL_SHIFR[i]=='2')
        {
          M_i[count_int]=2;
        }
        if(SIMVOL_SHIFR[i]=='3')
        {
          M_i[count_int]=3;
        }
        if(SIMVOL_SHIFR[i]=='4')
        {
          M_i[count_int]=4;
        }
        if(SIMVOL_SHIFR[i]=='5')
        {
          M_i[count_int]=5;
        }
        if(SIMVOL_SHIFR[i]=='6')
        {
          M_i[count_int]=6;
        }
        if(SIMVOL_SHIFR[i]=='7')
        {
          M_i[count_int]=7;
        }
        if(SIMVOL_SHIFR[i]=='8')
        {
          M_i[count_int]=8;
        }
        if(SIMVOL_SHIFR[i]=='9')
        {
          M_i[count_int]=9;
        }
        count_int++;
        if(SIMVOL_SHIFR[i]==',')
        {
          if((count_int)==4)
            Chislo_x=100*M_i[0]+10*M_i[1]+M_i[2];
          if((count_int)==3)
            Chislo_x=10*M_i[0]+M_i[1];
          count_int=0;
        }
        if(SIMVOL_SHIFR[i]==';')
        {
          count_itog++;
          if((count_int)==4)
              Chislo_y=100*M_i[0]+10*M_i[1]+M_i[2];
          if((count_int)==3)
              Chislo_y=10*M_i[0]+M_i[1];
          itog[0]=Chislo_x;//хранение int mass шифр коорд
          itog[1]=Chislo_y;
          gf = SLOVO_GAMMA2[count_itog];//одна буква гаммы
            // Serial.println(BukvaToKoord_GAMMA[0]);
            //Serial.println(SLOVO_GAMMA_2[count_itog]);
            //Serial.print("====");
          Serial.println(count_itog);
          Serial.println("Koordinati zashifrovannie:");
          Serial.print(itog[0]);Serial.print(','); Serial.println(itog[1]);
            //Serial.println(gf);
          Serial.println("Simvol gamma:");
          Serial.println(gf); //=????????
          PEREVOD_GAMMA(gf);// буква коорд
            // Serial.print(BukvaToKoord_GAMMA[0]);
          MASSIV_GAMMA[0]=BukvaToKoord_GAMMA[0];
          MASSIV_GAMMA[1]=BukvaToKoord_GAMMA[1];
          Serial.println("Koordinati gamma:");
          Serial.print(MASSIV_GAMMA[0]);Serial.print(','); Serial.println(MASSIV_GAMMA[1]);
          long x4, y4;
          long x1,X1, x2,X2, x3, y1, y2, y3, L = 0, L1;
          long U[]={0,0};
          long P0[]={0,0};
          P0[0]=itog[0];
          P0[1]=mod(-itog[1],p);
          x1 =X1= P0[0]; y1 = P0[1];
          x2 = X2 = MASSIV_GAMMA[0];
          y2 = MASSIV_GAMMA[1];
          if (itog != MASSIV_GAMMA)
            L = mod(((y2 - y1) * mod_inverse(x2 - x1, p)), p);
          if (itog == MASSIV_GAMMA)
            L = mod((3 * (QuickPow(x1, 2) - 1) * mod_inverse(2 * y1, p)), p);
          L1 = L;
          x3 = mod((QuickPow(L, 2) - X1 - X2), p);
          y3 = mod((L1 *(X1 - x3) - y1), p);
          V[0] = x3;
          V[1] = y3;
                // POINT_ADD(P0,MASSIV_GAMMA,p) ;
          U[0]=V[0];
          U[1]=V[1];
          x4=U[0];
          y4=mod (-U[1],p);
          S[0] = x4;
          S[1] = y4;      
            //Serial.println(S[0]);
          Serial.println(":");
          Serial.print(S[0]);Serial.print(','); Serial.println(S[1]);
            // Serial.println(SIMVOL_SHIFR[1]);
            // Serial.println(S);
          PEREVOD_2(S);
          char itog_char=Point_to_bukva[0];
          Serial.println(itog_char);
          fileWriteItog.println(itog_char);
         
          count_int=0;
        }
      }
      fileWriteItog.close();
      }
     
  4. ANV

    ANV Гуру

    Самого интересного то и не хватает в коде. Делается куча всего разного, а в итоге на флешку пишется первый элемент массива Point_to_bukva, который в этому куске кода и не показан:
    char itog_char=Point_to_bukva[0];
    fileWriteItog.println(itog_char);
     
  5. filay23

    filay23 Нерд

    спасибо большое!!