Register 12F1840

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:

Register 12F1840

Inlägg av newbadboy »

Lyckas banne mig inte toggla en enkel I/O port så som vanligt har jag väl missat ngn register inställning, vad kan det vara? Bry er inte oim uart delen. den ska jag mecka med sen

datablad
http://ww1.microchip.com/downloads/en/D ... 41441B.pdf

Kod: Markera allt

#define  OUT PORTA.F2

char uart_rd;

void main(){

  PORTA=0b00000000;
  ANSELA=0b000000000;
  C1ON_bit=0;
  SRLEN_bit=0;
  UART1_Init(9600);
  delay_ms(100);


    while(1){
 //    UART1_Write_Text("test");
 //    if(UART1_Data_Ready){
 //       UART1_Read_Text(uart_rd, "test", 5);
//       if(uart_rd=="test")

      }
      OUT=1;
     delay_ms(500);
     OUT=0;
     delay_ms(500);
}
   // }
Användarvisningsbild
Magnus_K
EF Sponsor
Inlägg: 5854
Blev medlem: 4 januari 2010, 17:53:25
Ort: Skogen mellan Uppsala-Gävle

Re: Register 12F1840

Inlägg av Magnus_K »

Ska det inte vara PORTA.B2?

En nolla för mycket i ANSELA också. Skriv bara "=0" om du ändå ska nolla hela det registret.
Senast redigerad av Magnus_K 17 november 2016, 10:58:48, redigerad totalt 1 gång.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Register 12F1840

Inlägg av newbadboy »

Provade, hjälpte inte.

(Ibland har jag kört F ibland B beronde på krets. Är osäker på vilken som gäller.)

Edit. Vill minnas att jag alltid använder F faktiskt
Senast redigerad av newbadboy 17 november 2016, 11:23:54, redigerad totalt 1 gång.
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Register 12F1840

Inlägg av newbadboy »

Kan tilläga att TX delen av UART funkar. DVS den skriver ut test
Användarvisningsbild
ecenier
Inlägg: 1104
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Register 12F1840

Inlägg av ecenier »

Använd LATA för att sätta IO-pinnar.
Använd TRISA för att sätta IO-pinnar till input eller output.

Kodsnuttarna nedan är för xc8-kompilatorn.

Kod: Markera allt

#include <xc.h>

#define OUT_PIN 2   // Motsvarar RA2
   :
   :
TRISA &= ~(1<<OUT_PIN);  // Du saknar den här raden som säter att IO-pinnen ska vara OUTPUT-pinne.
   :
   :
LATA |= (1<<OUT_PIN);
__delay_ms(500);
LATA &= ~(1<<OUT_PIN);
__delay_ms(500);
   :
Användarvisningsbild
newbadboy
Inlägg: 2426
Blev medlem: 16 september 2006, 19:16:28
Ort: Landskrona
Kontakt:

Re: Register 12F1840

Inlägg av newbadboy »

Ja TRISA ska det vara. Det har jag skrivit tusen ggr så det borde jag inte missat. Fick flytta måsvingen så att det skulle hamna i while1 loopen.

Nu funkar det. Fan vad blind man är ibland :(

Tack
Skriv svar