
Rogerio Fiorotti
Membro Pleno-
Posts
31 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Rogerio Fiorotti postou
-
Pessoal utilizo o XC8 Pro e tenho a assinatura mensal junto a Microchip, porém neste mês troquei minha máquina (Laptop) e a assinatura é atrelada à um número denominado Host que é definido pelo seu equipamento. Em outras palavras minha assinatura não serve para a máquina atual e a orientação do Microchip é cancelar a atual e comprar outra para a nova máquina. Fiquei chateado com essa informação e minha pergunta é existe algum método para habilitação alternativa?
-
Bacana esse site mas estou precisando para sw em C. Grato. adicionado 1 minuto depois É no sw em C, já vi isso em algum lugar mas não consegui desenvolver, você tem algum exemplo?
-
Pessoal estou procurando ajuda em um filtro passa_baixa eficiente para ser aplicado na conversão a/d onde realizo a leitura da saída de um acelerômetro com saida analógica. Grato.
-
Finalmente! Depois de longo trabalho sucesso em meu projeto, consegui realizar o sistema de comunicação one wire entre meu projeto com PIC12F1840 e e a caixa de programação JetiBox (JetiModel). Agradeço a ajuda e a paciência de todos.
-
Exatamente Isadora Y é gerado a partir do do canal analógico e X utilizo em outro processo, a finalidade é ter um pequeno delay na perseguição "rs..." de Y por X onde posso eliminar possíveis ruídos..
-
Pessoal alguém já ouviu a expressão perseguindo uma variável? Vou explicar melhor! Uma variável X está sempre tentando se igualar a outra variável Y somando ou subtraindo 1 (de 1 em 1) não importando o valor de Y, X estará sempre tentando se igualar. Alguém tem uma sugestão? Grato. Rogério
-
Informação nova, o JETIBOX trabalha como Slave e só envia informações ao Master (que seria minha plaquinha) das teclas pressionadas e recebe de retorno os valores alterados. Ex. Em uma memória do Master (plaquinha) está registrado valor 100 e envia ao Slave (JETBOX) esse valor e mostra no display, utilizando os botões vou incrementando ou decrementando o valor e vai registrando na memória do Master.
-
Então Paulo, o que o fabricante forneceu é somente o arquivo que postei acima sobre o protocolo, e o que você comentou sobre o FRSKY é semelhante ao que quero.
-
Veja o funcionamento do minimalismo, rs...
-
Meu projeto é um temporizador para aeromodelo controlado a cabo tecnicamente falando o VCC (Voo Circular a Cabo), este timer controla o tempo de pré voo (tempo de espera para a rotação do motor), tempo de voo, rotação do motor, trem de pouso e também utiliza um acelerômetro de 3 eixos para medir a aceleração centrípeta e a aceleração linear corrigindo a velocidade do aeromodelo durante o voo. Utilizo o compilador CCS e a pic 12F1840 e hoje todo o ajuste do timer é realizado por botão e LED (piscadas) estou com dificuldades de aceitação no mercado americano por esse motivo e minha opção é utilizar uma caixa de programação como descrita anteriormente. Alguns fabricantes utilizam essas caixas e optei nesta por estar pronta bastando desenvolver a interface para meu projeto, e é ai que a coisa esta pegando pois o fabricante só se prontificou em fornecer aquele documento do protocolo. Bom é isso se você não achar isso o suficiente para me ajudar espero que outros possam. www.cltimer.com
-
Bom, se eu já tivesse conseguido fazer algo do gênero não estaria aqui solicitando ajuda, dentro dessa caixa tem um MC dda linha 18F cujo firmware é dedicado a comunicação por um fio e já vi desenvolvedores utilizando-a em pic12f mas os caras não dão nenhuma dica sequer. Agora o que você quer que e mostre? algum conhecimento?
-
Saber pra que serve eu sei, só não sei como fazer......por exemplo: você monta um temporizador com um PIC cujo valor do tempo está registrado em endereço de sua memória e para alterar esse valor usaria essa caixa para isso. Quando conectada lê o valor da memória do PIC altera e grava...
-
Mais de duas instruções simultâneas com o pic12f675
Rogerio Fiorotti respondeu ao tópico de Jair Massagem Koetz em Microcontroladores
Pode ser que esu esteja enganado mas o 12F675 não tem PWM embutido, então você pode usar a solução acima. -
Mais de duas instruções simultâneas com o pic12f675
Rogerio Fiorotti respondeu ao tópico de Jair Massagem Koetz em Microcontroladores
Colega tenta isso. #include <12F675.h> #device ADC=8 #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES NOMCLR //Master Clear pin used for I/O #use delay(internal=4000000) int1 flag20RTCC = 1; //indica se já completaram 20 RTCC int1 flagPULSO_ALTO = 0; //indica se o pulso esta em nível alto int contRTCC = 0; //contador de RTCC #INT_TIMER0 void TIMER0_isr(void) { contRTCC++; if(contRTCC==7) { set_TIMER0(102); } if(contRTCC==8) { flag20RTCC=1; contRTCC=0; } } #INT_TIMER2 void TIMER2_isr(void) { if(flag20RTCC==1) // DISPARO DO PULSO NIVEL ALTO PWM { flag20RTCC=0; output_high(PIN_A4); //ESC flagPULSO_ALTO=1; } if(flagPULSO_ALTO==1) // CONTROLE DO PULSO NIVEL BAIXO PWM { if(contRTCC==4) { flagPULSO_ALTO=0; output_low(PIN_A4); } } } void main() { setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|RTCC_8_bit); setup_timer_2(T2_DIV_BY_16,4,1); setup_comparator(NC_NC); enable_interrupts(INT_TIMER0); enable_interrupts(INT_TIMER2); enable_interrupts(GLOBAL); while(TRUE) { //TODO: User Code } } -
Pessoal recentemente comprei uma caixa de programação chamada JETIBox cujo fabricante informa o tipo de protocolo que utiliza para desenvolvedores, porém estou perdidinho e gostaria de dicas o que fazer para funcionar com meu projeto. Utilizo PIC 12f1840e a minha ideia é utilizar essa caixa para alterar valores da memória da PIC, anexo como funciona o protocolo. Grato. Rogério Fiorotti EX_Bus_protokol_v121_EN.pdf
-
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Bom....a velocidade no escravo está em 32Mhz e o fuse #FUSES INTRC_IO, reparei que quando tiro o fio de comunicação a PIC volta a funcionar (o Led pisca) então deve haver algo na interrupção externa. Eu não preciso de velocidade na comunicação e sim precisão nos dados lidos e escritos na memória do escravo. Talvez não utilizar a interrupção externa seria mais estável.. -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Algumas dúvidas: 1) Utilizando o simulador do Proteus funciona uma beleza, mas no hardware não vai. Na compilação aparece a seguinte mensagem: Interrupts disable during call to prevent re_entrancy (@delay-1ms) E creio que isso não está deixando a PIC funcionar. 2) Quando tento mudar o bit da porta A do escravo pra utilizar outro pino ai nem no proteus funciona. Sei que estou sendo muito exigente, mas reconheço que sua boa vontade está sendo super preciosa. Muito Obrigado. -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Não deu, a porta não vai pra nivel zero. -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
-
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Estou com um problema na inicialização do one_wire onde a porta que estou utilizando não vai pra zero. Utilizo um 18F2550 e a porta é a B3 segundo manual os endereços dos registradores são: /******************************************************************************/ // O código precisa dos bits dos registradores TRIS e PORT referente ao pino. #bit pino_one_wire = 0x81.3 // bit 3 do registrador PORTB (PORTB.3) #bit direcao_one_wire = 0x93.3 // bit 3 do registrador TRISB (TRISB.3) #include <EEPROM_ONE_WIRE.c> /******************************************************************************/ Devo estar fazendo algo de errado... -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Escravo: #include <12F1840.h>#device ADC=10#FUSES PUT //Power Up Timer#FUSES NOMCLR //Master Clear pin used for I/O#FUSES NOPROTECT //Code not protected from reading#FUSES NOCPD //No EE protection#FUSES NOBROWNOUT //No brownout reset#FUSES NOCLKOUT //I/O function on OSC2#FUSES NOIESO //Internal External Switch Over mode disabled#FUSES NOFCMEN //Fail-safe clock monitor disabled#FUSES NOWRT //Program memory not write protected#FUSES NOSTVREN //Stack full/underflow will not cause reset#FUSES BORV19 //Brownout reset at 1.9V#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#use delay(internal=32MHz)#define LED PIN_A0#define DELAY 500#bit pino_one_wire_escrita = 0X10C.2 // Para escrever LATA.2#bit pino_one_wire_leitura = 0x00C.2 // PARA ler PORTA.2#bit direcao_one_wire = 0x08C.2 // TRISA bit 2 para mudar a direção do pino#define _input 1#define _output 0#define _low 0#define _high 1#define _escrita 1#define _leitura 0#INT_EXTvoid EXT_isr(void) { unsigned int16 _aux = 0; unsigned int _i, _address = 0, _value = 0, _value_read = 0; short _operacao; pino_one_wire_escrita = _low; // Prepara o pino com o valor 0 while(!pino_one_wire_leitura) {} // Espera o mestre liberar a linha delay_ms(1); direcao_one_wire = _output; // Coloca zero na linha para indicar ao mestre // que este escravo está presente delay_ms(10); // Deixa em baixo por 10mS direcao_one_wire = _input; // Libera o barramento while(pino_one_wire_leitura) {} // Espera o mestre iniciar o envio do bit de comando // Pegando o bit de comando do { delay_us(1); _aux++; }while(!pino_one_wire_leitura); // Conta o tempo em que a linha ficou em nível baixo if(_aux < 2001) { // menor que 2mS (2000uS) é igual a 1 recebido, operação de escrita _operacao = _escrita; } else { // maior que 2mS é igual a 0 recevido, operação de leitura _operacao = _leitura; } // Pegando o endereço da Operação _aux = 0; for(_i = 0; _i < 8; _i++) { while(pino_one_wire_leitura) {} // Espera a linha ser colocada em zero do { delay_us(1); _aux++; }while(!pino_one_wire_leitura); // Conta o tempo em que a linha ficou em nível baixo if(_aux < 2001) { // menor que 2mS (2000uS) é igual a 1 recebido bit_set(_address, _i); // então seta o bit correspondente. } // A variável _address é iniciada com zero então não há a necessidade de zerar // o bit caso o valor recebido for zero. _aux = 0; } if(_operacao == _escrita) { // Pega o valor a ser escrito no endereço enviado pelo mestre _aux = 0; for(_i = 0; _i < 8; _i++) { while(pino_one_wire_leitura) {} // Espera a linha ser colocada em zero do { delay_us(1); _aux++; }while(!pino_one_wire_leitura); // Conta o tempo em que a linha ficou em nível baixo if(_aux < 2001) { // menor que 2mS (2000uS) é igual a 1 recebido bit_set(_value, _i); // então seta o bit correspondente. } // A variável _value é iniciada com zero então não há a necessidade de zerar // o bit caso o valor recebido for zero. _aux = 0; } write_eeprom (_address, _value); direcao_one_wire = _output; // Coloca a linha em zero para indicar que a escrita terminou delay_us(5); direcao_one_wire = _input; } else { // Se a operação for de leitura _value_read = read_eeprom(_address);// Lê o valor armazenado na posição _address delay_ms(20); // Espera o mestre se preparar para o recebimento for (_aux = 0; _aux < 8; _aux++) { if(bit_test(_value_read, _aux)) { // Verifica o bit a ser enviado se for 1 direcao_one_wire = _output; // Pino em nível baixo 0 delay_ms(2); // por 2mS (bit 1) direcao_one_wire = _input; // Pino em nível alto 1 delay_ms(8); // por 8mS } else { // Se for 0 direcao_one_wire = _output; // Pino em nível baixo 0 delay_ms(6); // por 6mS (bit 0) direcao_one_wire = _input; // Pino em nível alto 1 delay_ms(4); // por 4mS } } }} void main(){ direcao_one_wire = _input; ext_int_edge(H_TO_L); // Necessário para o código funcionar corretamente enable_interrupts(INT_EXT); // habilita a interrupção externa - Interrupção na transição de ALTO para BAIXO enable_interrupts(GLOBAL); // habilita todas as interrupções //Example blinking LED program while(true) { output_low(LED); delay_ms(DELAY); output_high(LED); delay_ms(DELAY); }} Download: http://www.4shared.com/rar/6f4eiBSzba/ONE-WIRE_PIC_PIC.html? Putz, fantástico!!!!! Sabe quando eu iria conseguir desenvolver isso, levaria um mês no mínimo...rssss Muito obrigado, vou implementar e depois retorno com o resultado. Rogério -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Passei a tarde toda pesquisando, mas não encontrei algo que realmente dê uma luz para o meu caso. -
Comunicação entre PIC´s
Rogerio Fiorotti respondeu ao tópico de Rogerio Fiorotti em Microcontroladores
Ok, mas como vou conseguir ler o valor da eeprom no escravo antes de gravar em uma unica via de comunicação? Estou utilizando CCS e a PIC de onde quero ler e gravar é a 12F1840. Mas quando você tiver um tempinho gostaria de ver seu exemplo, eu aguardo...Obrigado. Ah, tenho que utilizar um fio só mesmo... -
Prezados estou precisando pra concluir meu projeto exemplos de comunicação entre PIC´s utilizando 1 fio, onde consigo ler e alterar valores gravados na EEprom de uma delas. Abraços. Rogério
-
Existem no mercado "caixas" que são utilizadas para alterar ajustes de determinados equipamentos, como exemplo o Jetbox da Jetimodel que é utilizados para alterar parâmetros de seus equipamentos. Preciso desenvolver algo semelhante, onde quero utilizar o mesmo recurso para alterar valores gravados na eeprom de meu projeto.
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais