Ich versuche ein Beispiel in der MikroC Pro für PIC-Compiler, die einige Bits aus dem EEPROM schreibt und liest, und zeigt die Ergebnisse auf den LEDs an der PIC18F452 MCU.PORTB von PIC18F452 funktioniert nicht
Der Code ist in C geschrieben. Und ich simuliere all dies in der Proteus-Simulation. Mein Schema ist wie folgt:
Die Stifte auf PORTB Änderung der Logik zeigen, aber sie sind nicht in der Lage auf die LEDs einzuschalten. Ich weiß, das ist kein Hardwareproblem, sondern ein Softwareproblem.
Können Sie meinen C-Code zu sehen und mir sagen, was ich falsch mache:
char ii; // loop variable
void main(){
ADCON1 = 0x07;
PORTB = 0;
PORTC = 0;
PORTD = 0;
TRISB = 0;
TRISC = 0;
TRISD = 0;
for(ii = 0; ii < 32; ii++) // Fill data buffer
EEPROM_Write(0x80+ii, ii); // Write data to address 0x80+ii
EEPROM_Write(0x02,0xAA); // Write some data at address 2
EEPROM_Write(0x50,0x55); // Write some data at address 0150
Delay_ms(1000); // Blink PORTB and PORTC LEDs
PORTB = 0xFF; // to indicate reading start
PORTC = 0xFF;
Delay_ms(1000);
PORTB = 0x00;
PORTC = 0x00;
Delay_ms(1000);
PORTB = EEPROM_Read(0x02); // Read data from address 2 and display it on PORTB
PORTC = EEPROM_Read(0x50); // Read data from address 0x50 and display it on PORTC
Delay_ms(1000);
for(ii = 0; ii < 32; ii++) { // Read 32 bytes block from address 0x80
PORTD = EEPROM_Read(0x80+ii); // and display data on PORTD
Delay_ms(250);
}
}
Haben Sie die richtige Polarität in diesem LED-Balkendiagramm? Sie haben den Anschluss an PORTB angeschlossen, so wie Sie die beiden anderen verbunden haben. – Dmitri
Hahaha ... Wie dumm von mir: P Sie hatten Recht! Danke –
Beantworten Sie diese Frage, damit ich Ihre Antwort als richtig markieren kann. –