Neste semestre temos dois formatos de relatório, conforme a especificação em cada roteiro. Um formato é responder as questões listadas. Usualmente é um relatório que precede um projeto maior. Outro formato é o de relatório técnico mesmo. Segue-se abaixo um exemplo para relatório técnico. Relatório do Experimento xxx Identificação completa: + Nome, RA, instituição, data, etc. Especificação do Problema: Qual é a proposta do experimento/projeto? Por exemplo, no experimento 1, o problema consiste em controlar a frequência de (1) piscadas simultâneas de 3 leds que estão conectados nos pintos PTB18, PTB19 3 PTD1 para gerar a percepção de uma cor branca e de (2) piscadas alternadas dos 3 leds. Metodologia: Quais são os conceitos que você utilizaria para solucionar o problema? Por exemplo, no experimento 1, você pode usar as seguintes técnicas para gerar os efeitos especificados na proposta: (1) o princípio aditivo de formação de cores para acender simultaneamente 2 ou 3 leds e obter diferentes cores; (2) o fato de que o nível lógico 1 e 0 dos sinais dos pinos digitais do módulo GPIO correspondem, respectivamente, ao estado apagado e ao estado aceso dos leds; e (3) o fato de que podemos "segurar" o processador por um intervalo de tempo num laço de espera, como a rotina delay, antes de executar efetivamente a próxima instrução. Proposta de Solução: Qual é a lógica do seu fluxo de controle? Quais módulos do micro-controlador serão utilizados e como os registradores do micro-controlador devem ser configurados? + Módulos do Kinetis que devem ser configurados e quais registradores devem ser configurados e como para que ele seja “instanciado” para solucionar o seu problema. Se for um conjunto pequeno, principalmente, nos primeiros relatórios, vale a pena fazer screenshot dos registradores do manual e vocês só indicam os campos e os valores setados. Por exemplo, para o projetinho do experimento 1, serão utilizados os seguintes registradores: SIM (registrador SIM_SCGC5), PORTB (registradores PORTB_PCR18, PORTB_PCR19), PORTD (registrador PORTD_PCR1), GPIOB (GPIOB_PSOR, GPIOB_PCOR ou GPIOB_PTOR) e GPIOD (GPIOD_PSOR, GPIOD_PCOR ou GPIOD_PTOR). Veja quais campos devem ser configurados para “personalizar” a operação do nosso Kinetis conforme o requisito do projetinho. Mais adiante, quando os projetos ficarem maiores vocês podem simplesmente montar uma tabela de inicialização dos registradores para cada módulo … Uma tabela com 4 colunas: endereço (onde o registrador é mapeado), nome simbólico do registrador que consta nos manuais, o conteúdo do registrador após a configuração inicial (estado inicial do registrador após a sua inicialização, e uma descrição breve da função do registrador. + Descreva o seu algoritmo utilizando pseudo-códigos. Por exemplo, um pseudo-código para o projetinho do experimento 1: subrotina delay INICIO Entrada: valor Saída: nenhuma Enquanto valor é diferente de zero decrementa valor de 1 Fim enquanto FIM programa main INÍCIO Entrada: nenhuma Saída: sinais digitais alternados nos pinos 18, 19 do GPIOB e o pino 1 do GPIOD Inicailização: Inicializa os registradores conforme os valores espacificados nas tabelas seta em 1 (3.3V) o bit 18 do registrador GPIOB seta em 1 (3.3V) o bit 19 do registrador GPIOB seta em 1 (3.3V) o bit 1 do registrador GPIOD Enquanto (verdadeiro) seta em 0 (0V) o bit 18 do registrador GPIOB seta em 0 (0V) o bit 19 do registrador GPIOB seta em 0 (0V) o bit 1 do registrador GPIOD chama delay com 500000 seta em 1 (3.3V) o bit 18 do registrador GPIOB seta em 1 (3.3V) o bit 19 do registrador GPIOB seta em 1 (3.3V) o bit 1 do registrador GPIOD chama delay com 500000 Fim enquanto FIM Outras palavras-chave somumente utilizadas em pseudo-códigos: leia, escreva, se, então, senão, senão-se, fim se, repita … até, fim repita, para, fim para, caso, fim caso. Em alguns experimentos você precisa utilizar rotinas de tratamento de eventos. Um modelo de pseudo-código para descrever rotina de serviço de um módulo XXX é: rotina_de_serviço Módulo XXX INÍCIO : (instruções) CASO interrupção 1: tratamento 1 interrupção 2: tratamento 2 : : (outros tipos de interrupções) : FIM CASO FIM + Referência ao anexo que contém código-fonte. Basta enviar os códigos que vocês escreveram (main.c), pois o restante dos códigos fazem parte do template de projeto do CodeWarrior. Eu conseguirei reproduzí-lo no meu compútador. Testes Quais testes vocês fizeram para concluir que o seu programa está mesmo correto? Caso vocês tenham dividido o problema em sub-problemas, mostre os testes realizados para cada sub-problema. Por exemplo, para o projetinho do experimento 1, em que o resultado é só visual, será que somente um vídeo poderá demonstrar a dinâmica dos resultados do seu programa? O que acham de visualizar os sinais gerados nos pinos PTB18, PTB19 e PTD1 por um osciloscópio se os acessos a estes pinos forem fáceis? Ou então avaliar de forma visual o tempo de piscadas com uso de um relógio? Conclusões: Avaliar a(s) sua(s) solução(ões) ao problema proposto: alguma boa sacada? as limitações? as melhorias que podem ser feitas ainda? Referência: Fonte de consulta para subsidiar as suas colocações. Deve ser citada junto com as colocações. Anexo + Código-fonte DOCUMENTADO de forma que se possa extrair a documentação do seu projeto com Doxygen. NÃO PRECISA ENVIAR A DOCUMENTAÇÃO GERADA PELO DOXYGEN.