CodeWarrior função sin() - math.h

Software e Hardware para uC da Qualcomm, NXP, FreeScale e Motorola

Moderadores: 51, guest2003

CodeWarrior função sin() - math.h

Mensagempor evertonsilva » 20 Abr 2007 15:39

Boa tarde pessoal.

Estou tentando utilizar a função sin(x) da biblioteca math.h , mas esta dando uns erros... alguém ja utilizou !? estou utilizando um micro HC908Q....

Abraços !!!

Everton.
Avatar do usuário
evertonsilva
Bit
 
Mensagens: 41
Registrado em: 17 Out 2006 13:27
Localização: Rio Claro - SP

Mensagempor EDSONCAN » 20 Abr 2007 16:13

Da uma olhada no forum da freescale que tem um erro na funcao sin que foi reportado a algum tempo atras.
Edson
EDSONCAN
Word
 
Mensagens: 876
Registrado em: 11 Out 2006 14:11

Mensagempor evertonsilva » 20 Abr 2007 17:21

Entao... andei pesquisando por la, me parece que o CodeWarrior não implementa na biblioteca math.h opções para ponto flutuante, e sin é uma das funções que a ultiliza... é isso msm??

preciso fazer calculos de seno -> sin(radianos)

o básico seria o envio do numero a ser calculado pela serial e o hc908 devolve a resposta...

a serial nao é problema... mas a função sin ta dando um trabalhão rs....

Abraços! Qualquer informação é muitoooo bem vinda!!

Everton.
Avatar do usuário
evertonsilva
Bit
 
Mensagens: 41
Registrado em: 17 Out 2006 13:27
Localização: Rio Claro - SP

Mensagempor pbernardi » 21 Abr 2007 10:41

Para 8 bits, geralmente é melhor fazer uma tabela e usar interpolação.

Usar seno vai deixar seu programa muito lento.

Se for para gerar senóide, pose-se usar uma tabela inteira mesmo, é bem mais rápido.
But to us there is but one God, plus or minus one - Corinthians 8:6±2. (xkcd.com)
pbernardi
Word
 
Mensagens: 707
Registrado em: 12 Out 2006 19:01
Localização: Curitiba-PR

Mensagempor BFCardoso » 23 Abr 2007 11:39

Olá Everton.

Não sei opinar em relação ao problema na biblioteca math.c, mas, voce pode usar a função seno pelo série de Taylor. É um somatório, então basta apenas voce fazer um "for" com o numero de repetiçoes (aproximação) que achar necessário. Segue o link abaixo da série de Taylor.

Espero ter ajudado.

msn: bruno@hera.ind.br ou brunoparaiba@hotmail.com

http://pt.wikipedia.org/wiki/Seno

Ate mais.

BFCardoso
BFCardoso
Bit
 
Mensagens: 48
Registrado em: 17 Nov 2006 14:25
Localização: Santa Rita do Sapucaí - MG

Mensagempor evertonsilva » 23 Abr 2007 13:35

Boa tarde pessoal!

pbernardi ñ é pra gerar senóide ñ, preciso realizar cálculos de seno para qualquer radiano informado (ou grau, isso ñ é o problema)...

E pelo que percebi (caso esteja errado me avisem rs) o erro ocorre pq as funções que exigem ponto flutuante ñ funcionam no codewarrior, ou melhor, variáveis tipo float ñ funcionam. Isso se deve ao tipo de licença? alguém conhece alguma licença para estudos, tipo faculdade, onde suas bibliotecas estejam completas?

BFCardoso, obrigado pelas informações!!! Estou analisando agora msm e retorno os resultados.

Abraços!
Everton.
Avatar do usuário
evertonsilva
Bit
 
Mensagens: 41
Registrado em: 17 Out 2006 13:27
Localização: Rio Claro - SP


Voltar para NXP (ex-FreeScale (ex-Motorola))

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x