Ir ao conteúdo
  • Cadastre-se

C Programa em C elaboração


BlackMetal

Posts recomendados

  • Membro VIP
5 horas atrás, BlackMetal disse:

muito iniciante na programação

Você não queimou etapas não? Seu desafio me (me) parece um pouco avançado pra sua 'idade'. Mas enfim...

Não devo ajudar diretamente mas apenas observar que geralmente o mplab é ambiente de programação pra microcontroladores das familias pic e avr mas isso não impede de criar relógio com eles via software mesmo. Caso prefira existe a opção de se usar interrupçoes por timer e claro, conhecer de antemão o seu hardware com relativa profundidade. Outra um pouco mais complexa é usar um ci de relógio.

Resumindo, você deve saber de onde capturar os dados de tempo antes de qualquer coisa. Depois disso, uma forma minimalista basta uma série de if's. Sobre o último requisito, o óbvio serve?

if ((dia_da_semana>7) && (HORA>23) && (MINUTO>59) && (SEGUNDO>59)) 
	{
	dia_da_semana=1;
	HORA=MINUTO=SEGUNDO=0; //de quebra
	}

😁

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Desde já agradeço a disponibilidade e a pronta resposta .if.

Realmente eu também acho um pouco avançado também para mim, mas é uma disciplina de curso e tenho que a fazer!

Estou a fazer um curso de Eletronica e Automação e uma das disciplinas é Programação iniciação, e o formador pediu este pequeno trabalho e eu de Programação nao percebo nada, ainda para mais trabalho e estudo ao mesmo tempo!

Sim esta disciplina é virada para a programação de PIC.

Só mais uma coisa, o programa que me passou nao está completo?

Preciso mesmo de uma orientacao a nível de programação.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, BlackMetal disse:

Só mais uma coisa, o programa que me passou nao está completo?

Infelizmente não. É apenas o algoritmo ou comandos em c pra atender o último quesito.

 

2 horas atrás, BlackMetal disse:

o formador pediu este pequeno trabalho

Neste caso foi ele quem queimou etapas. Sugiro que comece do início do princípio fazendo um led piscar. Mas como parece que ele quer apenas avaliar tua desenvoltura no aspecto criar algoritimos e soluções, creio que podes apenas criar o esqueleto do programa no mplab. Algo simples como:
 

main()
{
unsigned char SEGUNDO,MINUTO,HORA,dia_da_semana; //mes,ano
for(;;)
{
delay (1segundo); //espera 1 segundinho
SEGUNDO++; if (SEGUNDO>59) {MINUTO++;SEGUNDO=0;}
if (MINUTO>59) {HORA++;MINUTO=0};
if (HORA>23) {dia_da_semana++;HORA=0;}
if ((dia_da_semana>7) && (HORA>23) && (MINUTO>59) && (SEGUNDO>59)) 
	{
	dia_da_semana=1;
	HORA=MINUTO=SEGUNDO=0; //de quebra
	}
printf(... todas as variáveis acima);
}

Agora sim.. semi completo 😁

Obs: não vejo problema em copiar e colar desde que claro faça ajustes e principalmente percebas cada linha, ok?

Tarefa: elabore funções de acerto de data/hora e crie/mostre as variáveis mes e ano.

 

Tens a opção de usar o mplab xpress (está nos meus favoritos) ... https://mplabxpress.microchip.com/mplabcloud/ide participar de seu forum e tal. Deves encontrar alguns bons exemplos (bem melhores que o meu kk).

Link para o comentário
Compartilhar em outros sites

23 minutos atrás, .if disse:

Infelizmente não. É apenas o algoritmo ou comandos em c pra atender o último quesito.

 

Neste caso foi ele quem queimou etapas. Sugiro que comece do início do princípio fazendo um led piscar. Mas como parece que ele quer apenas avaliar tua desenvoltura no aspecto criar algoritimos e soluções, creio que podes apenas criar o esqueleto do programa no mplab. Algo simples como:
 


main()
{
unsigned char SEGUNDO,MINUTO,HORA,dia_da_semana; //mes,ano
for(;;)
{
delay (1segundo); //espera 1 segundinho
SEGUNDO++; if (SEGUNDO>59) {MINUTO++;SEGUNDO=0;}
if (MINUTO>59) {HORA++;MINUTO=0};
if (HORA>23) {dia_da_semana++;HORA=0;}
if ((dia_da_semana>7) && (HORA>23) && (MINUTO>59) && (SEGUNDO>59)) 
	{
	dia_da_semana=1;
	HORA=MINUTO=SEGUNDO=0; //de quebra
	}
printf(... todas as variáveis acima);
}

Agora sim.. semi completo 😁

Obs: não vejo problema em copiar e colar desde que claro faça ajustes e principalmente percebas cada linha, ok?

Tarefa: elabore funções de acerto de data/hora e crie/mostre as variáveis mes e ano.

 

Tens a opção de usar o mplab xpress (está nos meus favoritos) ... https://mplabxpress.microchip.com/mplabcloud/ide participar de seu forum e tal. Deves encontrar alguns bons exemplos (bem melhores que o meu kk).

 

Estava a pensar assim:

Int main (intargc, chat**argv){

Int dias da semana = 7;

Int hora = 23;

Int minutos = 59;

Int seg = 59;

( A partir daqui estou sem ideias )

No fim punha:

printf ("%ds, %dh, %dm, %ds\n");

Que me diz??

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Acho que você precisa de ajuda mais elementar que infelizmente não lha posso fornecer ok? A estrutura do fonte c pra aquele ambiente não é exatamente esta. Mas vou te dar uma dica que vai mudar tua vida. Abra no mplab um exemplo qualquer de um mc popular qualquer p.ex. pic18f2550. Com isso vais ter uma boa noção de como tem que ser o cabeçalho da inicialização do programa pra aquele ambiente e mc e etc. A partir dele crie as variáveis e as manipule ou simplesmente imprima como queres fazer. Já é alguma coisa e sujeito a não levar nota zero.

Nota: penso que a função prinft não faz parte do ambiente mplab(*). Pra apenas manter e ver - acho que vosso foco - as variáveis ativas durante a simulação na IDE, sugiro passar de uma pra outra temporária. Algo como:

unsigned char temp;

e no loop principal

temp=SEGUNDO;

temp=MINUTO;

temp=HORA;

temp=dia_semana;

//etc

A ideia á apenas fazer o compilador não ignorar e sequer criar variáveis não usadas.. sim ele tem esta mania...

(*)Mas caso a função prinft -  que apenas envia dado para a porta serial - esteja presente nos #includes, sim, estás no caminho certo.. apesar que continuo a achar que estás a pegar um baita atalho

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...