Exemplos para CodeVision

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

Exemplos para CodeVision

Mensagempor wil » 26 Mai 2007 18:55

Olá pessoal. Alguém tem um exemplo bem simples (exemplo bem simples mesmo), de usar o Codevision? Pode ser para o ATMega8 ou o AT90S2313. O microcontrolador não é problema, desde que o exemplo use as funções de um ou do outro.

Gostaria de um exemplo tipo, 1 chave e um led. Fecha a chave, acende o led, abre a chave, apaga o led, só isso. Procurei no google, mas não achei nada "tão simples assim"....

O exemplo mais simples do CV, já usa o T/C, faz piscar a porta toda (led.c).

Se alguém tiver algo do tipo, fico agradecido...

Wil
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor RobL » 26 Mai 2007 20:10

Em C para code vision.
http://www.kmitl.ac.th/~kswichit%20/avr/avr.htm

Se quizer um em assembler tenho pronto.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor wil » 26 Mai 2007 23:02

Olá Robl,

Eu ja tinha visto este site, inclusive coloquei ele pra compilar no CV. No exemplo, além dele fazer o led piscar, o programinha faz ele gerar um sinal, "tone output", fazendo uso dos T/Cs.

Eu realmente só quero o led e a chave, só pra pegar a didática da coisa mesmo. O meu problema é que eu tô vendo o "C" mesmo, então não serviria em assembly não. Em asm seria fácil fazer isso, mas quero em C mesmo, no CV.

Se tiver algo assim, agradeço.

Wil
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor RobL » 27 Mai 2007 09:22

Veja se este atende -

http://instruct1.cit.cornell.edu/Course ... torial.PDF

Nota - Nao li, apenas encontrei na net.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor wil » 27 Mai 2007 19:16

Olá RobL, blz?

Valeu pelo site, bom exemplo. Agora uma dúvida. Os arquivos dos exemplos do CV ele compila numa boa, porém, o exemplo do site, quando eu coloco, o CV diz que não tenho o "source file", apesar de eu salvá-lo como *.c, que pelo que eu entendi, é o código fonte....

Sabe o que pode estar acontecendo? No help não consegui encontrar informação. Achei que fosse problema de caminho, mas pelo que vi não tem nada a ver, já que salvo tudo no mesmo diretório, e não há erros quando mando verificar o código.

Abs,

Wil
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor wil » 24 Set 2007 22:29

Voltando um pouco o tópico....

Alguém sabe como fazer a configuração dos lock bits e fuse bits no cabeçalho do CVision além de fazê-lo pelo Wizard?

Tks!
Wil
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor Maurício » 25 Set 2007 02:56

Fala, will. Tranks?

Fuse e lock bits incluídos no cabeçalho do CodeVision?

Seria alguma coisa parecida com os PICs, onde se programam os fuses através das primeiras instruções no programa C? É mais ou menos isso?

Eu não tinha visto isso daí no CodeVision ainda.... :shock:
E o wizard não configura os fuse/lock bits. Isso, vc tem que fazer depois que o projeto foi criado.

O que eu faço no Codevision, pelo wizard, é criar o projeto, configurar a máquina e depois do projeto criado, configurar as opções do projeto através do menu: PROJECT=>CONFIGURE.

Nas guias, tem as opções de incluir seus fontes C, e na guia AFTER MAKE, é onde eu programo os fuses do chip.

Não sei se é a forma correta mas, funciona bem dessa maneira.

É necessário incluir todos os fontes C no seu projeto, senão, o programa não compila.

Na guia C COMPILER, vc seleciona a máquina que vc vai usar nesse projeto e as opções do MCU.

O ícone da engrenagem, ao lado do ícone do BUG (que roda o AVRStudio), roda o wizard pra vc configurar os periféricos da máquina.

Um amigo me pediu um exemplo parecido com este seu, e assim que der, se vc quiser, eu envio pra vc tb.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor wil » 25 Set 2007 20:00

E aí Maurício, blz?

Comi bola mesmo, não quis dizer pelo WizardAVR. É exatamente o que você imaginou, lá no início, como no MPLAB. Mas pelo que procurei, não tem como.

Então, eu estou configurando através do Menu > Tools > Chip Programmer (Kanda SystemsSTK200), os lock bits. Achei que tivesse outro meio. (E existe, através do After Make, como você bem mencionou).

Uma outra dúvida que tenho é a seguinte: Qual é o File Output Format que deixo selecionado? COF oiu OBJ Rom Hex. Pelo que entendi do Help, parece que só mudam para debugger?

Abs!
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor Maurício » 25 Set 2007 20:34

Salve, wil!

Eu nem tinha visto essas opções, aí. Eu acho que depende do que vc irá fazer com o arquivo de debug depois. Se vc for usar o AVRStudio, então, seleciona COF, mas, como eu te disse, eu nem sei aonde estão estas opções, já que o CodeVision já gerava o COF automaticamente e o Studio abria numa boa. Nunca me preocupei com isso daí! :shock: 8)

É aquela estória.... se, deu certo da primeira vez, então não mexe não! ehehehehehehe

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor wil » 03 Out 2007 23:34

Fala pessoal, blz?

Pra variar, to com dúvidas....rs
Neste trecho de programa:

while(1)
{
PORTB = 0;
delay_ms(300);
PORTB = 0xFF;
delay_ms(300);
}

Como a função while(1) entende que eu quero que o PORTB ative e desative as saídas num "loop"?

A rotina é de um exemplo pra fazer piscar o led e funciona corretamente, porém não entendi essa condição de teste que ele faz para manter o loop... :roll:
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

Mensagempor Maurício » 04 Out 2007 00:24

wil escreveu:Fala pessoal, blz?

Pra variar, to com dúvidas....rs
Neste trecho de programa:

while(1)
{
PORTB = 0;
delay_ms(300);
PORTB = 0xFF;
delay_ms(300);
}

Como a função while(1) entende que eu quero que o PORTB ative e desative as saídas num "loop"?

A rotina é de um exemplo pra fazer piscar o led e funciona corretamente, porém não entendi essa condição de teste que ele faz para manter o loop... :roll:


Salve, will! Belê??

Seguinte.... while não é função, é um comando da linguagem C. Ele é descrito nas seções de LAÇOS e TOMADAS DE DECISÃO da linguagem C.
O comando while, primeiro verifica a expressão ( os termos que estão dentro dos parêntesis ), e se a condição for verdadeira ( qualquer número diferente de zero ) ele executa os comandos que estão entre chaves no laço.
Uma vez executados os comandos, ele volta e testa de novo a expressão. Se a condição é verdadeira, executa os comandos novamente. Se não for, sai do loop e não executa nenhum comando.

Normalmente a gente usa while ( 1 ) quando queremos que um laço seja repetido eternamente, mas, vc poderia usar while ( 20 ); while ( 40 ); while ( -50 ), tanto faz porque todas essas condições são verdadeiras.

Me parece que vc conhece pouco ainda de C, e nesse caso, eu te recomendo um EXCELENTE livro de C para MCUs ( não é pra AVR, mas C é C, né??? eheheheheheh )

http://www.editoraerica.com.br/buscafinal.asp?cod=0778

(afffe!!! modéstia pouca é bobagem..... kkkkkkkkkkkkkkkk)

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor wil » 04 Out 2007 18:06

Grande Maurício, blz?

Olha... Já to com o seu livro na minha mira faz muito tempo, desde quando foi lançado pra falar a verdade. Com certeza vou adquirí-lo. 8)

O problema é que eu acredito que essas dúvidas que eu tenho sejam bem básicas... O problema é que as literaturas que li, não dizem explicitamente quais são essas "condições" contidos nas estruturas, ou laços, como você mencionou. Uns nem mencionam a palavra "laço"....

Até agora estava entendendo o while() somente como estrutura de decisão, e não como laço, por isso esse meu desentendimento....

Valeu novamente pelos esclarecimentos! Abs

Wil
wil
Nibble
 
Mensagens: 55
Registrado em: 14 Out 2006 18:31

codevision

Mensagempor ph_cabral » 31 Jan 2008 16:35

Ola pessoal do forum, sou novo aqui e

Gostaria de saber se alguem possui uma versão do codevision, porque a que eu tenho, acho que tem alguns problemas, pois quando estou gravando o micro, da um erro no final e não grava os #fuses bit,
grava o microcontrolador, mas com os fuses padroes, e não consigo alterar,.

Sera que alguem poderia me ajudar.???/
ph_cabral
Bit
 
Mensagens: 7
Registrado em: 31 Ago 2007 08:24

Mensagempor Maurício » 01 Fev 2008 02:25

Salve, ph_cabral.

Qual é a mensagem de erro? Qual gravador vc usa? É pela serial ou pela paralela? PC desktop ou notebook?

Tem muitas variáveis! Descreva o seu processo.

Pela paralela eu uso o VTEC ISP. Pela serial eu uso um clone do STK500, descrito nesse tópico aqui:

http://www.asm51.eng.br/phpbb/viewtopic ... 46&start=0

Por USB vc pode adquirir o Dragon da Atmel. Muita gente aqui no fórum usa esse gravador, que tb é JTAG.

O Codevision é limitado na versão demo.
Software de gravação free, vc pode usar o ISP PROG, que é bastante eficiente tb.

[]'s
"Não leve a vida tão à sério, afinal, nenhum de nós sairá vivo, dela!"
Avatar do usuário
Maurício
Word
 
Mensagens: 678
Registrado em: 14 Out 2006 17:23
Localização: São Paulo - SP

Mensagempor ph_cabral » 01 Fev 2008 21:22

Fala Mauricio Obiado por responder...

Eu ja utilizo o AVR Dragon a algum tempo, e não tenho problemas em gravar utiliznado o AVR Studio.

Com relação ao processo, é :

Quando vou gravar o micro pelo codevision, o meu eh crakeado, na versão profissional.

Mas quando ele vai gravar, simplismente não grava os fuses bits.

mas se eu importo o .hex gerado pelo codevision para o AVR Studio, e gravo, vai que eh uma blz...

Queria saber se pode ser minha versao do codevision, e se alguem tem alguma versao que não teve problema...

Obrigado....
ph_cabral
Bit
 
Mensagens: 7
Registrado em: 31 Ago 2007 08:24

Próximo

Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x