Ir ao conteúdo
  • Cadastre-se

Stack Overflow


Visitante

Posts recomendados

Ola Pessoal!!

Eu estava compilando um programinha aqui (1500 linhas de C) e na hora de simular recebi a mensagem de Stack Overflow. Como a linguagem de alto nivel me deixou meio preguiçoso nem tinha me passado pela cabeça em me preocupar com o tamanho do Buffer de Stack do PIC 18f452 aparente mente o Stack do 18f452 possui somente 31 posições, no meu código, tive que compilar junto uma biblioteca e usar MUITAS chamadas de função, inclusive chamadas de função dentro de outras chamadas de função e que chamavam outras funções...rsrs

Ai é logico que Stack do PIC não aguentou e ocorreu o estouro... Sei que é desleixo meu, mas as vezes na pressa é difícil escrever um código altamente eficiente e otimizado, onde você "luta" por cada Byte livre, isso é algo desagradável. E o que me deixa mais P*** da vida é que a bendita biblioteca foi desenvolvida para um Arduíno, eu modifiquei as partes necessárias e compilei para o PIC, funcionou bem, até eu adicionar as rotinas de estrita do LCD e do teclado matricial, ai foi tudo por água a baixo...

O que me deixa meio encabulado é que 31 posições é um buffer relativamente pequeno, principalmente para quem quer trabalhar com RTO's e Multtask, sera que parte da culpa não é da microchip??

Por que os PIC's acabaram por se tornar uns microcontroladores caros e relativamente ruins se comparados a concorrentes também de 8 bits (AVR's e até os HC's da vida já o deixaram para trás em desempenho), e a microchip ainda fala que a serie 18F foi altamente optimizada para trabalhar com linguagem C?

(Altamente otimizado para a microchip é pegar um 16F adicionar um bloco multiplicador, aumentar o Stack de ridiculos 8 para 31 Posições e paginação de memoria de 16bits) Diferente dos HC's e AVR que foram refeitos para a linguagem C, a microchip só deu uma remendada no 16F e pronto...

Eu acho que eu como futuro engenheiro e vocês como Projetistas e Hobbystas devemos procurar a melhor solução, mas eficaz e rentável para nossos projetos, certo? Então por que ainda insistimos nesse bendito PIC?

Então eu pergunto aos usuário dos AVR's (sim é você Aphawk rsrs), alguma vez teve problemas, por falta de memoria RAM, memoria de Programa, EEprom ou estouro do Stack?

Vou por um exemplo pratico aqui:

Paguei R$70,00 no PicKit2 (da china 1 mes para chegar e 2 preso na alfandega)

Paguei mais R$22,00 em um 18f452

Um AVR sai por uns R$11,00 (mais desempenho e recursos que o 18F452)

Um USBASP por R$19,00 (no brasil, da china ele custam de 7 a 11 pilas)

E no final das contas eu paguei R$62,00 a mais para ter menos desempenho e menos recursos (e acabar com parte do meu figado..kkk)...

Preciso nem dizer que meu AVR e meu Gravador USB ASP chegam semana que vem, né?? XD

Abri esse tópico, caso alguém queira debater o tema, ou fazer que nem eu e postar seu desabafo aqui...

Vou tentar terminar meu programa no 452 mesmo, praticamente refiz a biblioteca inteira dentro do main() mas só resolveu parcialmente o problema.

Aguardo a opinião de você.

Grato Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Programar sempre será uma 'arte',não adianta programar um microcontrolador pensando que o compilador vai fazer tudo sozinho.

Estou a tempos programando para ARM e sempre tenho que prestar atenção nestes detalhes,como programo bem em ASM,fica difícil o compilador de alto nivel me 'enganar' :D

Evito ao máximo fazer chamadas consecutivas,mesmo que o código fique um pouco maior.

PS:Não abandonei os PIC!

Link para o comentário
Compartilhar em outros sites

Então eu pergunto aos usuário dos AVR's (sim é você Aphawk rsrs), alguma vez teve problemas, por falta de memoria RAM, memoria de Programa, EEprom ou estouro do Stack?

Aguardo a opinião de você.

Grato Luiz Gustavo.

KKKK Calma Luiz....

Olha, isso de stack é algo que eu nao tenho problema, ainda mais que eu uso o Bascom, e existem comandos específicos para declarar tamanho de tudo para o compilador , caso os defaults não atendam, o que é raro, mas já aconteceu comigo. Fiz um programa que tinha umas 6 chamadas de subrotinas uma dentro da outra, e deu erro na compilação, mesmo usando um Atmega168 com RAM de monte... tive de aumentar a área do Stack Frame no meu compilador Bascom, e resolveu. Mas já criei os meus próprios padrões, para os Atmegas, aumentando bastante as áreas do compliador, para não ter mais problema desse tipo.

Aliás, os AVR possuem um registrador especial, o qual aponta o início do Stack Pointer para o local na RAM que voce quiser .... Só isso já mostra que o projeto dos AVRs é bem mais avançado que os Pics 16F e 18F.

Veja aqui se ainda tem alguma dúvida :

http://www.avr-tutorials.com/general/avr-microcontroller-stack-operation-and-stack-pointer

A vantagem que eu vejo nos AVR é justamente a quantidade de memória RAM, que é bem superior aos Pics, e creio que ainda mais em se tratando de linguagem C, deve ser muito bem pensado, senão não baseariam o Arduíno no C dos Avrs.

Como o Vtrx disse, tem vezes que temos de redesenhar o programa para poder "encaixar" na memória que temos, e justamente para evitar isso que eu acabei achando trabalhar com os AVR's muito mais prático ! Nada como ter sobra de RAM, sobra de Flash, e capacidade de processamento muito superior, e ainda pagando mais barato !

Eu creio que voce fez o caminho correto agora, já encomendando o USB ASP , e eu sugiro voce comprar de cara um Atmega 168 ou 328 , vai se divertir muito com eles.

Eu também começei com os Pics 16F , mas no dia que peguei um ATtiny2313 joguei tudo de PIC para dentro da gaveta, e não me arrependo nem um pouquinho disso !

Um caminho que vejo para quem ainda quer trabalhar com os Pics é trabalhar em Assembler... mas sei que nem todos conseguem isso, ( eu sou um... ) .

Já baixe o AVR Studio, para ir se acostumando com o ambiente, e se voce tiver qualquer dúvida quanto ao hardware dos ATtiny ou Atmega basta me perguntar, ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

VTRX...

minha revolta não é nem tanto pelo programa, pois tudo tem um jeito na vida...hehe... Mas isso foi a gota d'agua... Quando você trabalha com isso você ja tem um Background formado, de sua experiencia e seus estudos, no caso de hobbytas e aqueles que aprendem por conta como eu, escrever um código eficiente é nosso segundo objetivo, o primeiro é fazer a bagaça funcionar(rsrs), o problema é que as vezes para funcionar o código precisa ser eficiente (e essa capacidade só se desenvolve praticando)... Mas minha indignação maior esta no fato de investir mais em todos os aspectos em um microcontrolador, este não rodar seu código e outro microcontrolador muito mais barato rodar seu código tranquilamente... Isso é meio revoltante e até frustrante de certo ponto, pois a ideia geral é que o o restrito sempre é melhor... Por isso estou partindo para os AVR's...

Referente a meu código: Já eliminei boa parte das chamadas repetindo os precedimentos das funções dentro do main(que ja esta por volta de 750 linhas....) como tenho memoria de programa livre, isso não sera um problema, mas o Stack continua excedendo a capacidade (só que a cada alteração o erro me aponta um endereço de memoria diferente onde esta gravada a chamada), vou desamssemblar o programa e ver no endereço qual função é responsável pela chamada... Também vou revisar a biblioteca, talvez até reescrever-la por completo apenas me baseando na lógica de funcionamento e tendo um PIC como alvo, pois como ela foi feita para outro microcontrolador eu devo estar deixando passar alguma incompatibilidade... Mas como você disse, programar é uma arte, não basta ter o conceito, você deve gostar e se dedicar...

Só concluindo: Acho que pela popularidade os PIC's "nunca" vão desaparecer do mercado, só que eu comecei a olhar de maneira diferente e buscar novas opções, pois acho que assim como um programador deve conhecer mais de uma linguagem, um "projetista" deve conhecer mais de uma família de uC (como você e seus ARM's...hehe) e de acordo com a "necessidade" decidir o que vai usar...

Pois é Aphawk... Comprei sim um atmega328, tem boot loader do arduino, mas vou sobre escrever com meu programa, cara só o fato de ter um banco de Stack ajustável já torna tudo melhor, pois ai você adequá a sua necessidade (ta ouvindo microchip!!....kkkkk... Brincadeira!!)...

Os PIC's não são ruins, são muito bons, mas como você disse, em assembler é melhor ainda!! Meu programa usa 800 bytes de ram e uns 5k de memoria de programa, não é nem 10% da capacidade do PIC, mas só esse probleminha do Stack já o impediu de rodar... Porque vou ficar quebrando a cabeça? Se for para redesenhar o programa vou faze-lo para um AVR onde não correrei o risco de isso acontecer de novo... :D

Não quero largar logo de vez o 452 pois comprei tudo aqui para montar meu projetinho, etão vou cutucar um pouco mais até resolver, mas provavelmente é o ultimo projeto "grande" que faço com PIC.... XD

Obrigado a todos que comentaram.

A) Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Eu acho os PICs muito caro se comparado a outros microcontroladores,mas por outro lado é o que tem maior suporte de código em várias linguagens,tipo,uma pessoa só não faz um circuito qualquer com PIC se não não quiser.

Tem outro detalhe para verificar sobre o tamanho do código,o compilador usado.

Link para o comentário
Compartilhar em outros sites

O Atmega328 é uma maravilha .... estou terminando o meu amplificador de fones de ouvido com ele, eu uso um TDA8425, um display LCD, e um sensor infravermelho com controle remoto padrão NEC, todo o programa prontinho em Basic usou 11% da capacidade de programa e menos de 200 bytes de Ram.... e agora estou inventando um monte de coisas para ir aumentando o programa.... estou colocando um rádio com aquele TEA que usei no tutorial, estou colocando um relógio com RTC e backup, coloquei um relé para não escutar aquele PUOMMMM de quando liga o amplificador, e agora estou bolando uma rotina de auto-calibração de todo o áudio, pois o TDA8425 tem tolerância de 2dB entre os canais no que se refere aos controles de tonalidade e de volume, então estou fazendo um gerador senoidal com R-2R para gerar as frequências e ajustar os volumes e os ganhos dos controles de tonalidade para garantir que os dois canais sejam iguais em tudo.

O legal é que não preciso ficar querendo "pensar" no programa, vou simplesmente escrevendo direto, afinal tem recurso sobrando prá tudo .....

Mande bala, Luiz, que recurso voce vai ter de sobra !!!

Paulo

Link para o comentário
Compartilhar em outros sites

No momento sou hobista!

Profissionalmente fiz apenas um projeto com o 8051. Deve ser esse o uC. Ja tem mais de 30 anos. Nao me lembro mais. Trabalhava com eletronica analogica e digital sequencial e outras eletronicas.

Ha cerca de tres anos fui apresentado ao PIC e comprei um excelente livro sobre o 16F628. Em ASM. Como trabalhei tambem em controle, achei no ASM uma otima ferramenta, pois voce tem que controlar tudo e consequentemente tem que conhecer o hardware do uC. Uso regularmente os PICs 16F.

Em funcao disso comprei diversos PICs e estou contente com o investimento feito, mesmo que tenha sido um pouco mais caro, como vocês relatam.

Ja fiz alguns programas que nao poderiam ser feitos em linguagem de mais alto nivel. Por exemplo, um frequencimetro em que o periodo de contagem dos pulsos de entrada possui EXATOS 5.000.000 de ciclos de clock, que com o cristal de 20MHz, perfaz 1,000.000 segundo. O erro ficou apenas na variacao da frequencia do cristal. Com um frequencimetro comercial pude ajustar o erro de meu frequencimetro para o mesmo do frequencimetro profissional.

"]FrequencÃ*metro PIC16F628 - YouTube

Para programas com ate cerca de 2k, uso assembler.

Para mais, uso outra linguagem.

Deve-se observar que foram descobertos vestigios de sangue em minha corrente eletrica, hehe. Portanto, atualmente trato a eletronica como um desafio e nao como um meio de resolver problemas comerciais.

Para mim a eletronica é o principal motivo, o que faco com ela é o desafio.

Pois bem, posto isso, cheguei no ponto em que meus projetos estão ficando mais complexos e o tempo investido neles esta ficando proibitivo.

Em funcao disso, fiz uma pequena pesquisa e descobri os uC AVR, com mais memoria.

Quanto ao Arduino, ha um incremento de facilidades fenomenal, mas sem conhecer o basico do hardware, voce fica restrito aas funcoes que devido aas facilidades, limitam o universo da potencialidade do uC AVR.

A consequencia disso é que vou usar o Arduino para resolver uns problemas especificos.

Como nao pretendo investir mais tempo em um novo uC de 8 bits em ASM, usarei a linguagem C conjuntamente com o hardware do AVR para os projetos com mais complexidade, que requeiram maior conhecimento do hardware. Observar que o ganho em memoria nao é estão grande assim. Ja fiz programas identicos em ASM e em outra linguagem e o resultado é que em ASM consumiu cerca de 1/4 de memoria RAM e de programa. O diferencial, em vantagem aa memoria de alto nivel é, que o programa foi feito em tempo bem inferior.

é hora de ir em frente, mas para mim o PIC é como o fusca. O primeiro automovel e que nos traz gratas lemrancas.

Neste ponto quero frisar, que cada um tem seus objetivos e até mesmo suas metas. Que devem se basear nelas para seguir seus caminhos.

Bons projetos.

MOR_AL

Link para o comentário
Compartilhar em outros sites

MOR,

A linguagem do Arduíno é muito lenta em termos de I/O, e o pessoal tem de inventar outras maneiras para obterem o máximo do AVR, caso seja necessário algo a nível extremo de velocidade. Existe uma tal de FastIO exatamente para isso.

Eu também sou hobista, hoje em dia, uso a eletrônica para manter o cérebro ativo, e tentar não esquecer o que eu aprendí pelo caminho.

O que eu não gosto é de perder tempo, prefiro esbanjar recursos e memória do que ficar "polindo bytes". Mas temos de encarar tudo como uma evolução, afinal, eu usei os Pics, uso hoje os Atmegas e Attinys pela facilidade de encontrar em encapsulamento DIP, mas dentro de alguns anos terei de usar os ATXmegas, e toca a aprender mais coisas novamente. Fico chateado de sair do DIP, pois complica os protótipos.

Cada um tem os seus propósitos, o meu é apenas diversão com esses bichinhos cheios de pernas heheheh !

Paulo

Link para o comentário
Compartilhar em outros sites

interessante! comprei um excelente livro sobre o 16F628. Em ASM.

sera que tem ele em C ?:o

Tem um em C sim (CCS).

Procure pelo autor Fabio Pereira e ela editora Erica.

MOR_AL

MOR,

A linguagem do Arduíno é muito lenta em termos de I/O, e o pessoal tem de inventar outras maneiras para obterem o máximo do AVR, ...

Paulo

Sei disso, mas nao vamos negar que "eles" colocaram muita coisa naquelas simples instrucoes.

Tudo vai depender as necessidades do seu projeto.

Apenas comecei a estudar AVR e Arduino. Ate agora entendi que é possivel usar o Arduino para as coisas ja desenvolvidas e uteis ao projeto, e a linguagem C complementando. Desde que nao ocorram conflitos entre as instrucoes. Por exemplo; ambas usarem o mesmo hardware.

MOR_AL

Link para o comentário
Compartilhar em outros sites

Chacal... Não que os PIC's sejam ruins, são muito bons (usei eles por bastante tempo), só que em matéria de custo e desempenho ele esta sendo deixado para trás por seus concorrentes (AVR's e HC05/HC08)...

Como eu disse antes, na hora de projetar um microcontrolador otimizado para Linguagem C a ATmel refez a linha e lançou os AVR's (quase que do zero) o mesmo vale para os HC's que foram refeitos quase que do zero também... A microchip apenas pegou um 16F mudou algumas coisas para melhorar o desempenho e batizou de 18F...

Imagine a situação, você tem 3 carros com 3 motores diferentes... um é 1.8 o outro 2.0 e o outro é 2.2

O 2.2 e o 2.0 são mais potentes que o 1.8 mas isso não quer dizer que o motor 1.8 seja fraco... Espero que você tenha entendido minha opinião (analogias nunca foram meu ponto forte!! rsrs)...

Tava lendo uma apostila de programação de embarcados e lá realmente confirma que o desempenho da serie 18F é mais fraco que a dos HC's e AVR, só que nem por isso o PIC deixa de ser uma poderosa plataforma... E como eu disse antes, com o preço que eu paguei no gravador de PIC's dá para comprar 10 gravadores de AVR e com o preço que paguei em um 18F452 da para comprar 2 ATmega328...

E nessa tabela que você mostrou diz que o PIC só trabalha a 10Mips (precisa de um clock de 40Mhz para isso, e a essa frequência dois pontos de solda na placa já podem formar um capacitor parasita e dar problemas no funcionamento do PIC) sendo que um Atmega328P trabalha tranquilamente a 20Mips (com um clock de 20Mhz), repare também que o programa que eu fiz não usa nem 10% da capacidade do PIC mas devido as chamadas ouve o estouro do Stack (que possui 31 posições fixas no 18F452), então memoria RAM e memoria de Programa são fatores importantes, mas não definem o desempenho em sí, são apenas mais dois valores na "media"... Segundo aphawk o buffer de Stack do ATmega328 pode ser definido no compilador, isso é uma mão na roda quando você precisa atender varias chamadas de função, trabalhar com RTO's e Mult Task, pois ai você dimensiona o tamanho do Stack pela sua necessidade, diferente dos PIC's onde é fixo... Isso já é uma vantagem tremenda, se fosse em um AVR o programa que eu desenvolvi rodaria tranquilamente e muito mais rápido do que em um PIC e eu usaria apenas um clock de 4Mhz ao invés dos 16Mhz que tive que aplicar no PIC para faze-lo trabalhar a 4Mips.

A) Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Chacal... Não que os PIC's sejam ruins, são muito bons (usei eles por bastante tempo), só que em matéria de custo e desempenho ele esta sendo deixado para trás por seus concorrentes (AVR's e HC05/HC08)...

Como eu disse antes, na hora de projetar um microcontrolador otimizado para Linguagem C a ATmel refez a linha e lançou os AVR's (quase que do zero) o mesmo vale para os HC's que foram refeitos quase que do zero também... A microchip apenas pegou um 16F mudou algumas coisas para melhorar o desempenho e batizou de 18F...

Imagine a situação, você tem 3 carros com 3 motores diferentes... um é 1.8 o outro 2.0 e o outro é 2.2

O 2.2 e o 2.0 são mais potentes que o 1.8 mas isso não quer dizer que o motor 1.8 seja fraco... Espero que você tenha entendido minha opinião (analogias nunca foram meu ponto forte!! rsrs)...

Tava lendo uma apostila de programação de embarcados e lá realmente confirma que o desempenho da serie 18F é mais fraco que a dos HC's e AVR, só que nem por isso o PIC deixa de ser uma poderosa plataforma... E como eu disse antes, com o preço que eu paguei no gravador de PIC's dá para comprar 10 gravadores de AVR e com o preço que paguei em um 18F452 da para comprar 2 ATmega328...

E nessa tabela que você mostrou diz que o PIC só trabalha a 10Mips (precisa de um clock de 40Mhz para isso, e a essa frequência dois pontos de solda na placa já podem formar um capacitor parasita e dar problemas no funcionamento do PIC) sendo que um Atmega328P trabalha tranquilamente a 20Mips (com um clock de 20Mhz), repare também que o programa que eu fiz não usa nem 10% da capacidade do PIC mas devido as chamadas ouve o estouro do Stack (que possui 31 posições fixas no 18F452), então memoria RAM e memoria de Programa são fatores importantes, mas não definem o desempenho em sí, são apenas mais dois valores na "media"... Segundo aphawk o buffer de Stack do ATmega328 pode ser definido no compilador, isso é uma mão na roda quando você precisa atender varias chamadas de função, trabalhar com RTO's e Mult Task, pois ai você dimensiona o tamanho do Stack pela sua necessidade, diferente dos PIC's onde é fixo... Isso já é uma vantagem tremenda, se fosse em um AVR o programa que eu desenvolvi rodaria tranquilamente e muito mais rápido do que em um PIC e eu usaria apenas um clock de 4Mhz ao invés dos 16Mhz que tive que aplicar no PIC para faze-lo trabalhar a 4Mips.

A) Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Se precisar de desempenho, voce pode usar um oscilador externo de 32 Mhz, e aplicar a um Atmega, e vai ter 32 Mips !!!! O maior desempenho possível em um Pic18f é de 12 Mips.

Acrescente ainda que existe PWM de 16 bits por hardware, e preços baixos ( meus Atmega328 custaram menos de R$ 10 ) , fica uma opção muito atrativa.

A ótima ideia de utilizar um vetor para o stack pointer torna possível criar RTOS de bom desempenho, existem alguns bem desenvolvidos, e até mesmo existe um escrito em Basic do Bascom !

Se precisar de mais recursos, pode usar o Atmega2560, que tem os recursos abaixo :

Flash programa : 256k !!!!

Ram : 8k !

Eeprom : 4k !

Paulo

Link para o comentário
Compartilhar em outros sites

Se precisar de desempenho, voce pode usar um oscilador externo de 32 Mhz, e aplicar a um Atmega, e vai ter 32 Mips !!!! O maior desempenho possível em um Pic18f é de 12 Mips.

Acrescente ainda que existe PWM de 16 bits por hardware, e preços baixos ( meus Atmega328 custaram menos de R$ 10 ) , fica uma opção muito atrativa.

A ótima ideia de utilizar um vetor para o stack pointer torna possível criar RTOS de bom desempenho, existem alguns bem desenvolvidos, e até mesmo existe um escrito em Basic do Bascom !

Se precisar de mais recursos, pode usar o Atmega2560, que tem os recursos abaixo :

Flash programa : 256k !!!!

Ram : 8k !

Eeprom : 4k !

Paulo

Link para o comentário
Compartilhar em outros sites

Bem, entendi o que vocês querem dizer. Talvez eu compre um e começe a fazer testes. E por isso vou pedir uma opinião.

Eu programo em C e uso o seguinte:

Compilador: CCS Compiler 5.010

Gravador (Software): WinPIC800

Simulador: Proteus 7.10

Gravador (Hardware): PIC Kit K150 (11 dolares no Ebay)

Se eu fosse comprar um Atmega328, quais os itens que eu precisaria? (Como detalhado acima?)

Link para o comentário
Compartilhar em outros sites

Bem, entendi o que vocês querem dizer. Talvez eu compre um e começe a fazer testes. E por isso vou pedir uma opinião.

Eu programo em C e uso o seguinte:

Compilador: CCS Compiler 5.010

Gravador (Software): WinPIC800

Simulador: Proteus 7.10

Gravador (Hardware): PIC Kit K150 (11 dolares no Ebay)

Se eu fosse comprar um Atmega328, quais os itens que eu precisaria? (Como detalhado acima?)

Link para o comentário
Compartilhar em outros sites

chacalgbi...

Se você programa em C, os compiladores que conheço São o MikroC e se não me engano, com o plugin certo o Eclipse compila para AVR.

O gravador pode ser um USBASP eu comprei um igual a do LINK (o software esta na própria pagina):

http://produto.mercadolivre.com.br/MLB-523662736-gravador-de-microcontroladores-atmel-avr-8051-usbisp-usbasp-_JM

Dá para comprar da china por 7 a 11 reais dependendo da versão...

E para simular pode usar o proteus mesmo.....

Espero ter ajudado.

Grato Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

chacalgbi...

Se você programa em C, os compiladores que conheço São o MikroC e se não me engano, com o plugin certo o Eclipse compila para AVR.

O gravador pode ser um USBASP eu comprei um igual a do LINK (o software esta na própria pagina):

http://produto.mercadolivre.com.br/MLB-523662736-gravador-de-microcontroladores-atmel-avr-8051-usbisp-usbasp-_JM

Dá para comprar da china por 7 a 11 reais dependendo da versão...

E para simular pode usar o proteus mesmo.....

Espero ter ajudado.

Grato Luiz Gustavo.

Link para o comentário
Compartilhar em outros sites

Chacalgbi,

Eu indico para todos começarem pegando um Arduíno, pois sempre podemos usar o bootloader dele para carregar qualquer código de qualquer compilador nele, e além do que é uma plataforma protinha, já aceitando upload pela sua porta USB.

voce pode pegar um Arduíno Uno, ou Leonardo, ou o Mega2560. Os dois primeiros usam o Atmega328, e o ultimo usa o Atmega2560. Eu optaria por um que tenha o Atmega328, pois fica fácil voce montar seus projetos depois.

Assim, nem precisa comprar um programador específico, pelo menos no começo.

Caso queira fazer tudo do zero, pegue um Atmega328, e o programador pode ser um simples USBASP, custa baratinho mesmo aqui no Mercado Livre. No Ebay, menos de US$ 5 ....

Baixe o AVR Studio IDE, direto do site da Atmel, ele já inclui gratuitamente o GCC C and C++, e o compilador Assembler.

Se quiser, também pode experimentar o IDE do Arduíno.

Quanto ao Proteus, é uma maravilha com os Avrs, eu uso o Proteus 7.10 também.

Quanto ao hardware, voce vai achar muito, muito parecido com o dos Pics, porém com mais recursos nos timers/pwms, nas interrupções, nos modos de economia de energia, e também vai ter de esquecer aquelas contas tipo clock /4 ... Tudo usa o clock real, e apenas os prescalers para dividir e gerar diretamente o que voce precisa.

Se precisarm de alguma dica, podem perguntar, eu só uso eles com o Bascom ( basic ), mas sobre o hardware estou bem acostumado.

Luiz,

Baixe o AVR Studio IDE direto do site da Atmel, já tem C e C++ de excelente reputação, e é gratuito !

Paulo

Link para o comentário
Compartilhar em outros sites

Chacalgbi,

Eu indico para todos começarem pegando um Arduíno, pois sempre podemos usar o bootloader dele para carregar qualquer código de qualquer compilador nele, e além do que é uma plataforma protinha, já aceitando upload pela sua porta USB.

voce pode pegar um Arduíno Uno, ou Leonardo, ou o Mega2560. Os dois primeiros usam o Atmega328, e o ultimo usa o Atmega2560. Eu optaria por um que tenha o Atmega328, pois fica fácil voce montar seus projetos depois.

Assim, nem precisa comprar um programador específico, pelo menos no começo.

Caso queira fazer tudo do zero, pegue um Atmega328, e o programador pode ser um simples USBASP, custa baratinho mesmo aqui no Mercado Livre. No Ebay, menos de US$ 5 ....

Baixe o AVR Studio IDE, direto do site da Atmel, ele já inclui gratuitamente o GCC C and C++, e o compilador Assembler.

Se quiser, também pode experimentar o IDE do Arduíno.

Quanto ao Proteus, é uma maravilha com os Avrs, eu uso o Proteus 7.10 também.

Quanto ao hardware, voce vai achar muito, muito parecido com o dos Pics, porém com mais recursos nos timers/pwms, nas interrupções, nos modos de economia de energia, e também vai ter de esquecer aquelas contas tipo clock /4 ... Tudo usa o clock real, e apenas os prescalers para dividir e gerar diretamente o que voce precisa.

Se precisarm de alguma dica, podem perguntar, eu só uso eles com o Bascom ( basic ), mas sobre o hardware estou bem acostumado.

Luiz,

Baixe o AVR Studio IDE direto do site da Atmel, já tem C e C++ de excelente reputação, e é gratuito !

Paulo

Link para o comentário
Compartilhar em outros sites

Valeu Paulo!! Vou comprar uns chips! Não vou comprar arduino, gastei muito dinheiro com Protoboards, fontes, CIs, reguladores, reles, sensores, fios, cristais, transistores, resistores, etc....Tenho uma mini loja em casa... rsrs prefiro montar na mão mesmo. Vou seguir a dica de vocês e começar a ver alguma coisa.

Luiz Gustavo, valeu pela dica, vou comprar um desses, na china é bem mais barato, mas só o tempo que demora não compensa esperar. Comprei uns sensores na china e dessa última vez demorou 2 meses pra chegar...

Link para o comentário
Compartilhar em outros sites

Valeu Paulo!! Vou comprar uns chips! Não vou comprar arduino, gastei muito dinheiro com Protoboards, fontes, CIs, reguladores, reles, sensores, fios, cristais, transistores, resistores, etc....Tenho uma mini loja em casa... rsrs prefiro montar na mão mesmo. Vou seguir a dica de vocês e começar a ver alguma coisa.

Luiz Gustavo, valeu pela dica, vou comprar um desses, na china é bem mais barato, mas só o tempo que demora não compensa esperar. Comprei uns sensores na china e dessa última vez demorou 2 meses pra chegar...

Link para o comentário
Compartilhar em outros sites

Chacalgbi,

Olha, compra um Arduino na China, vale a pena, é muito mais rápido ligar ele em um protoboard do que ficar montando tudo do zero, custa uma bagatela lá ! Toda hora que eu preciso testar alguma coisa eu pego ele e ligo direto nele.... E como ele já tem uma interface serial ( via USB ) fica muito fácil interagir com um terminal, para passar comandos ou receber medidas no seu Pc .

Fim de ano é uma droga o Correio Internacional....

Tenho duas compras de Setembro na China que ainda não chegaram.... Eu reclamei e já mandaram de novo, ainda bem que esse vendedor é bem sério !

Olha, voce disse que já tem uma loja aí, eu já passei da loja e já tenho também o Laboratório kkkkkk tem tanta placa aqui : testador de semicondutores, medidor de L e C de precisão, gerador de tensão ou de corrente constante, gerador de formas de onda até 5 Mhz, gerador de frequências senoidais até 60 Mhz, analizador lógico de 8 canais, Bus Pirate para identificar conversas em qualquer tipo de bus, osciloscópio digital portatil de 4 canais ( DSO203 ), frequencímetro, medidor de SWR ...... Deve ter mais coisa comprada lá que estou esquecendo !

Pode demorar, mas os preços compensam demais !

Paulo

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!