Como posso programar um arduino em C puro?

Sou um iniciante e quero aprender AVR C / C ++. Posso fazer isso usando um Arduino? (Estou perguntando isso porque já tenho um).

Se sim, alguém poderia me dizer usando qual IDE posso escrever código em C / C ++ puro e, em seguida, atualizá-lo para o Atmega328P no Arduino? Ou devo comprar um AVR e um programador?

Pesquisei em toda a internet e estou realmente confuso com toda a terminologia. Alguém poderia me explicar?

Comentários

  • Então, para programar o 328, eu acredito que você precisa instalar o atmel studio para compilar seu código e então usar o comando de linha de comando avrdude para colocar o código compilado no arduino.
  • @ Treesrule14 que ' é uma possibilidade, mas não a única, então ' s não é verdade dizer que é necessário. Se o IDE do Arduino estiver instalado, o compilador avr-gcc do qual ele depende também está.
  • @ Treesrule14 Eu tenho o atmel studio instalado. Não consigo encontrar nenhum recurso que pode me ajudar a atualizar um programa para o chip no arduino usando um boot carregador (sem um programador). Isso é mesmo possível?
  • Eu acredito que você precisa de um programador. : (
  • Você não ' não precisa de nenhum IDE. Você pode compilar e fazer upload usando o conjunto de ferramentas que vem com o Arduino. Veja Arduino.mk por exemplo.

Resposta

Sim, peça um programador AVR.

1) Você pode usar o flash sua placa Arduino com avrdude / avr-gcc . Instale essas ferramentas, encontre o datasheet do atmega328 (google it), use as pinagens da placa para conectar ao seu programador (stk500v2 / ISP) e voila!

2) Tenha em mente que ao atualizar “manualmente” seu atmaga na placa arduino, você está removendo o bootloader que é necessário para carregar seus esboços do IDE ARDUINO.

3) Use seu IDE C / C ++ favorito

Comentários

  • você deve ser capaz de encontrar e atualizar o bootloader para o arduino, veja aqui arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader
  • Não! Você não precisa de um programador ou para remover o carregador de inicialização. O carregador de inicialização do Arduino tem dependência zero do IDE ou das bibliotecas – você é tão livre para usá-lo com programas C independentes quanto com os esboços do Arduino. Fazer dessa forma não só é mais barato, mas permite que você use a mesma placa para ambos os estilos de desenvolvimento alterações de configuração.
  • O autor queria aprender AVR em puro C. Ele não ' perguntou – ei pessoal, como jogar com o IDE do arduino ou algo assim. mas como reutilizar o atmega a bordo que ele já possui.
  • @ChrisStrat muito, já que você discorda das outras respostas. Envie uma resposta, por favor

Resposta

Se você for um iniciante, Eu sugiro que você escreva C no Arduino IDE. As bibliotecas são muito úteis e acho que o ambiente Arduino / Wiring / Processing irá cobrir todas as suas necessidades.

Confira o Lightblue Bean ( http://punchthrough.com/bean/ ) é um bom exemplo do poder dessa plataforma. Até programadores embarcados experientes podem usá-lo, já que os registradores subjacentes ainda estão acessíveis.

Agora estou programando no Ti MSP430 e, embora possa apreciar as possibilidades, sinto falta da simplicidade do Arduino; muito mais fácil para começar a usar o Arduino.

Vá para http://arduino.cc/en/main/software para baixar o 1.0. 6 Software IDE, conecte seu Arduino, vá em Ferramentas-> Placa para selecionar seu Arduino, selecione a porta “tty” apropriada em Ferramentas-> Porta Serial. Em seguida, escreva em C puro e faça o download. Há muitos exemplos incluídos no IDE.

Resposta

Um Arduino é programado em C / C ++. Existe um equívoco comum de que o Arduino tem sua própria linguagem. Veja este link C ++ versus a linguagem Arduino? para uma discussão completa sobre o Arduino ser C / C ++ e as simplificações que o Arduino oferece. Além disso, você pode ver o código do núcleo do Arduino aqui .

No site do Arduino:

Posso programar a placa Arduino em C?
Na verdade, você já está; a linguagem Arduino é meramente um conjunto de funções C / C ++ que podem ser chamadas a partir do seu código. Seu esboço passa por pequenas alterações (por exemplo, geração automática de protótipos de função) e, em seguida, é passado diretamente para um compilador C / C ++ (avr-g ++). Todas as construções C e C ++ padrão suportadas por avr-g ++ devem funcionar no Arduino. Para obter mais detalhes, consulte a página sobre o processo de construção do Arduino .

Ofertas do Arduino uma curva de aprendizado fácil para iniciantes e especialistas.Então, simplesmente baixe o IDE Arduino mais recente , instale-o e divirta-se.

Comentários

  • Outro equívoco comum é que C é um subconjunto de C ++. A biblioteca principal do Arduino é escrita em C ++, portanto ' é impossível programar em C usando-a.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *