-
Posts
34 -
Cadastrado em
-
Última visita
Reputação
0-
Saudações pessoal! É o segunte, estou com um projeto que necessita de comunicação entre dois 16F628A via RX/TX, onde o PIC master envia a variável "x" e o PIC slave recebe esta variável, e mostra o valor de "x" em um contador (três displays de 7 segmentos). A dúvida é a seguinte, comecei enviando "x" sendo o valor 5, o PIC slave recebia o valor correto e em seguida, dava um tempinho na contagem e acrescentava mais 5 ou 6 na contagem. Gostaria de saber se esse valor "a mais" é o buffer? Experimentalmente, fiz um código que, ao receber "x" descarrega em uma contagem primária onde o valor de "x" fica certinho, e em seguida abre uma contagem secundária onde é descarregado o buffer (eu acho) e é descartado. Abraço.
-
Rafael, não esqueça o AllDigital no seu código. Meu problema com o erro já foi resolvido, só comentei aqui para que se algum usuário do PSI, viesse a enfrentar o mesmo erro, já ter como base a minha experiência. A "omissão" do nível lógico no meu caso foi gerada por erro ao digitar, como mencionado anteriormente, eu não digitei o "1". Realmente é uma besteira, mas gera o erro, aí num programa grande a gente se perde procurando o "fantasma". O Programa foi eu que fiz, e já está finalizado. Jfeliciano, nesse projeto enfrentei o mesmo problema que você mencionou em posts anteriores, o reset dos posts durante o funcionamento do PIC. Vou descrever como eu fiz, veja o que você acha: ------------------------------ ... gosub resetports' ... end resetports led1=1 led2=1'' daí você estabelece o nível lógico de cada port ... Return -------------------------------- Dessa forma toda vez que precisar de "resetá-los" é só buscar "gosub resetports", note que não coloquei (entre o led1 e o led2) o waitus que o Paulo citou anteriormente, estou nos testes finais da placa, como não houve nenhum mal funcionamento, vou deixar assim. Tá uma beleza! PS: Em muitos exemplos citamos em nossos códigos um port sendo "led", mas isso é para facilitar a compreensão, na prática pode ser um NPN, PNP, fotoacoplador,..., acionando/interropendo o que desejar. Espero ter contribuído de alguma forma. Abraço.
-
Jfeliciano, o Paulo faz falta mesmo, gosto de ler até os posts dele em outros tópicos, sempre ajudando. Pessoal, se alguém estiver tendo problema com o PSI 6.91 Run-time error '5' O PSI não compila, dá o erro e fecha o programa, para eu descobrir isso levou um bom tempo, apaguei o valor lógico sem querer. A causa está na ausência do valor lógico como no exemplo abaixo: led=0 waitms 500 led= Fica aí a dica. Abraços...
-
Olá Binho11, Vou "tentar" explicar um dos motivos para o uso das variáveis. Imagine um projeto com o 16F877, são 33 I/O, as variáveis ajudam na identificação de cada PORT, facilitando a lógica e o desenvolvimento do programa. A princípio eu também estranhava e resumia tudo, da mesma forma que você citou, aí quando o número de PORTs aumenta vira uma salada! Passei por isso no mês passado! Use as variáveis e não esqueça dos comentários são muito importantes. Abraço e bons projetos.
-
Olá pessoal, Esses dias tava quebrando a cabeça para aumentar o valor do WaitMs, precisava de uma temporização de 2 horas para manter um LED aceso, resolvi da seguinte forma: '----------- Dim inicio As Byte Dim final As Byte final = 0 '----------- led: RB4 = 1 For inicio = 1 To 120 final = final + inicio WaitMs 60000 Next inicio RB4 = 0 End '------------ Pergunta: Tem outra forma de aumentar o WaitMs mais resumida? Estou trabalhando num projeto com o PIC 16F877, vou precisar de reproduzir mensagens de voz, serão quatro frases gravadas, alguém saberia indicar algum chip de voz com bom custo benefício? Abraços...
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