Ir ao conteúdo
  • Cadastre-se

Porta Serial e PIC + Data e Hora


chacalgbi

Posts recomendados

Olá pessoal, fiz um programa em C CCS para enviar uma variável pela porta serial, até ai tudo bem.

Agora eu preciso saber a hora (Ho : Min : Seg) e a data (Dia / Mês / Ano)

que ocorreu esse recebimento, eu não queria colocar um relógio RTC no PIC só para isso e o hyperterminal do windows não tem essa função, alguém tem algum programinha ai que faz isso? Pela hora do próprio PC?

Exemplo:

Variável recebida - 12:58:35 - 18/12/2012

Variável recebida - 13:27:12 - 18/12/2012

Sucessivamente....

E um botãozinho de imprimir e salvar (em TXT mesmo) :D

Se alguém tiver ai feito em C++ ou em algum outro software, ou souber de algum na net, mande ai por favor.

Falou

Link para o comentário
Compartilhar em outros sites

Eu tenho em Delphi e C++ Borland.

Tem como mandar pra mim?

porque se for pra fazer vou ter que aprender do Zero... rs Não sei quase nada de C++, porém, um amigo meu manja um pouco... você tem os códigos fontes? Ou é o programa já compilado?

Tem como ele fazer isso que eu descrevi acima?

Link para o comentário
Compartilhar em outros sites

No momento eu não tenho nehum circuito usando serial,então não lembro mais como os dados aparecem num programa que fiz ha tempos.

>serial<-

Baixe ele e me diga se os dados aparecem agrupados ou linha a linha.

Tá aparecendo agrupados

serialbf.jpg

É estranho essas barrinhas pretas, antes do valor numérico não tem nada.

Deve ser por causa disso printf("\n\r%2.0f VAC",p);

\n é próxima linha né?

Link para o comentário
Compartilhar em outros sites

O problema é que sempre que usava a serial no PIC,eu programava em Assembly,e em assembly é fácil pois controlava cada byte que recebia.

Usando Print,é enviado bytes de terminação.

O programa foi feito para receber qualquer tipo de byte,inclusive os não ASCII,por isso aqueles traços estranhos.

Ele foi feito para receber audio e conteudo de memoria.

> seril 3 <-

Vamos tentar.

Link para o comentário
Compartilhar em outros sites

Cara, vou ter que sair aqui. Deu quase certo, mas vou tentar endireitar aqui as linhas por comandos e espaços enviados pelo PIC.

Eu volto daqui uma hora e meia, tem como colocar ai um botão de salvar e de imprimir?

Agradeço demais!!

Volto daqui a pouco

olha o último print...

serial6.jpg

Link para o comentário
Compartilhar em outros sites

Voltando aqui aos resultados:

Seu programa já tá passando para a outra linha, então tirei do código do PIC o "\n\r".

Notei que o programa só passa para a linha de baixo depois que 9 caracteres ficam preenchidos. Então eu adicionei três espaços antes da variável.

E criei uma condição IF no PIC pra se a variável for menor que 100, ou seja, um dígito a menos nesse total de 9, ai o programa dá um espaço a mais, totalizando quatro espaços.

Olha ai como ficou direitinho...

testefinal1.jpg

Ficou bom demais!! Muito obrigado!

Se tiver mais alguma consideração, tô de olho no tópico ainda.

Link para o comentário
Compartilhar em outros sites

chacalgbi,ajustei para um visual mias 'limpo' com os dados começando no canto esquerdo.

Agora a quantidade de bytes antes de pular para a proxima linha é de 6,assim voce verifica se for menos de 6 voce pode acrescentar o numero zero na frente,tipo,108VDC,098VDC etc.

Ja deixei iniciando em 9600 kbps.

Caso queira testar desse modo,baixe do link abaixo.

-> Seial Pic <-

O código foi programado usando THREAD,o projeto foi compilado no RadStudio 2007 C++,da Borland.

Para outras versões do Borland C++ provavelmente vai ter que iniciar um novo projeto utilizando os .Cpp e .H.

Link.

->Projeto Borland C++ serial em THREAD <-

Link para o comentário
Compartilhar em outros sites

O código foi programado usando THREAD,o projeto foi compilado no RadStudio 2007 C++,da Borland.

Para outras versões do Borland C++ provavelmente vai ter que iniciar um novo projeto utilizando os .Cpp e .H.

Link.

valeu, vou dar uma estudada e tentar adaptar para o visual basic 2010, que é o que estou usando no momento.

Link para o comentário
Compartilhar em outros sites

Sei que é chato ficar indicando compiladores e linguagens de programação,mas para quem trablha com microcontroladores e banco de dados as melhores IDes são Delphi e Borland C++,de preferência Delphi.

Delphi é uma linguagemmuito fácil de se aprender e voce consegue todo o tipo de exmplos,componentes e rotinas relacionadas a perifericos eo PC.

O Delphi/C++ XE2,por exemplo,tem implementadao Firemonkey onde voce trabalha diretamente com a aceleração 3D e sua placa de vídeo de forma a fazer aplicativos em 3D facilmente,alem de gerar um único executavel com todas as libs nescessarias para rodar o aplicativo.

A nova linha gera executaveis para Mac tamebm.

Link para o comentário
Compartilhar em outros sites

VTRX, eu ia mesmo pedir pra você mudar pra 9600kbps

Desse modo ficou show!

Ia pedir pra você mudar pra iniciar automaticamente, mas me lembrei que antes é preciso configurar a porta e tal...

Vou baixar esse código fonte e esses programas ai e tentar fazer algo. Voltar a mexer com programação para PC. Lembro que uma época fiz curso do Visual Basic 6.0 e do Access... rsrsrs

Muito obrigado!

Pode fechar o tópico.

VTRX, esse THREAD é uma linguagem ou um programa?

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!