Aca está el codigo arreglado pero no visualiza bien..
#include <xc.h>
#define _XTAL_FREQ 4000000
//aca seria [2][10] pero pues no funciona la visualización. Con [20] visualiza A, 2 espacios, B, dos espacios, B de nuevo y cuando termina aparece A de forma abrupta
int v[20]={0b00000001,0b00000000,0b01101110,0b01101110,0b01101110,0b11101110,0b00000000,0b00000001,0b11111111,0b11111111,
0b00000000,0b01110110,0b01110110,0b01110110,0b01110110,0b01110110,0b10000001,0b11000011,0b11111111,0b11111111};
int vectorA[8] = {0b00000001,0b00000000,0b11101110,0b11101110,0b11101110,0b11101110,0b00000000,0b00000001};
int vectorB[8] = {0b00000000,0b01110110,0b01110110,0b01110110,0b01110110,0b01110110,0b10000001,0b11000011};
void letra(int vector[]);
//void corrimiento(int (*vector1)[10]);
void corrimiento(int vector1[]);
int i,j,k = 0;
void main(void){
OSCCONbits.SCS = 11;
OSCCONbits.IRCF = 110;
ADCON1bits.PCFG0=1;
ADCON1bits.PCFG1=1;
ADCON1bits.PCFG2=1;
ADCON1bits.PCFG3=1;
TRISD = 0;
TRISB = 0;
TRISAbits.RA0 = 1;
TRISAbits.RA1 = 1;
SPPCONbits.SPPEN = 0;
PORTEbits.RDPU = 1;
while (1){
while((PORTAbits.RA0 == 0) && (PORTAbits.RA1 == 0)){
LATD = 0;
}
__delay_ms(20);
while((PORTAbits.RA0 == 1) && (PORTAbits.RA1 == 0)){
letra(vectorA);
}
__delay_ms(20);
while((PORTAbits.RA0 == 0) && (PORTAbits.RA1 == 1)){
letra(vectorB);
}
__delay_ms(20);
while((PORTAbits.RA0 == 1) && (PORTAbits.RA1 == 1)){
if((PORTAbits.RA0 == 0) && (PORTAbits.RA1 == 1)){
letra(vectorB);
}
else if((PORTAbits.RA0 == 1) && (PORTAbits.RA1 == 0)){
letra(vectorA);
}
else{
corrimiento(v);
}
}
__delay_ms(20);
}
}
void letra(int vector[]){
for(i = 0; i < 8; i++){
PORTD = 1<<i;
PORTB = vector;
__delay_ms(2);
PORTD = 0b0000000;
}
}
/*
void corrimiento(int (*vector1)[10]){
for(j = 0; j<10; j++){
for(k = 0; k<25; k++){
for(i = 0; i<8; i++){
PORTB = (*(*(vector1+i)+j));
PORTD = 1<<i;
__delay_ms(2);
PORTD = 0b0000000;
}
}
}
}
*/
void corrimiento(int vector1[]){
for(j = 0; j<20; j++){
for(k = 0; k<25; k++){
for(i = 0; i<8; i++){
PORTB = vector1[i+j];
PORTD = 1<<i;
__delay_ms(2);
PORTD = 0b0000000;
}
}
}
}