oi amigos, tenho um projeto com um display tft 3.5 com arduino mega para usar quando dói aos botões  do display t+/t-, aumentar ou diminuir o ciclo do PWM. Quando compilo, mostra error relacionado com librárias SdFat.h, já instalei mas continua o error    

Exibições: 479

Anexos

Responder esta

Respostas a este tópico

Boa tarde JG,

qual o link da biblioteca SdFat.h que você está usando na sua IDE?

RV

C:\Users\jesus.mago\Documents\Arduino\libraries\SdFat-1.1.2

tem o error:

'SdFatSoftSpi' does not name a type; did you mean 'SdFatConfig_h'?

olá Gonzalez.

      Minha nossa, por Jesus Cristo,   onde foi que vc pegou este código Gonzalez ???

      Ele parece um candidato a se tornar um grande problema.

      Eu fiz os ajustes para que ele compile sem erros, mas nem me atrevo a mexer mais, porque ele parece uma bomba.

      Veja na figura a seguir, que ele compilou sem erros (os fatais):

(clique na figura para "zoom")

      Mas há "warnings", como vc pode ver na figura a seguir:

(clique na figura para "zoom")

      Os "warnings" são "warnings", e não impedem a compilação de seguir em frente. Mas eles são advertências, e poderão causar problemas em algum momento. Ah sim, vc só vai vê-los se a sua IDE Arduino estiver configurada para mostrá-los.

      Desses três "warnings", os dois primeiros são comuns e já vi em muito código largado por aí e até mesmo em Bibliotecas (claro mal escritas, uma vez que o "warning" diz "ISO C++  proíbe...", mas todo mundo continua usando essas tranqueiras). É fácil de corrigir estes dois, mas vou deixar isso por sua conta.

      Já o terceiro "warning", tranquilo, vc nem precisa "corrigir". Mas o ideal é que não aparecesse o "warning" (deixarei este por sua conta também).

      Bem, agora vou apenas mostrar como vc compila até o fim sem erros fatais.  Mas me recuso a mexer mais neste código. Ok?

      Veja os ajustes, enumerados a seguir:

      1)  antes de tudo vc precisa fazer um "ajuste" na sua LIB "SdFat",  especificamente o arquivo "SdFatConfig.h". Eu sou contra esse tipo de coisa (alterar a LIB original), mas o próprio autor da LIB criou a mesma para ser usada assim (fazer o quê).  O ajuste vc pode ver na figura a seguir:

(clique na figura para "zoom")

      Eu já alterei o arquivo, e está aqui:   "SdFatConfig.h"

      Apenas substitua o arquivo na pasta onde está a LIB "SdFat" no seu Computador (a que vc passou, "C:\Users\jesus.mago\Documents\Arduino\libraries\SdFat-1.1.2").

      Caso queira saber porque o ajuste é necessário, veja o exemplo "SoftwareSpi.ino" na pasta "examples\SoftwareSpi" da LIB.

      2)  todas as linhas mostradas nas três figuras a seguir estavam comentadas no seu código "ciclador.ino", e devem ser descomentadas.  Veja as figuras mostrando isso:

(clique na figura para "zoom")

      3)  no seu código "ciclador.ino",  substitua o nome "salida_pwm"  por "Salida_PWM", nas linhas mostradas nas duas figuras a seguir:

(clique na figura para "zoom")

      Eu fiz essas "correções" no arquivo "ciclador.ino", e está aqui:  "ciclador_02.zip"

      Como eu disse,  esse código parece um grande problema. Só fiz os ajustes para ajudar de alguma forma, mas fico por aqui.

      A impressão que tive, é que alguém alterou deliberadamente o código "ciclador.ino" para ocorrerem os erros.  Mas claro, isto é só impressão.

      Abrçs,

      Elcids

Ahahaha! Obrigado Elcids, mas eu peguei teu arquivo ciclador_02.zip e  substitui "SdFatConfig.h", mas deu o mesmo error.

tem problema com o IDE ou librárias?

que pode estar acontecendo? estou configurando algo errado mas não sei

Anexos

olá novamente Gonzalez.

      Eu simplesmente alterei o arquivo "SdFatConfig.h"  conforme te mostrei. Isto foi necessário porque vc está usando uma Classe específica da LIB, e este ajuste seleciona esta Classe.

      Então peguei seu arquivo "ciclador.ino" original, e fiz as correções que descrevi. Então compilei e não teve nenhum erro fatal, conforme mostrei pela imagem "printada".

      Duas coisas podem estar acontecendo que fazem o erro persistir:

      1)  vc tem mais de uma cópia da LIB, e a outra vc pode ter "instalado" através da IDE, e ela pode ter parado nas pastas de instalação da IDE do Arduino. Neste caso, quando vc compila,  o Compilador vai buscar primeiro na pasta da IDE.  Ou seja, lá o arquivo "SdFatConfig.h" ainda está original, forçando o erro.

         Se for isso que estiver ocorrendo, recomendo que deixe a LIB apenas na pasta que vc descreveu  (em  "C:\Users\jesus.mago\Documents\Arduino\libraries\SdFat-1.1.2").

      2)  o Compilador pode estar usando um arquivo objeto previamente compilado, que não tem o ajuste ainda.  Neste caso,  use o programa "CCleaner" para "limpar" o histórico (é só instalar o CCleaner e executar, e não altere nada na configuração, a não ser que vc saiba o que está fazendo!!!).  Então reinicie o Computador, abra a IDE do Arduino e recompile o código "ciclador_02.ino".

       Espero ter ajudado,

       Abrçs,

       Elcids

Obrigado Elcids, deu certo! tinha três pastas de SdFat, deixe uma e actualice. Não tem warnings na compilação.

Anexos

Ok.

      Fique atento a estas "cópias fantasmas".

     Os "warnings"  estão lá.  Vc não os está vendo, porque sua IDE não está configurada para mostrá-los.

      Para saber como fazer essa configuração, veja um documento que preparei a algum tempo, e por ele você vai aprender alguns "truques" a mais.

      É este documento:   "config_IDE_Arduino_00.pdf"

      Abrçs

      Elcids

Ah, vi pela sua imagem, que está selecionado o Arduino UNO, mas vc disse que está usando o Mega!!!

      Aconselho que selecione o Mega, e compile para este, senão vc pode ter problemas com Memória.

      Abrçs,

      Elcids

Obrigado, compilei de novo com arduino mega 2560 e deu certo, 14% de memoria

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço