No ultimo post ensinamos como criar uma biblioteca para executar código morse através do led, nesse mostraremos como utilizar o workbench para criar uma área de trabalho e dubugar o programa.
As bibliotecas “CodigoMorse.c” e ”CodigoMorse.h” já se encontram para download.
Crie uma pasta para colocar os arquivos em qualquer local de “Usuários”, pois se for criado em (C:\ArquivosdeProgramas) o Workbech terá que ser sempre executado como administrador, para Windows Vista e 7.
Inclua nesta a pasta das bibliotecas “inc” encontrada em (C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.0 Kickstart\430), e crie outra pasta com o nome “projetos”.
Ponha as duas bibliotecas já prontas na pasta “inc”.
Agora abra o Workbench e vá em (File → New → File).
Escreva o seu codigo "main", que também pode ser encontrado para download:
#include "msp430.h"
#include "CodigoMorse.h"
int main(void)
{
unsigned char i;
WDTCTL = WDTPW + WDTHOLD; // Interrompe o watchdog
P1DIR |= 0x01; // Seta P1 como saida
for (;;) // Inicia loop infinito
{
CodigoMorse('S');
CodigoMorse('O');
CodigoMorse('S');
P1OUT = 0x00; //Termina a mensagem e aguarda antes de reiniciar
for(i=0;i<10;i++)
{
TempoEntreLetras();
}
}
}
Salve esse arquivo na pasta “inc” com o nome “MainMorce.c”.
Após todos os processos concluídos, a árvore de includes fica assim:
As bibliotecas principais do MSP430 são básicas para o programa principal e para as todas nossas bibliotecas que iremos criar, portanto não podemos esquecer de incluí-las.
Agora você tem tudo que precisa para criar um worspace e fazer o download do programa para o microcontrolador.
Agora você tem tudo que precisa para criar um worspace e fazer o download do programa para o microcontrolador.
Vamos começar criando e configurando a área de trabalho:
Vá em (File → New → workspace), e depois em (Project → Create New Project).
Na janela que abrir selecione “Empty Project” e pressione “Ok”.
Uma nova janela irá se abrir, salve com o nome “CodigoMorse.ewp” na pasta “projetos”.
Vá em (Project → Options → General Options → Device), selecione (MSP430x2xx Family → MSP430F2013)
Por ultimo em (Project → Options → Debugger → Driver), certifique-se de que esteja selecionado “FET Debugger” e não “Simulator”
Agora o workspace esta pronto para receber os arquivos:
Clique com o botão direito do mouse na janela da esquerda com o nome “Workspace” e depois em (Add → Add Files).
Adicione os 2 “.c” previamente criados (CodigoMorse.c e MainMorse.c).
Vá em (File → Save Workspace), e salve sua área de trabalho com o nome “CodigoMorse.eww”, não esquecendo que deve ser salvo na pasta “projetos”.
Antes de executar o download você devera ter certeza de que os arquivos não apresentam erros:
Vá em (Project → Rebuild All). Deverá aparecer a seguinte janela :
Como o Workspace não possui erros, o projeto poderá ser copilado no microprocessador.
Note também que toda a árvore de includes foi incluída automaticamente.
Vá em (Project → Download and Debug).
Caso o computador não consiga se comunicar com o microprocessador, provavelmente é erro de reconhecimento da placa, veja o post sobre instalação.
Caso a comunicação não apresente falhas o projeto será baixado e o Workspace irá mudar.
Caso a comunicação não apresente falhas o projeto será baixado e o Workspace irá mudar.
Agora você ira aprender a utilizar os botões que controlam o microprocessador, e que podem ajudá-lo a inclusive “debugar” o programa.
Da esquerda para a direita:
- Reset: reinicia o projeto que esta sendo executado.
- Break: para a execução do projeto, estará incessível a menos que o projeto esteja sendo executado.
- Step Over: executa a atual linha do código, e vai para a próxima.
- Step Into: executa o próximo passo do código. Por exemplo, em um for(i=0;i<5;i++): caso i=3 o próximo passo é incrementar i, mas sem sair do for.
- Step Out: termina os passos da atual linha. No caso anterior o for iria ser concluído diretamente.
- Next Statement: vai para a próxima linha de comando do programa principal.
- Run to Cursor: executa o programa até a linha indicada pelo cursor. A linha indicada não será executada.
- Go: começa a executar o projeto.
- Stop Debugging: interrompe o debugging e volta pra a área de trabalho anterior.
Mas, os botões só funcionaram assim caso existam funções, se o código não apresentar funções, então o botão 6 funcionará igual ao 4.
Também é de grande utilidade utilizar a janela “watch”, vá em (View → Watch).
Agora você pode selecionar qualquer variável do código e arrastá-la para essa janela para que possa acompanhar seus valores mudando e assim compreender melhor o que esta acontecendo.
Agora que você já sabe como utilizar os botões poderá ver o SOS passo a passo, ou de uma vez, divirta-se!
Finalmente, após 2 semanas você finalmente viu o tão esperado SOS, mas agora com todas informações que já tem e com a biblioteca completa, você pode escrever o que quiser, pode modificar as rotinas de tempo, criar funções para executar frases, etc.
Bom acho que por enquanto é isso, mande suas duvidas para agente através dos comentários, tentaremos ao máximo solucioná-las, caso precisem de ajuda para o workbench, procurem em seu datasheet.
Valeu, e até semana que vem quando começaremos a falar sobre o hardware!
Eduardo,parabéns pelos artigos, sei que faz tempo que vc postou,mas é que estou começando agora e estou com este kit da Texas, segui o seu Step-by-Pass,mas está dando erro na hora que vou no Rebuild All, vc poderia me ajudar por favor? O erro é o seguinte:
ResponderExcluirBuilding configuration: CodigoMorse - Debug
Updating build tree...
4 file(s) deleted.
Updating build tree...
CodigoMorse.c
Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 78
Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 79
Error[Pe116]: a break statement may only be used within a loop or switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 81
Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 83
Error[Pe121]: a case label may only be used within a switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 84
Error[Pe116]: a break statement may only be used within a loop or switch C:\Program Files (x86)\IAR Systems\My Projects\CodigoMorse.c 86
Error while running C/C++ compiler
MainMorce.c
Total number of errors: 6
Total number of warnings: 0