Pergunta

Qual família que eu deveria começar a aprender? (Nunca fiz qualquer programação no microcontrolador)

Foi útil?

Solução

Hoje AVR e PIC são provavelmente os mais microcontroladores comuns entre os aficionados. Ambos têm uma ampla gama de variantes de aparelhos e ambos podem ser utilizados para alcançar resultados semelhantes.

Para um iniciante eu sugiro AVR devido a várias razões:

  • família AVR (minúsculo, mega) é coerente e fácil de entender. A arquitetura é potente e moderna, e é especialmente indicado para compiladores C. AVRs pode, naturalmente, ser programado em assembly também.

  • Devido à sua arquitetura amigável-C, há qualidade compiladores C disponíveis, tanto comerciais como livres. O GCC onipresente é portado para AVR e chamou avr-gcc .

  • Para começar tudo que você realmente precisa é de um punhado de componentes básicos, o próprio chip AVR e uma placa de ensaio . Mesmo o cabo de programação entre o PC eo AVR pode ser construído essencialmente de graça (a chamada wiggler). No entanto, vários kits de desenvolvimento comerciais estão disponíveis, principalmente do Atmel própria STK500 . Um kit de desenvolvimento comercial é muito mais caro para começar, mas não exige praticamente qualquer conhecimento prévio sobre eletrônica. Alguns kits de desenvolvimento de conter por exemplo LCD exibe por isso é fácil de se coisas interessantes feito.

  • Ele tem uma rica hobby comunidade .

PIC é notório por sua arquitetura peculiar. Muitos PIC amor por isso, alguns odeiam. AVR é ??mais simples e não parece causar tanto extremo e opiniões polares.

Ambos AVR e PIC são usados ??em muitas aplicações comerciais graves. No entanto, eles não são as únicas opções de curso. Meu microcontrolador favorito tanto para hobby e trabalho comercial é a família C8051 Silicon Laboratories', mais notavelmente C8051 F530 . Há um excelente compilador C livre e assembler para a família C8051 chamado SDCC .

Resumo: Há muitas opções, mas por favor não deixe que isso oprimi-lo. Basta escolher um e começar a aprender com ele. Os microcontroladores são, realmente, surpreendentemente fácil de dominar uma vez que você simplesmente decidir começar!

Outras dicas

Meu chefe pegou o básico usando AVR dentro de uma semana, sem experiência prévia.

Eu sugeriria AVR. Ele ultrapassou em muito PIC como a plataforma microcontrolador de escolha para projetos gerais amadores. Mais notavelmente, considere o Arduino (e outros * duino) plataforma, que fornece um AVR de ponta em um fácil de interface e fator de forma popular.

I muito preferem o AVR sobre PIC, cuja arquitetura eu encontrar um confuso pouco. Isso pode ser apenas de mim, e ele não vai incomodá-lo se você pode escrever em uma linguagem de alto nível, o mais provável (algum dialeto de) C.

Uma vez que você é novo para microcontroladores I desempenho presume não será o problema, então ao invés eu iria procurar a disponibilidade de ferramentas de desenvolvimento: placas de prototipagem, IDE e simulação / depuração ferramentas. Pessoalmente eu gostei AVR Studio (da Atmel ambiente de desenvolvimento livre) muito.

Jason menciona do MSP430, que é um excelente controlador de fato, especialmente se você estiver em aplicações de potência muito baixa. Mas eu não recomendo para um novato, uma vez configuração é um pouco pesado. (Lembro-me de que a descrição do oscilador cobriu mais de 20 páginas no manual do usuário.)

Algumas pessoas comentaram sobre o estranho (e C hostil) arquitetura do micro PIC. Isto é verdade para os PICs menores, mas os 16 bits fichas (PIC24F, dsPIC30, etc) têm arquiteturas muito claro que o trabalho muito bem com C.

A linha de PIC24F tem a capacidade de pinos atribuir a funções (temporizadores, A / D, serial I / O) em tempo real, tornando-se um pouco mais fácil de projetar com. O ambiente MPLAB para depurar e desenvolvimento é bastante agradável.

Eu fiz alguma programação PIC - principalmente porque eu gostei da idéia do chip foram apenas um dólar ou dois. No entanto, para um iniciante, de tomar uma decisão unicamente no preço é otimização prematura.

Programação em assembler é uma experiência. Você basicamente tem que aprender sobre 100 conceitos antes que você pode piscar um LED. (Watchdog timer, pinos de reset, contadores de 8 bits / overflows, loops de atraso, hex, binário, bit de mascaramento, interrupções, solicitações de serviço de interrupção, portas IO, etc.) É tudo muito educativo - e uma grande sensação de chegar tão perto para a máquina - mas ser capaz de código algo em C irá esconder um pouco dessa complexidade para que você possa se concentrar em resultados. Por esta razão, eu diria que ir com o AVR. (E eu acredito que os preços são agora mais perto de PICs).

Além disso: Se você estiver interessado em fazer as coisas (e não mente gastar ~ US $ 30) verificar o arduino . Um cara vendê-los em minha loja de eletrônicos local estava dizendo que ele está vendendo toneladas deles para estudantes de arte. (Ele usa o IDE do projeto de processamento, e compila código com avr-gcc).

Update: comentário fixo que Arduino é executado código interpretado. Também atualizou o preço aprox Arduino.

Eu não entendo o que o grande negócio com arduino é, ele vai arruinar a sua chance de nunca entender o que está realmente acontecendo. programa de I com AVR de e PIC de regularmente, basicamente, não há muita diferença, eu não consigo ver o que o grande alarido é sobre. No entanto, para uma estadia iniciante longe de arduino, pode ser simples, mas isso é a armadilha, dá-lhe o conceito de arquitetura de hardware, e nenhuma idéia do que está acontecendo nos bastidores, os novatos coisas precisam aprender a ser um programador eficaz. Quando eu era um novato Eu comecei com um ATmega32 US $ 20 USBasp programador, AVR Studio (Free) e avrdude (Vem com WinAVR) e seguiu os tutoriais de introdução em AVR Freaks. Isso é tudo que você precisa, Feito !!!

P.S. Se você quiser realmente aprender a micros do programa e ter o tempo aprender o assembler para o seu micro e você será 20 vezes o programador C do que alguém que começou usando arduino.

Meu voto vai para PIC para a extrema variedade de dispositivos disponíveis. Mas devo dizer que, quando eu comecei a usar PICs, que era quase nada mais. Talvez agora as coisas são alteradas.

Eu voto para de TI MSP430 Series. Eu usei PICs extensivamente (também fichas Atmel um pouco) e de longe a coisa mais importante para mim é uma boa depuração IDE. TI tem feito um trabalho muito bom sobre isso, e seu compilador C ++ funciona muito bem. Você pode ir com uma placa eval por menos de US $ 100 incluindo um IDE + USB-depurador. Os PICs têm melhores e mais diversos periféricos de hardware, mas MPLAB é um pedaço de merda ea única C ++ IDE para PICs é um por IAR que é bastante caro. (Mais de US $ 2K)

I / optamos PIC principalmente porque não é hardware mais periférico para o mesmo preço. E mais importante, você não pode mesmo encontrar AVRs comparáveis. Eu fiz escolher uma das versões legadas livre embora (começou com PIC18, migrou para dsPIC33)

O IDE é livre, o (C) compilador é livre na versão estudante (que desativa otimização após o primeiro mês). programadores de nível de entrada são relativamente baratos também. Se você tem montes de interrupções, contadores e temporizadores, há uma chance de você não vai precisar de otimização em tudo. Um programador em linha reta da Microchip é de R $ 30.

Note-se que as observações acima sobre AVR restauração mais para o desenvolvimento HLL são ligeiramente ultrapassado a menos que você realmente ir para as arquiteturas legadas como pic12 e 16.

Um tipicamente programas do PIC18 mais moderno (8 bits) e as arquiteturas de 16 bits (24F, 30F e dsPIC33 que são baseados no mesmo núcleo de principal) em C. A 16-bitters mesmo usar GCC. Há também MIPS baseado 32-bitters agora, mas eles mais rival com a ARM na cena de processamento de áudio / vídeo. Curiosamente, os modernos são muitas vezes mais barato do que os antigos. Provavelmente eles são produzidos em um processo mais moderno que tem rendimentos mais elevados.

Outra nota:. Enquanto isso Microchip / PIC comprou Atmel / AVR, mas presumo que para os primeiros anos que não afetará os productlines muito

Eu estou realmente ansioso para o ethernet 60MIPs habilitado 16-amarga que vai ser lançado neste verão (afaik streetprice pouco mais de 10 euros)

Se você só quer saber o que é a programação MCU, começar do Arduino é uma boa idéia. É barato, com um IDE amigável-noviço (baseado em processamento de linguagem de programação, que tem uma sintaxe semelhante com C).

Mas isso não responder à sua quesiton, beacuse altough Arduino é baseada em AVR, você não pode sentir que há um MCU AVR atrás daquela IDE moderno. :)

Eu tinha muito mais sucesso com PIC enquanto eu estava apenas começando. Tentei obter um starter kit simples de Arduino e simplesmente não conseguia um bom kit básico sem gastar mais de US $ 100-200 níquel e diming a configuração juntos. Tenho uma grande starter kit pouco do PIC para cerca de US $ 40 e tem tudo: IDE, programador, placa de arranque com construído no circuito de demos e tutoriais. Uma compra. Além disso, o ambiente PIC foi muito fácil de se configurar e trabalhar. Eu estava jogando com ele dentro de uma hora.

A minha primeira experiência com microcontroladores estava com um OOPic-R . Permitiu-me para fazer experimentos robóticos simples, sem se preocupar muito com o código. O objeto orientada fluxo programação faz tudo o trabalho rápido e é fácil de programa.

Recentemente, eu tentei uma outra variedade de PIC de, a sujeira barato PICAXE . A interface de programação está incluída uma brisa para trabalhar. Além disso, a interface física do PICAXE, você só precisa de uma porta RS-232 para programá-lo e dois pinos no chip (não há necessidade de fazer mudança de nível). Eu já incorporado o PICAXE em pequenos recipientes (SMD e chips DIP disponíveis) e tem funcionado muito bem.

Eu não tenho nenhuma experiência com programação de microcontroladores em assembléia. Se você quiser tentar isso, a AVR pode ser mais adequado por causa de sua maior comunidade de usuários.

Tanto quanto eu sei, a forma mais barata para programar um AVR usando ferramentas da Atmel é o ATMEL AVR ISP mkII por 35 $. Você pode encontrar os programadores de terceiros para 10-15 $.

Gostaria de fazer minha escolha com base na disponibilidade de um cross-compilador C. No passado, que faria AVR a escolha. Eu não tenho certeza que o status é agora.

Eu programei um PIC em assembler, e não era muito divertido. C é muito mais agradável de muitas maneiras.

Em um dos melhores características do AVR é ??a comunidade nos fóruns em www.avrfreaks.net. Você tem um monte de engenheiros eletrônicos experientes pendurado para fora, disposto a ajudar os novatos para começar.

Eu diria que eu Fount o microcontrolador 8051 o mais fácil e Atmel surgiu com microcontroladores com tantas funções embutidas .... mas ainda as pessoas estão mais preferivelmente usando o AVR ... minha mão iria subir com o 8051 família (se for encontrado confortável) else do AVR ...

Eu amo AVR. seu fácil de programa e os recursos disponíveis. há poucos comunidade como arduino trabalhos com ele.

Alguns mais dicussion sobre a superioridade da AVR, por outro estouro de pilha: http://embeddedgurus.com/stack-overflow/2009/04 / pic-stack-transbordo /

A popularidade de 8 PICs bit me deixa perplexo. Sua arquitetura é horrível - a pilha de chamada limitada é apenas a primeira coisa terrível. Jogue no necessidade de paginação e bancários juntamente com o vetor de interrupção única e você tem um pesadelo de um modelo de programação. Seria uma coisa Se esta era a norma para 8 dispositivos bit - mas não é. o AVR arquitetura sopra o PIC distância, enquanto o HC05 / HC08 também são ruas à frente da PIC. Dada a escolha que eu acho que eu mesmo tomar uma 8051 sobre o PIC. Eu não vejo quaisquer vantagens de custo, embalagem vantagens (Atmel acaba de lançar um SOT23-6 AVR que é essencialmente conjunto de instruções compatíveis com os seus maiores dispositivos) ou periférico conjunto de vantagens. Em suma, eu não entendo! Aliás, esta não é uma indiciamento de Microchip - eles são uma grande empresa e eu realmente como um muitos de seus outros produtos, o seu web site, suporte técnico e assim por diante (Talvez seja por isso que o PIC é tão amplamente utilizado?)

Eu comecei em um Motorola M68HC11, foi o suficiente simples. Eu acho que você vai ter sobre a mesma experiência com os controladores de 8Bit.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top