vitorcm2 / aps1_embarcados Goto Github PK
View Code? Open in Web Editor NEWProjeto Musical de Embarcados
Projeto Musical de Embarcados
APS1_Embarcados/Projeto_Musica/src/main.c
Lines 214 to 237 in 34ecacf
Você pode desligar os 3 leds sempre e apenas ligar o correto quando preciso. Fica mais reduzido
pio_set(LED1_PLACA_PIO, LED1_PLACA_MASK);
pio_set(LED2_PLACA_PIO,LED2_PLACA_MASK);
pio_set(LED3_PLACA_PIO, LED1_PLACA_MASK);
if (musica1 != 1){
musicatocando = 1;
pio_clear(LED1_PLACA_PIO, LED1_PLACA_MASK);
}
else if (musica2 != 1){
musicatocando = 2;
pio_clear(LED2_PLACA_PIO,LED2_PLACA_MASK);
}
else if (musica3 != 1){
musicatocando = 3;
pio_clear(LED3_PLACA_PIO,LED3_PLACA_MASK);
}
APS1_Embarcados/Projeto_Musica/src/musicas.h
Lines 42 to 53 in 34ecacf
No arquivo de musica (.h), existem diversos vetores com informações constantes (uma vez definido, nunca é alterado).
Uma grande recomendação de quando trabalhamos com sistemas embarcados, e também acaba sendo uma excelente prática de programação, sempre que tivermos dados constantes que não alteram (imutáveis), declarar eles com a propriedade const.
Exemplo:
const int music[] = ...
Quais as vantagens para um sistema embarcado?
Bom, o nosso SAME70, é uma CPU com 2048KB de ROM e 384KB de RAM (fonte) Quando você não utiliza a propriedade const, o compilador assume, que o vetor pode ser alterado a qualquer instante, por este motivo, ele é armazenado na RAM do processador. Agora, com o const, estes dados serão armazenados na ROM! Já que eles não se alteram! Dando uma enorme economia de memória RAM.
Lembre-se que geralmente em sistemas embarcados, um dos maiores gargalos é a quantidade de memória RAM disponível (RAM = custo = aumenta preço).
APS1_Embarcados/Projeto_Musica/src/main.c
Line 255 in 34ecacf
Por ser a terceira música, não era para acender o terceiro?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.