Estou tentando utilizar a unidade mac dos dsPIC mas estou encontrando muitos problemas em utilizar a função (ou macro) __builtin_mac( ... )... Eu consigo até compilar... mas sempre me terna zero... aqui vai meu código:
- Código: Selecionar todos
register int reg_a asm("A");
int w1=0;
int a0 = 2;
int in1 = 1;
int a1 = 3;
int w2 = 4;
void __attribute__((interrupt, no_auto_psv, shadow)) _U1RXInterrupt(void)
{
reg_a = __builtin_clr();
reg_a = __builtin_mac(a0, in1, NULL, NULL, 0, NULL, NULL, 0,0);
reg_a = __builtin_mac(a1, w2, NULL, NULL, 0, NULL, NULL, 0,0);
asm ("sac %1,#0,%0" : "=r"(w1) : "w"(reg_a));
U1_Envia_BCD(w1, 5, 0); //converte de inteiro para BCD (ascii) e envia para a UART
}
obs: achei no forum da microchip um exemplo (no qual copiei)... se alguém puder me ajudar, serei grato!!!
forum da microchip:
http://forum.microchip.com/tm.aspx?m=21 ... ac𵘨
http://forum.microchip.com/tm.aspx?m=25 ... y=𿁒
OBRIGADO!