Amigos, estou reescrevendo um código feito para o HiTech no C18 e estou encontrando alguns problemas, como esse aqui:
Está escrito no programa:
wi = -Sinewave[j];
wi >>= 1;
Então, pelo que podemos ver, wi redeberá um valor de uma tabela, esse valor fica negativo e na linha seguinte wi recebe o seu valor deslocado 1 bit para a direita, ou seja dividido por 2.
Simulando passo a passo no MPlab usando o C18, no final wi fica dividido por 2 só que positivo.
Obs: Estou simulando com valores de Sinewave positivos.
Alguém poderia dar uma ajuda?