Världens enklaste kod vill inte funka (Pic 12LF1822)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

Försöker toggla portarna på kretsen men det händer inget alls

Vad är det jag missar?

Har satt intern oscillator

Kod: Markera allt


void main() {
 OSCCON = 0xF0; // Internal oscillator 8MHz and PLL enabled
 ANSELA = 0;    // All I/O pins are configured as digital
 ADCON0 = 0;    // Disable ADC module
 PORTA = 0;     // Initial value of port A bits
 TRISA = 0;     // Port A pins are configured as outputs
 while(1){
 PORTA = ~PORTA;    // Invert all port A bits
 delay_ms(500);
 }
}
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av AndLi »

Utan att ha koll på ev register hade jag först plockat bort delay_ms för att utesluta problem med timern som styr den...
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

det är skrivet i MikroC där denna rutinen är med som standard och den rutinen har jag använt 100tals ggr utan problem.

Bifogar även schemat.
Capture.PNG
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
ojz0r
Inlägg: 244
Blev medlem: 14 september 2007, 19:38:04
Ort: Växjö

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av ojz0r »

Vet inte om det spelar någon roll men i databladet står det följande ang. register TRISA:
"TRISA3: RA3 Port Tri-State Control bit
This bit is always ‘1’ as RA3 is an input only"


Det blir inte problem om du försöker forcera 0? Kanske testa att skriva 0x8 bara?
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

den har jag iof faktiskt missat.

Provade precis 0x8 men ingen skillnad
Zkronk
Inlägg: 1423
Blev medlem: 23 augusti 2005, 16:44:36
Ort: Uppsala

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Zkronk »

Det händer inget konstigt med Reset-pinnen?
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

Stabilt på 3v3.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Klas-Kenny »

Vad blir det för spänning på pinnarna då?

Blir alla 0V, 3.3V eller följer de pull up/down-motstånden?
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

port

0 0V
1 0V
2 0V
3 3v3
4 3v3
5 0V

de verkar följa PU/PD i princip
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Swech »

Definiera en variabel istället som du togglar och kopierar till porten
Att läsa porten sådär kan trassla till det på en PIC
Swech
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

Har provat innan att bara skriva 1 och 0 direkt till porten med samma resultat
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Swech »

The Data Latch (LATx registers) is useful for read-modify-write operations on the value that the I/O pins are driving. A write operation to the LATx register has the same effect as a write to the corresponding PORTx register. A read of the LATx register reads of the values held in the I/O PORT latches, while a read of the PORTx register reads the actual I/O pin value. Ports that support analog inputs have an associated ANSELx register. When an ANSEL bit is set, the digital input buffer associated with that bit is disabled. Disabling the input buffer prevents analog signal levels on the pin between a logic high and low from causing excessive current in the logic input circuitry. A simplified model of a generic I/O port, without the interfaces to other peripherals, is shown in Figure 11-1.
Kolla databladet
Det är LATA du skall köra med, inte PORTA

Swech
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av newbadboy »

Hmm lata var oxå en grej jag provade tidigt.

Jag skrev innan LATA.F4=1 och 0 men det gav inget
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4689
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Swech »

Kör eländet i simulatorn och singlesteppa så blir det nog lättare att hitta
och läs databladet grundligt , skumma inte bara igenom det..
Det kan t.ex. vara någon AD portinställning som ställer till det
Swech
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Världens enklaste kod vill inte funka (Pic 12LF1822)

Inlägg av Klas-Kenny »

newbadboy skrev: 1 juni 2022, 13:13:10 port

0 0V
1 0V
2 0V
3 3v3
4 3v3
5 0V

de verkar följa PU/PD i princip
Med andra ord så sätts de troligen aldrig ens till utgångar.
Säkert att du ställt in rätt processormodell etc. i projektinställningar, att programmet verkligen kommer in i processorn, och att du fått oscillatorinställningar rätt så den inte är inställd på extern oscillator? Du har ju inte skrivit något om konfigurationsbitarna.
Skriv svar