collapse

* Links de Robótica

* Posts Recentes

Medir Agua que está no Poço por filjoa
[Ontem às 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Palavras Cruzadas por Njay
[19 de Setembro de 2017, 02:24]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


Apresentação por TigPT
[17 de Setembro de 2017, 07:31]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]


Preparar bancada de testes por jm_araujo
[14 de Setembro de 2017, 10:24]

Autor Tópico: skype  (Lida 1680 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline fernandor

  • Mini Robot
  • *
  • Mensagens: 3
skype
« em: 19 de Março de 2009, 13:58 »
Galera...alguem ai ta interessado em trocar algumas informacoes sobre uC pic via skype?
se alguem interessar aqui esta o meu
Alem de utilizarmos este forum podemos nos comunicar via skype e discutirmos via microfone.

fernandor@franksintl.com.br


abraço

fernando

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.060
  • El RoboSapiens
Re:skype
« Responder #1 em: 19 de Março de 2009, 14:14 »
ja se pensou nisso :) mas acho que e preferivel discussoes no forum :)

assim pode haver mais alguem com a mesma duvida e ja sabe a resposta :D

Offline fernandor

  • Mini Robot
  • *
  • Mensagens: 3
Re:skype
« Responder #2 em: 19 de Março de 2009, 14:56 »
beleza fifas...

seguinte...fiz um programinha em ccs e quero utilizar tmr0.

clock = 4Mhz
entao temos:

4/4*256*256 = 0,065536 s

15*0,065536 = 1seg

se eu tiver um overflow 15 vezes isso significa eu ter 01 seg. Assim eu posso contar de 1 em 1 seg e jogar no lcd

Entretanto nao esta incrementando a variavel counter.

#include <16C77.h>
#use delay(clock=4000000)
#include <lcd.c>


#int_TIMER0
void TIMER0()
{
int counter;
set_timer0(0);
if(counter == 15)
{
counter++;
}
}



void main() {
setup_timer_0(RTCC_INTERNAL| RTCC_DIV_256|RTCC_8_BIT); //clock interno; prescaler; 8bits
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);

lcd_init();
lcd_gotoxy(1,1);
delay_ms(100000);
lcd_putc("teste");

}


Abraços

fernando


Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:skype
« Responder #3 em: 19 de Março de 2009, 22:03 »
Fernando já viste esta biblioteca do Arduino, MSTimer2?

Fica aqui o link MSTimer2.
Esta biblioteca facilita o uso de interrupções no Arduino. Mesmo que não queiras usar, podes ver o código dela e perceber como se fazem as interrupções ;)
Tr3s
Daniel Gonçalves

Offline jagsilva

  • Mini Robot
  • *
  • Mensagens: 125
    • jagsilva
Re:skype
« Responder #4 em: 20 de Março de 2009, 19:21 »
Olá
a variavel counter não incrementada porque o programa nao entra dentro do ciclo if

dentro da rotina de interrupção deve estar só o incremento de count e a inicialização do timer se necessário.
Na rotina principal deve estar a condição if para testar o numero de ciclos:


#int_TIMER0
void TIMER0()
{
set_timer0(0);
counter++;
}



void main() {
setup_timer_0(RTCC_INTERNAL| RTCC_DIV_256|RTCC_8_BIT); //clock interno; prescaler; 8bits
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);

lcd_init();
lcd_gotoxy(1,1);
delay_ms(100000);
lcd_putc("teste");

if(count==15)

}