Ir ao conteúdo

Posts recomendados

Postado

Um dia desses, eu estava na escola e vi um robozinho que tinha um controle e que era comandado por ele, ele fazia diversas funções, meu professor disse que a linguagem de programação era de C++, me deu a duvida de vir perguntar aqui, como é que colocam a linguagem C++ nas placas de hardware de um controle?

  • Amei 1
Postado

Depois que você escreve um programa, ele passa por um compilador, que essencialmente traduz o seu código para binário, zeros e uns, que é a forma que a máquina "entende". O código compilado tem que ficar armazenado em algum módulo de memória não volátil.

  • Amei 2
Postado

É uma pergunta interessante. Não sou muito entendido do assunto, mas posso correr atrás de algumas referencias se quiser se aprofundar e também posso te ajudar a entender pelo menos a lógica do processo

 

Não sei se você entende de computador, mas é valido considerar a placa de um controle como um pequeno computadorzinho: ele possui alimentação, memória, um processador e armazenamento. Tudo bem condensado e junto, com o objetivo interpretar os botões do controle, por exemplo

 

O processador do controle -- pode ser um chip ou um micro controlador --, assim como seu computador, roda um determinado conjunto de instruções básicas que são os códigos Assembly, representados por um monte de 0 e 1. A função do compilador é converter o código de C++ para assembly. Para entender o processo, vale entender as diferenças de um código C++ pra um código Assembly:

  • Código C++ é uma forma de você dizer o que ao compilador o que você quer que instrua a máquina a fazer, e isso te dá liberdade de usar formas mais sofisticadas  e confortáveis de arquitetar seu programa, usando recursos como variáveis para reservar espaços na memória,  funções para poder dividir seu código em pequenas partes, orientação a objetos para separar cada funcionalidade em um objeto e fazer eles trocarem informações etc.
  • Já o Assembly, é você dizendo ao processador exatamente o que quer que ele faça, passo a passo.

Veja o exemplo da diferença de um pseudo código entre C++ e assembly para somar os números 50 e 25.

// Em C++
int resultado = 50 + 25; 

E o compilador vai converte-lo para algo parecido com isso:

; Em Assembly

mov ax, 32h			; Coloca o valor 50 em hexadecimal (32) no registrador de memoria AX.
mov bx, 19h			; Coloca o valor 25 em hexadecimal (19) no registrador de memoria BX.

add ax, bx			; Soma os valores

 

 

O código Aassembly é a ultima camada entre você e o processador em sí. Cada instrução vai ser convertido diretamente para o seu equivalente em código de máquina, se quiser, pode escrever manualmente, tipo, o mesmo exemplo acima poderia ser escrito como

B0 32	; Coloca o valor 50 no AX.
88 19	; Coloca o valor 25 no BX.
05 	; Soma valores

*Na real, isso aqui é só  pra ilustrar, a instruções variam de acordo com a arquitetura e o chip e posso ter errado na implementação também ksks.

 

Que no final, vai ser escrito em uma fileira de bits  eu o processador vai poder entender tranquilamente, como no exemplo

10110000 00110010	; Grava 50 no AX.
10001000 00011001	; Grava 25 no BX.

00000101			; Soma.

 

Aí essas instruções vão ser guardadas na memória da plaquinha como

1011000000110010100010000001100100000101

 

 Sempre que a plaquinha for ligada, ela vai ler essa fileira de 0 e 1 e fazer a soma de 50 e 25. Rodando o código que você escreveu em C++, que foi convertido e guardado na memoria dela

 

 

 

Nada de muito complicado, é só meio difícil de entender no começo, mas se você for programar, vai se acostuma com o tempo

  • Amei 2
Postado

@Andex79     se for um robot que use uma placa de Arduino Uno , da Artmega ,  os codigos sao inseridos na memoria dessa placa usando o programa arduino ,  instalado no computador e atraves de um cabo usb ,  e em outros casos onde o controlador seja um pic ,  pode ser outras condicoes e ate mesmo um programador de Eeprom .

  • Amei 2
Postado

Muito obrigado gente pela colaboração de respostas, entendi muito de pouco em pouco, graças a vocês que me responderam, muito obrigado!

  • Obrigado 1
  • Amei 1

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!