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
Tags:
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
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.
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por