En mi 16F628A, quiero iterar una secuencia de valores predefinida. ¿Cómo hago esto?
En C, haría algo como esto:
valores char = {22, 10, 34, 16};
identificación de carácter = 0;
puerto = valor[id]; identificación ++
Es el 'vals[id]' que no he descubierto.
No hay instrucciones indirectas de acceso a la memoria en las imágenes de rango medio, sino que coloca la dirección de la ubicación de la memoria a la que desea acceder en el registro FSR. Y luego se puede acceder al valor en el registro INDF.
Consulte la sección 4.4 de la hoja de datos de su chip. http://ww1.microchip.com/downloads/en/devicedoc/40044f.pdf
Si desea que un PIC16F628A haga algo como
char vals = {22, 10, 34, 16};
int main(void){
char id = 0;
while(1){
PORTB = vals[id];
id++;
id = id & 3;
};
}
una opción es compilar su código C con un compilador C. (Al compilar para tales chips, el compilador usará los registros FSR e INDF exactamente como explicó John Burton). Tengo entendido que SDCC es el único compilador C de código abierto que admite PIC16F628A y otros chips PICmicro de "14 bits".
Kortuk
olin lathrop
Kortuk
olin lathrop
Kortuk
Trygve Laugstöl