por fabim » 23 Fev 2011 19:08
Nego véio.
ARM é exatamente igual a pic...
Não tem diferença nenhuma...
Se você sabe programar em C no pic, vai se sair bem e sem dificuldades no arm.
No pic, para escrever em uma porta voce.
Seta direção primeiro, e depois escreve 1 ou 0 certo ?
Divinha como é no arm ?!
No arm nxp funciona assim.
A maioria dos pinos tem até 4 funções, e para isto você precisa escolher como vai funcionar o pino.
Vai ser porta ? Vai ser um TX ? um etx ou etc e tal ?
Bom, por default a maioria dos pinos é reset em io, e somente algumas com função especial.
Depois de escolhido o que vai ser aquele pino no PINSEL, tu vai configurar a direção do pino no IODIR é ao contrario do pic... 0 in e 1 out.
Seguinte. no pic voce consegue fazer o bitwise, ou seja setar um bit apenas sem fuçar nos outros bits. No arm isto não é possivel.
Você age de duas formas possiveis para portas.
Toda porta tem dois registradores.
Cada registrador vai para uma ponta de um flip flop SR.
Suponha que voce quer setar o bit 8 da porta zero.
IOSET0 = 1<<8; o mesmo que 0x00000100;
Agora tu quer zerar o pino de saida.
IOCLR0 = 1<<8; o mesmo que 0x00000100;
Lembrando que um flip flop SR, se voce der um pulso no SET E zerar ele a saida é um, e só vai a zero se der um pulso no Reset.
Sempre na borda de subida do pulso..
Dessa forma voce mexe só naquele bit que te interessa sem mexer nos outros ao lado.
Existem outras formas, mais não vem ao caso.
Bom o mais importante é se comunicar com o mundo real, e voce aprendeu como agora!!!!
Agora seguinte.
Diferente de um pic que alimentou, ele ja começa a oscilar com o pll setado para X frequencia, o arm não é bem assim.
Existe um arquivo chamado startup.s.
Quando o arm é iniciado, a primeira coisa que ele faz é cair neste arquivo. Este arquivo é responsavel por configurar portas, zerar a ram, configurar o memap, e primeiro de tudo configurar o pll para que a cpu rode na frequencia que te interessa.
Pegue um exemplo no site da nxp para o keil para este processador. Abra o exemplo, ache o startups.s, clique duas vezes.
Vai abrir o fonte na janela principal. Olhe embaixo do fonte em ASM vai estar escrito wizard.
Neste wizard tu através de chekbox confitura o arm inteirim...
Continua .....
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!