Ir ao conteúdo
  • Cadastre-se

PIC PIC + ESP01 problema com tensão baixa


Posts recomendados

46 minutos atrás, aphawk disse:

@.if ,

 

"Programinha" de teste em Assembly Z80 ?

33K de objeto, tudo em Assembly kkkk foram meses de escrita e testes, e o produto final usava um Apple ][  como interface homem-máquina, monitor colorido, um monte de telas mostrando todo o processo, tudo rodando em Basic  e um pouco de Assembly tratando a comunicação.

A empresa em que eu trabalhava vendeu o sistema todo por US$ 170.000,00  .... bons tempos né ?

 

Paulo

 

 

Como sou nativo do C hehe, nao cosigo escrever um só linha em assembly, então tenho uma duvida, um pisca led em assembly, consome menos espaço na rom do uC doque o mesmo codigo em C ?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Paulão falei "programinha" pois foi meu (meu) caso. Era algo como um sistema embarcado cujo foco era o hw ... tendeu?

 

23 minutos atrás, rodrigocirilo disse:

um pisca led em assembly, consome menos espaço na rom do uC doque o mesmo codigo em C ?

A princípio sim. Mas depende do compilador. Certa feita fiz um em c que ocupou menos espaço do que em assembly. Era um pouco mais do que pisca led. O asm dá agilidade no processamento mas te "amarra" ao mc o que não é totalmente negativo. Há idas e vindas: ocupa menos memória de torna o sistema mais rápido ou ocupa mais memória e torna a conclusão do projeto mais lenta: você decide.

Dica: caminho do meio: ambos: p.ex. do asm eu uso ... NOP 😁

  • Curtir 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

Citação

Como sou nativo do C hehe, nao cosigo escrever um só linha em assembly, então tenho uma duvida, um pisca led em assembly, consome menos espaço na rom do uC doque o mesmo codigo em C ?

Geralmente sim.

Veja,um compilador C tem que gerar um ASM e um ASM não é maior que um ASM.

O que acontece é que o compilador C é programado para tentar usar as melhores instruções possíveis(ASM) e as vezes podemos não ter essa agilidade em ASM.

Olha um exemplo com o 18FXX.

Ele tem uma instrução TSTFSZ,que testa um registrado e e 'pula' se for zero.

O compilador C vai tentar usar esta instrução para fazer este teste,ja um humano pode esquecer que tem essa instrução pronta e tentar gerar o mesmo código usando instruções comuns,que levam mais passos dando a impressão que o código ficou 'maior'.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@rodrigocirilo ,

 

Quando o programa começa a fazer alguma coisa mais  .... "útil" , sempre o programa em C vai ficar maior do que o em Assembly puro. Mas isso geralmente não é vantagem nenhuma, porque você faz em poucas linhas de C o que precisaria de dezenas ou centenas de linhas em Assembly.

 

Quando você precisa do extremo de desempenho, ou precisa mesmo "espremer" o programa para caber na memória, aí sim o Assembly faz valer o conhecimento em hardware do programador.

 

Existem programadores em C que não fazem muita ideia do funcionamento de um microcontrolador, e conseguem fazer coisas simples e funcionais. Por outro lado um excelente programador em Assembly pode demorar bem mais tempo para fazer o que um programador em C mezza-mezza faz .....

 

Agora, coloca coisas como ter de controlar uma interrupção dentro de outra, minimizar tempos de interrupções mais complexas, e aí sim vai ver que o Assembly te dá 100% de segurança no controle de tudo isto, algo que em C é bem mais complicado.

 

Hoje em dia, temos recursos de clock bem alto, e memórias Flash gigantes. Ou seja, mesmo uma logica de programa medíocre acaba funcionando bem, porque os defeitos do código são encobertos pelos recursos que sobram.

 

Resumindo : para que perder tempo fazendo em Assembly algo que pode ser feito em C, com muito menos esforço ?

 

No meu caso, faço quase tudo no Basic do Bascom, e só vou para o Assembly para conseguir cumprir alguma temporização muito critica.

 

Paulo

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

10 horas atrás, aphawk disse:

Hoje em dia, temos recursos de clock bem alto, e memórias Flash gigantes. Ou seja, mesmo uma logica de programa medíocre acaba funcionando bem, porque os defeitos do código são encobertos pelos recursos que sobram.

Eu pensei justamente nisso, que antigamente quando os recursos dos uC eram poucos em relação ao que temos hoje..

 

não lembro onde li (acho que no site da IG na parte de games, isso a mais de 10 anos atras), mas foi um artigo muito bacana sobre os cartuchos de atari. La eles explicavam como os caras tinha que fazer o codigo caber dentro das memorias pequenas, tudo que o jogo necessitava.

Resumindo, cada byte importava, os caras nao desperdiçavam nem mesmo um bit sequer...

 

E provavelmente era tudo feito em asm.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

7 minutos atrás, .if disse:

Que bruxaria era essa....isso era o supra-sumo do analogico heim...

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!