Sida 1 av 2
Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 10:54:28
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);
}
}
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 11:29:16
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...
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 11:45:23
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
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 12:11:36
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?
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 12:55:56
av newbadboy
den har jag iof faktiskt missat.
Provade precis 0x8 men ingen skillnad
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 12:57:33
av Zkronk
Det händer inget konstigt med Reset-pinnen?
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:00:55
av newbadboy
Stabilt på 3v3.
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:01:02
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?
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:13:10
av newbadboy
port
0 0V
1 0V
2 0V
3 3v3
4 3v3
5 0V
de verkar följa PU/PD i princip
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:14:03
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
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:26:48
av newbadboy
Har provat innan att bara skriva 1 och 0 direkt till porten med samma resultat
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:39:46
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
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:48:37
av newbadboy
Hmm lata var oxå en grej jag provade tidigt.
Jag skrev innan LATA.F4=1 och 0 men det gav inget
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 13:57:55
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
Re: Världens enklaste kod vill inte funka (Pic 12LF1822)
Postat: 1 juni 2022, 14:50:09
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.