TMR1 como unir TMR1H com TMR1L

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor ze » 08 Ago 2012 16:17

mestre xu, grato por nao ignorar este ser inferior e principalmente pelas sábias letras. uma ocasião fiz um programinha prum mc arm e vi no debug que char, int, byte, bit, double, float, scambal, tudo ele usava 32 bits. (bit forcei) . por isso achei que neste caso o casting era dispensável. Mas era só um testículo interno que estava fazendo com uma placa de 1 cliente..
Ahhhh .... Já enchi o saco deste assunto.
ô semana loooooonnnnnnnggggaaaaaaaa....

Luz & Paz amigo!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor xultz » 08 Ago 2012 17:18

Lellis, uma vez li no livro azul do ARM (um livro muito bom que custou caro e que só li o primeiro capítulo, como quase 90% dos livros que tenho), que o ARM internamente trabalha tudo em 32 bits. As operações são todas de 32 prá 32 bits. Assim sendo, se quiser agilidade, declara tudo o que puder como int. É engano declarar em menos que isso achando que otimiza o código, porque em muitas situações ele vai trabalhar só com registradores, que são 32 bits. Por exemplo, vai fazer um for que conta de 1 a 10, declara como int. A princípio parece um contracenso, mas se declarar como char, ele vai fazer um &0xFF toda vez que ele acessar o registrador, exatamente por causa do estouro. Se ele estiver com 0xFF e estourar, vai prá 0x100 que após um & 0xFF volta a zero. Tá, mas o contador vai de 1 a 10, nunca vai estourar... mas o compilador nem sempre sabe disso.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Anterior

Voltar para PIC

Quem está online

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

x