Array de Inteiros

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Mensagempor barboza » 09 Mar 2010 16:45

mateusmartignon escreveu:To lendo aqui no livro agora do autor Mauricio Cardoso de Sá.
Realmente é necessário incluir o startup.
Agora..não sabia de todas essas inicializações.
Ele cita no livro que o arquivo é responsável pelas informações de incialização de variáveis, inicialização do stack, além de outros procedimentos úteis a nossos programas.
Alguém poderia me dizer o que são esses procedimentos e e incializações.? Caso tenha sido abordado em outro tópico ou caso tenha alguma referência na net por favor postem aqui.
Imagino que isso realmente vai resolver o problema...quando chegar em casa faço um teste e já coloco o resultado aqui.



http://www.keil.com/support/docs/1296.htm
Os homens mentiriam muito menos se as mulheres fizessem menos perguntas.
Avatar do usuário
barboza
Word
 
Mensagens: 948
Registrado em: 17 Out 2006 13:42
Localização: Longe de onde gostaria de estar

Mensagempor mateusmartignon » 11 Mar 2010 09:46

Pessoal, coloquei o startup.a51
tava com mto esperança que ia funcionar, e pra minha surpresa também não funcinou. Além disso ao colocar o startup.a51 alguns programas mesmo sem inciializar o vetor também deixaram de funcionar.
Efetuei 5 testes diferentes e salvei todos o projetos do keil e hexadecimais.
Vou postar o link para download aqui, e se alguém por gentileza puder fazer a caridade de testar esses hexas gerados a partir do meu compilador eu poderia descobrir se o problema está realmente com o compilador. Nesse arquivo contém uma pasta com os .hex e em outra pasta existe o projeto do Keil.
Se alguém tiver fácil ae na bancada um AT89s8253 ou similar poderia testar pra mim e postar aqui o resultado. Mas seria necessário gravar no chip fisico, pois na simulação do proteus e no debug do keil aqui também funciona perfeitamente.

link com os projetos keil e .hex: http://uploaddearquivos.com.br/download/Testes.rar

São programas muito simples que ao bater olho já se entende.
No arquivo também segue o esquemático do circuito que estou utilizando.

qq coisa meu email é mateus.martignon@gmail.com

ficaria mto agradecido se alguém pudesse me quebrar esse galho.
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateusmartignon
Bit
 
Mensagens: 13
Registrado em: 23 Jan 2010 13:55
Localização: Campo Grande - MS

Mensagempor B-EAGLE » 11 Mar 2010 09:52

Quando for declarar um array com os valores já nos endereços, declare o array sem o tamanho dele:

assim:

Código: Selecionar todos
 #include <reg8253.h>

 void main(void){
    int a[]={1,2,3};

    while(1){
         P2=a[0];
    }
 }
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor mateusmartignon » 11 Mar 2010 09:59

b-ealge,
já tentei também...
Caso fique dificil pro pessoal testar ae, podem gerar os hexas a partir do meu projeto e postem tb o .hex gerado por vcs para que possa testar aqui.
Editado pela última vez por mateusmartignon em 11 Mar 2010 10:00, em um total de 1 vez.
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateusmartignon
Bit
 
Mensagens: 13
Registrado em: 23 Jan 2010 13:55
Localização: Campo Grande - MS

Mensagempor B-EAGLE » 11 Mar 2010 10:00

ao invés de int tente colocar char ou unsigned char....
B-EAGLE
Word
 
Mensagens: 847
Registrado em: 19 Out 2006 14:12
Localização: Campo Grande - MS

Mensagempor Francesco » 11 Mar 2010 13:17

Meu amigo, vou compilar o código com o SDCC. Se eu te passar o HEX você testa? Pois, se funcionar com o SDCC, o problema fica sendo o Keil.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor mateusmartignon » 11 Mar 2010 17:32

maravilha Francesco, fico mutio agradecido. vou aguardar seu .hex
pode enviar no meu email: mateus.martignon@gmail.com ou pode postar aqui mesmo. vlw mesmo...de preferencia se puder compilar exatamente o meu código...ficaria mais tranquilo.

obs: como agradecimento se precisar de alguma documentação da siemens sobre módulo gsm ..da um alol.!
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateusmartignon
Bit
 
Mensagens: 13
Registrado em: 23 Jan 2010 13:55
Localização: Campo Grande - MS

Mensagempor Francesco » 11 Mar 2010 18:00

Fica o hex aqui para quem tiver curiosidade:
Código: Selecionar todos
:03000000020008F3
:0300610002000397
:0500030012006480FE04
:10006400750801750900750A02750B00750C037596
:070074000D008508A080FBD0
:06003700E478FFF6D8FD9D
:100015007900E94400601B7A0090007F780075A0A4
:1000250000E493F2A308B8000205A0D9F4DAF2754A
:02003500A0FF2A
:10003D007800E84400600A790075A000E4F309D85F
:10004D00FC7800E84400600C7900900000E4F0A317
:04005D00D8FCD9FAF8
:0D00080075810D12007BE58260030200038C
:04007B007582002268
:00000001FF


Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor lopesjm » 11 Mar 2010 18:05

Olá Mateus,

Eu compilei o seu código no SDCC e no KEIL. Gravei num Kit que tenho aqui e os dois funcionaram perfeitamente.

Só tenho uma pergunta a te fazer: Seu Windows é Vista de 64 bits em PC de 64 bits ?

Já tive problema com isso.

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Mensagempor Francesco » 11 Mar 2010 18:08

Lopes,

Como isso poderia influenciar na compilação do Keil? Ele afirma que na simulação funciona, só no chip que não.

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor lopesjm » 11 Mar 2010 19:00

Francesco,

É verdade...

Você gerou esse HEX no SDCC. Eu obtive o mesmo arquivo e funcionou perfeitamente no microcontrolador.

Que estranho...

Mateus, você já gravou o HEX gerado pelo Francesco ?


Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Mensagempor mateusmartignon » 11 Mar 2010 22:16

Opa pessoal....e surge o veredicto!

Só posso crer que o problema é na gravadora! Agora porque que ela grava alguns programas e outros não, só deus sabe.

Cheguei a essa conclusão depois que gravei o .hex que o Francesco me passou e também não funcionou. Pra tirar a prova puxei o demo do mickroC compilei o programa e também não gravou.

O chip físico não é porque testei 3 e todos apresentaram o mesmo resultado. Esquema errado também não é porque to testando apenas com o circuito básico.Gravei in circuit, gravei no socket da gravadora...tudo igual.

Agora espero tentar usar outra gravadora pra tirar a prova final. Mas tenho 99% de certeza de que é a maldita que está com problema

Bom...fica avisado...a gravadora é daquelas USB da cerne-tec, não sei se alguém já usou ela. Lenta pra caramba, e ainda me da uma dessas.
Como utilizo notebook preciso de uma gravadora USB. Dos modelos + baratinhos foi a unica que achei.

Alguém sabe me dizer se é possível gravar através de BOOTLOADER com esses conversores USB serial??
Porque to pensando em montar um gravador aqui pra testar antes de ligar la pra pedir minha grana de volta. hahah

alguém já viu uma coisa dessas??
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateusmartignon
Bit
 
Mensagens: 13
Registrado em: 23 Jan 2010 13:55
Localização: Campo Grande - MS

Mensagempor lopesjm » 12 Mar 2010 10:23

Olá Mateus,

O Rafael disponibilizou uma nova versão de seu programa Grava no site dele http://rafaelbf.tripod.com/grava.htm , que pode usar a porta serial. Ele já usou com adaptador USB-serial, mas a performance é bem lenta. Tem esquemático lá no site.


Existe um outro microcontrolador da Atmel que usa a porta serial para gravação. Se puder, tente usar o AT89C51RD2. Sei que é mais caro, mas pelo menos é pela serial. Para gravá-lo se utiliza o FLIP da própria Atmel.
Existe um Kit que usa esse microcontrolador neste site
www.microcontrolador.com.br. Chama-se Kit RD2. Se não me engano, ele vem com um chip da NXP (P89V51RD2). Eu prefiro Atmel.

Jorge
lopesjm
Byte
 
Mensagens: 133
Registrado em: 26 Out 2006 12:40

Mensagempor mateusmartignon » 12 Mar 2010 16:58

Suporte Cerne Tecnologia para mim
mostrar detalhes 10:33 (5 horas atrás)


Bom dia,

Na verdade o código não foi recompilado e sim colocado no padrão que o gravador aceita para funcionar corretamente. Para isso, foi usado o programa em anexo que deve selecionar o modelo AT89S8252 e em seguida abrir o arquivo hex (neste caso o seu). Em seguida, basta salvar o arquivo com outro nome indo em Arquivo -> Salvar. Pronto, desta forma o arquivo está pronto para funcionar com o software.

Att,
Cerne Tec


Brincadeira não??? como eu ia advinhar que a gravadora deles não funciona com o formato padrão de hexadecimal.! Isso porque vem manual ainda. 9 páginas, 4 só de propaganda. rsrs
Fica ae a advertência pra quem pensa em usar um gravador da cerne.
Mateus Martignon S. Mendes
Engenheiro Elétrico/Eletrônico
(67) 9287-6169
mateus.martignon@gmail.com
mateusmartignon
Bit
 
Mensagens: 13
Registrado em: 23 Jan 2010 13:55
Localização: Campo Grande - MS

Anterior

Voltar para 8051

Quem está online

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

x