Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   812 / 1216
(#) Zsora válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Még soha nem volt ilyen gondom az MPLAB X-szel, bár én nem használok bootloadert, és az írást is MPLAB X alatt végzem PICkit3-mal. Esetleg a Project Properties-ben van valami rosszul beállítva nálad.
(#) Zsora válasza Zsora hozzászólására (») Jún 15, 2016 /
 
Például a pipát vedd ki innen!

ProjProp.png
    
(#) don_peter válasza icserny hozzászólására (») Jún 15, 2016 /
 
icserny: Ohh ezen már rég túl vagyok..
usane: Csatoltam képeket, nem találtam ilyen menüpontot..
Zsora: Igen pont ezekkel próbáltam én is, de még a hex exportálással is próbáltam.
Minden kép kiírja, hogy debug információkat tartalmaz a kód.
Bootloadernél a gyári procdefs.ld fájt használom, így a bootloader miatt lefoglalt területre nem ír. Csatolom, a kérdéses fájlt is..

Teszt kód:
  1. /************
  2.  * Includes *
  3.  ************/
  4. #include <stdlib.h>
  5. #include "GenericTypeDefs.h"
  6. #include <xc.h>
  7.  
  8.  
  9. /**********************
  10.  * Configuration Bits *
  11.  **********************/
  12. #pragma config UPLLEN   = ON            // USB PLL Enabled
  13. #pragma config FPLLMUL  = MUL_20        // PLL Multiplier
  14. #pragma config UPLLIDIV = DIV_2         // USB PLL Input Divider
  15. #pragma config FPLLIDIV = DIV_2         // PLL Input Divider
  16. #pragma config FPLLODIV = DIV_1         // PLL Output Divider
  17. #pragma config FPBDIV   = DIV_1         // Peripheral Clock divisor
  18. #pragma config FWDTEN   = OFF           // Watchdog Timer
  19. #pragma config WDTPS    = PS1           // Watchdog Timer Postscale
  20. #pragma config FCKSM    = CSDCMD        // Clock Switching & Fail Safe Clock Monitor
  21. #pragma config OSCIOFNC = OFF           // CLKO Enable
  22. #pragma config POSCMOD  = HS            // Primary Oscillator
  23. #pragma config IESO     = OFF           // Internal/External Switch-over
  24. #pragma config FSOSCEN  = OFF           // Secondary Oscillator Enable
  25. #pragma config FNOSC    = PRIPLL        // Oscillator Selection
  26. #pragma config CP       = OFF           // Code Protect
  27. #pragma config BWP      = OFF           // Boot Flash Write Protect
  28. #pragma config PWP      = OFF           // Program Flash Write Protect
  29. #pragma config ICESEL   = ICS_PGx2      // ICE/ICD Comm Channel Select
  30. #pragma config DEBUG    = ON            // Debugger Disabled for Starter Kit
  31.  
  32. #define LED LATEbits.LATE2
  33.  
  34. void main(void){
  35.     unsigned int i;
  36.     TRISA = 0;
  37.     TRISB = 0;
  38.     TRISC = 0;
  39.     TRISD = 0;
  40.     TRISE = 0;
  41.     TRISF = 0;
  42.     TRISG = 0;
  43.    
  44.     AD1CON1 = 0;
  45.         AD1PCFG = 0xFFFF;
  46.         CM1CON = 0;
  47.         CM2CON = 0;
  48.         CVRCON = 0;
  49.  
  50.     LATE = 0x0f;
  51.    
  52.     while(1){
  53.        
  54.                 i = 65500;
  55.         LED = !LED;
  56.        
  57.         while(i--);
  58.        
  59.     }
  60.  
  61. }
(#) usane válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Idézet:
„#pragma config DEBUG = ON”

Itt a probléma.
(#) don_peter válasza usane hozzászólására (») Jún 15, 2016 /
 
Igen erre már én is gondoltam, de azt hittem ez csak a Debug csatlakozóra vonatkozik, nem a fordítás módjára.. Kipróbálom..

Igen e miatt írta ki azt a szöveget. Most már nem írja ki, de a bootloaderbe betöltve sajnos még mindig nem működik a program..
Érdekes mert ugyan ezt a programot lefordítva a sima MPLAB IDE-vel simán működik...
A hozzászólás módosítva: Jún 15, 2016
(#) elektroszala válasza diablo hozzászólására (») Jún 15, 2016 /
 
Mást nem tudok mondani, nekem bajt ott kondi még nem okozot.
A hozzászólás módosítva: Jún 15, 2016

sw2.png
    
(#) don_peter hozzászólása Jún 15, 2016 /
 
Uraim, valaki tud küldeni nekem egy lefordított hex fájlt amiben egy az RE2 bit-re egy LED villogtató program van lefordítva?
Akár a fentebb írt programom átalakításával.
Odáig jutottam, hogy most csak, akkor fut le a fentebb linkelt program, ha a bootloadert betöltöm és azzal töltöm fel azt a programot amit a régebbi MPLAB IDE kerettel fordítok le..
Nem értem mi lehet a gond, és kezd felbosszantani..
Előre is köszi..
(MPLAB X-et szeretnék áttérni, de úgy fest nem vagy csak nehezen megy)
(#) Zsora válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Tipp:
MPLAB 8-cal és X-szel is generálj egy .hex állományt és hasonlítsd őket össze (szövegesen)!

Ha nem használsz bootloadert akkor működik a program?
Jó helyre lett fordítva a program?
(#) pajti2 válasza elektroszala hozzászólására (») Jún 15, 2016 /
 
Nyugodtan odamehet a kondi is, de a szoftveres prellmentesítés sem ördöngősség. Elrakod a legutolsó állapotot, és figyeled, hogy 3 egymás utáni olvasásban is az új jelszint érkezett-e. Ha igen, akkor átírod a virtuális érzékelést. Nagyon ritka eset az olyan még a 16f-eken is, hogy ne jusson ram +3 bitnyi statikus adatnak.
(#) don_peter válasza Zsora hozzászólására (») Jún 15, 2016 /
 
Bootloader nélkül nem megy a program, akár melyikbe fordítom le.
Vagy hibás a programom amit írtam és azért nem megy, vagy valamit nagyon benézek és nincs beállítva. Esetleg a regiszterek nincsenek jól beállítva..
Próbáltam az USB kikapcsolásával is, mert láttam, hogy tán az alapból nincs teljesen kikapcsolva.
Bootloaderrel is csak akkor megy, ha a régi MPLAB IDE-vel fordítom le.
Egyelőre nem értem mi lehet a problém..
(#) cross51 válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Gondolom a panelon ki van vezetve az ICSP debug-olj rá, hogy mi történik nálam a debug segített rá(nem egyszer), hogy mért nem működik a PIC-be a program.
A hozzászólás módosítva: Jún 15, 2016
(#) don_peter válasza cross51 hozzászólására (») Jún 15, 2016 /
 
Köszi, a program futott, eddig is, csak meg kell szokjam a 80MHz-et, marha gyors és egyelőre nincs delay().
Viszont továbbra sem működik akkor, ha MPLAB X-el fordítom le és Bootladerrel töltöm fel a programot.
Ha a régi MPLAB IDE-vel akkor gond nélkül megy..
Nem értem mi lehet ez...
Úgy gondolom, hogy az X valahogy piszkálja a memória területet.
Viszont nincs linker állomány, amit meg lehetne nézni..
Ez a procdefs.ld állomány van, ami érdekes, de egyelőre nem tudom mennyire kell, mert MPLAB IDE-nek az sem kell, hogy működjön.. Érthetetlen..
Még egy kicsit kínlódok az X-el aztán, ha nem akar menni, akkor megkeresem az uninstall ikonját.
(#) cross51 válasza don_peter hozzászólására (») Jún 15, 2016 / 1
 
De ha az X-el rakod rá a programot ICSP-n keresztül akkor nem megy vagy csak a bootloaderen keresztül nem megy, már megkavarodtam mikor megy mikor nem?

A delay-re:
A SYS_CLK ami a "proci fel jut freki" / 2 a 8 biten FOSC-nek becézett. Nálad ha jól értem akkor 80Mhz / 2.
  1. void delay_ms(unsigned int miliseconds)
  2. {
  3.     while (miliseconds--)
  4.     {
  5.         asm("di");
  6. #ifdef SYS_CLK
  7.         asm volatile ("mtc0   $0,$9");
  8.         asm volatile ("mtc0   %0,$11" : "+r"(SYS_CLK / 1000));
  9. #else
  10.     #warning SYS_CLK not defined
  11. #endif
  12.         IFS0bits.CTIF = 0;
  13.         while(!IFS0bits.CTIF);
  14.         asm("ei");
  15.     }
  16.    
  17.     IFS0bits.CTIF = 0;
  18. }
  19.  
  20. void delay_us(unsigned int microseconds)
  21. {
  22.     while (microseconds--)
  23.     {
  24. #ifdef SYS_CLK
  25.         asm("di");
  26.         asm volatile ("mtc0   $0,$9");
  27.         asm volatile ("mtc0   %0,$11" : "+r"(SYS_CLK / 1000000));
  28. #else
  29.     #warning SYS_CLK not defined
  30. #endif
  31.         IFS0bits.CTIF = 0;
  32.         while(!IFS0bits.CTIF);
  33.         asm("ei");
  34.     }
  35.    
  36.     IFS0bits.CTIF = 0;
  37. }
A hozzászólás módosítva: Jún 15, 2016
(#) don_peter válasza cross51 hozzászólására (») Jún 15, 2016 /
 
Most odáig eljutottam, hogy X-el fel tudom programozni és fut is a program.
De ha beletöltöm a Bootloadert és azzal töltöm be ugyan azt a progit már nem megy.

Próbáltam gyári CDC demót, azt fel tudtam tölteni, de sajátot amit X-ben fordítottam azt nem.
Sima MPLAB-al fordítva működik.
A baj az, hogy vagy X vagy sima IDE-ben fejlesztek, egyszerre a kettő nem lehet.
Mivel az X-a frissebb és itt is ezt ajánlottátok, próbálnék át állni rá.

MPLAB X PRO regisztrált verzió.
(#) cross51 válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Nem kötekedés, de nem a fordítóból van pro standard meg free?
Nem tudom, hogy a PIC32-nél (gondolom van)van-e külön boot flash terület, de nem kell esetleg a reset vagy egyéb vektort arrébb rakni a bootloader miatt? Valamint a program amit feltöltesz bootloaderen keresztül az átírja a config biteket?
(#) kriszrap hozzászólása Jún 15, 2016 /
 
Sziasztok
Hogy tudom a PIC18F46k22 belsö RCjét bekapcsolni??? MikroC be írom
(#) don_peter válasza cross51 hozzászólására (») Jún 15, 2016 /
 
Igen igazad van, kifelejtettem XC és XC32 fordítóm PRO, regisztrált verzió.
Ezt azért írtam, be hogy hátha érdekes és hogy esetleg a free verzió korlátozna le.

No pont ezt gondolom én is.
PIC18-nál át kellett helyezni pár vektort, itt is van ilyen, de amit nem értek az az, hogy miért működik az a program amit MPLAB IDE-ből fordítok és miért nem amit X-el.
Mind kettő programban ugyan az van, mert az egész forrást másolom ide-oda.

delay sajnos nem működik, sorra hibát hoz.
ASM nem tetszik neki..

kriszrap: Mit értesz RC alatt? Belső órajelet?
A hozzászólás módosítva: Jún 15, 2016
(#) cross51 válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Tedd be 0-ás optimalizációba mert nagyon érdekesen szokott optimalizálni az XC próbáld ki úgy szerintem menni fog úgy mert egy csomó változót túloptimalizál aztán nem lesz belőle semmi.

A delay-nél a sys_clk definiálva van?
  1. #define SYS_CLK 40000000
A hozzászólás módosítva: Jún 15, 2016
(#) don_peter válasza cross51 hozzászólására (») Jún 15, 2016 /
 
Kivettem 0 optimalizálásra, de ugyan az a szitu..

Igen definiáltam de így:
  1. #define SYS_CLK 80000000/2

Most ez a teljes kódom:
  1. /************
  2.  * Includes *
  3.  ************/
  4. //#include <p32xxxx.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include "GenericTypeDefs.h"
  8. #include <xc.h>
  9. //#include <proc/p32mx795f512l.h>
  10.  
  11. /**********************
  12.  * Configuration Bits *
  13.  **********************/
  14. #pragma config UPLLEN   = ON            // USB PLL Enabled
  15. #pragma config FPLLMUL  = MUL_20        // PLL Multiplier
  16. #pragma config UPLLIDIV = DIV_2         // USB PLL Input Divider
  17. #pragma config FPLLIDIV = DIV_2         // PLL Input Divider
  18. #pragma config FPLLODIV = DIV_1         // PLL Output Divider
  19. #pragma config FPBDIV   = DIV_1         // Peripheral Clock divisor
  20. #pragma config FWDTEN   = OFF           // Watchdog Timer
  21. #pragma config WDTPS    = PS1           // Watchdog Timer Postscale
  22. #pragma config FCKSM    = CSDCMD        // Clock Switching & Fail Safe Clock Monitor
  23. #pragma config OSCIOFNC = OFF           // CLKO Enable
  24. #pragma config POSCMOD  = HS            // Primary Oscillator
  25. #pragma config IESO     = OFF           // Internal/External Switch-over
  26. #pragma config FSOSCEN  = OFF           // Secondary Oscillator Enable
  27. #pragma config FNOSC    = PRIPLL        // Oscillator Selection
  28. #pragma config CP       = OFF           // Code Protect
  29. #pragma config BWP      = OFF           // Boot Flash Write Protect
  30. #pragma config PWP      = OFF           // Program Flash Write Protect
  31. #pragma config ICESEL   = ICS_PGx2      // ICE/ICD Comm Channel Select
  32. #pragma config DEBUG    = OFF           // Debugger Disabled for Starter Kit
  33.  
  34. #define SYS_CLK 80000000/2
  35.  
  36. #define LED LATEbits.LATE3
  37.  
  38. void delay_ms(unsigned int miliseconds);
  39. void delay_us(unsigned int microseconds);
  40.  
  41. void main(void){
  42.     unsigned long i;
  43.     TRISA = 0;
  44.     TRISB = 0;
  45.     TRISC = 0;
  46.     TRISD = 0;
  47.     TRISE = 0;
  48.     TRISF = 0;
  49.     TRISG = 0;
  50.    
  51.     AD1CON1 = 0;
  52.    
  53.         AD1PCFG = 0xFFFF;      // Configure AN pins as digital I/O
  54.     DDPCONbits.JTAGEN = 0; // disable the JTAG port
  55.  
  56.         CM1CON = 0;
  57.         CM2CON = 0;
  58.         CVRCON = 0;
  59.     U1CON = 0;
  60.  
  61.     LATE = 0x0f;
  62.    
  63.     while(1){
  64.        
  65.                 i = 300000;
  66.         LED = !LED;
  67.        
  68.         while(i--);
  69.        
  70.     }
  71.  
  72. }
  73.  
  74. void delay_ms(unsigned int miliseconds)
  75. {
  76.     while (miliseconds--)
  77.     {
  78.         asm("di");
  79. #ifdef SYS_CLK
  80.         asm volatile ("mtc0   $0,$9");
  81.         asm volatile ("mtc0   %0,$11" : "+r"(SYS_CLK / 1000));
  82. #else
  83.     #warning SYS_CLK not defined
  84. #endif
  85.         IFS0bits.CTIF = 0;
  86.         while(!IFS0bits.CTIF);
  87.         asm("ei");
  88.     }
  89.  
  90.     IFS0bits.CTIF = 0;
  91. }
  92.  
  93. void delay_us(unsigned int microseconds)
  94. {
  95.     while (microseconds--)
  96.     {
  97. #ifdef SYS_CLK
  98.         asm("di");
  99.         asm volatile ("mtc0   $0,$9");
  100.         asm volatile ("mtc0   %0,$11" : "+r"(SYS_CLK / 1000000));
  101. #else
  102.     #warning SYS_CLK not defined
  103. #endif
  104.         IFS0bits.CTIF = 0;
  105.         while(!IFS0bits.CTIF);
  106.         asm("ei");
  107.     }
  108.  
  109.     IFS0bits.CTIF = 0;
  110. }
A hozzászólás módosítva: Jún 15, 2016
(#) kriszrap válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Igen egyszerüen sehogy se tudom beállitani
(#) don_peter válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
Idézet:
„TABLE 24-1: CONFIGURATION BITS AND DEVICE IDs
REGISTER 24-1: CONFIG1H: CONFIGURATION REGISTER 1 HIGH”

Neked a CONFIG1H regisztert kell elsőnek megnézned, itt tudod beállítani, hogy belsőről menjen.
Idézet:
„1001 = Internal oscillator block, CLKOUT function on OSC2
1000 = Internal oscillator block”

Hirtelen..
(#) kriszrap válasza don_peter hozzászólására (») Jún 15, 2016 /
 
ezt hogy csnálom?
"TABLE 24-1: CONFIGURATION BITS AND DEVICE IDs
REGISTER 24-1: CONFIG1H: CONFIGURATION REGISTER 1 HIGH"
(#) don_peter válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
Ez a PIC adatlapjában találod a 24-1-es résznél.
Pl:
  1. CONFIG1H = 0b00110011;         
  2. CONFIG2L = 0b00000110;                         
  3. CONFIG2H = 0b00100000;
  4. CONFIG3H = 0b10000001;
  5. CONFIG4L = 0b10000001;
  6. CONFIG5L = 0; // Code Protection
  7. CONFIG5H = 0; // Data EEPROM Code Protection
  8. CONFIG6L = 0; // Write Protection
  9. CONFIG6H = 0; // Data EEPROM Write Protection
  10. CONFIG7L = 0; // Table Read Protection
  11. CONFIG7H = 0; // Boot Block Table Read Protection

Vagy használhatod a teljes részletes beállítást:
  1. //CONFIG1H
  2. #pragma config FOSC             = HSMP          //0xF3  HS oscillator (medium power 4-16 MHz).
  3. #pragma config PLLCFG   = ON            //0xFF  Oscillator multiplied by 4xPLL
  4. #pragma config PRICLKEN = ON            //0xFF  Primary clock is always enabled.
  5. #pragma config FCMEN    = OFF           //0xBF  Fail-Safe Clock Monitor disabled.
  6. #pragma config IESO     = OFF           //0x7F  Oscillator Switchover mode disabled.
  7. //CONFIG2L
  8. #pragma config PWRTEN   = ON            //0xFE  Power up timer enabled.
  9. #pragma config BOREN    = ON            //0xFB  Brown-out Reset enabled and controlled by software (SBOREN is enabled).
  10. #pragma config BORV     = 285           //0xE7  VBOR set to 2.85 V nominal.
  11. //CONFIG2H
  12. #pragma config WDTEN    = OFF           //0xFC  Watch dog timer is always disabled. SWDTEN has no effect.
  13. #pragma config WDTPS    = 256           //0xE3  1:256.
  14. //CONFIG3H
  15. #pragma config CCP2MX   = PORTC1        //0xFF  CCP2 input/output is multiplexed with RC1.
  16. #pragma config PBADEN   = OFF           //0xFD  PORTB<5:0> pins are configured as digital I/O on Reset.
  17. #pragma config CCP3MX   = PORTB5        //0xFF  P3A/CCP3 input/output is multiplexed with RB5.
  18. #pragma config HFOFST   = OFF           //0xF7  HFINTOSC output and ready status are delayed by the oscillator stable status.
  19. #pragma config T3CMX    = PORTC0        //0xFF  T3CKI is on RC0.
  20. #pragma config P2BMX    = PORTD2        //0xFF  P2B is on RD2.
  21. #pragma config MCLRE    = EXTMCLR       //0xFF  MCLR pin enabled, RE3 input pin disabled.
  22. //CONFIG4L
  23. #pragma config STVREN   = ON            //0xFF  Stack full/underflow will cause Reset.
  24. #pragma config LVP              = OFF           //0xFB  Single-Supply ICSP disabled.
  25. #pragma config XINST    = OFF           //0xBF  Instruction set extension and Indexed Addressing mode disabled (Legacy mode).
  26. #pragma config DEBUG    = OFF           //0xFF  Disabled.
  27. //CONFIG5L
  28. #pragma config CP0      = OFF       // Kódvédelem kikapcsolva
  29. #pragma config CP1      = OFF
  30. #pragma config CP2      = OFF
  31. #pragma config CP3      = OFF
  32. //CONFIG5H
  33. #pragma config CPB      = OFF           // Boot Blokk kódvédelem kikapcsolva
  34. #pragma config CPD      = OFF           // Eeprom kódvédelem kikapcsolva
  35. //CONFIG6L
  36. #pragma config WRT0     = OFF           // Írásvédelem kikapcsolva
  37. #pragma config WRT1     = OFF
  38. #pragma config WRT2     = OFF
  39. #pragma config WRT3     = OFF
  40. //CONFIG6H
  41. #pragma config WRTB     = OFF           // Boot Blokk írásvédelem bekapcsolva
  42. #pragma config WRTC     = OFF           // Configuration Register Write Protection
  43. #pragma config WRTD     = OFF           // Data EEPROM Write Protection
  44. //CONFIG7L
  45. #pragma config EBTR0    = OFF       // Táblázatolvasás ne legyen letiltva
  46. #pragma config EBTR1    = OFF
  47. #pragma config EBTR2    = OFF
  48. #pragma config EBTR3    = OFF
  49. //CONFIG7H
  50. #pragma config EBTRB    = OFF       //Boot blokk táblaolvasás ne legyen letiltva

Neked itt már csak be kell állítanod, hogy belső órajelet akarsz és nem külsőt.
Lehet Micro C-ben ez másként van, lehet a keretprogramodban is be lehet könnyedén állítani.. Én ezt C18-ra írtam..
A hozzászólás módosítva: Jún 15, 2016
(#) cross51 válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
A MikroC-ben valahol lehet módosítani a config biteket, de már rég használtam nagyon nem tudom hol lehet már.
(#) kissi válasza pajti2 hozzászólására (») Jún 15, 2016 /
 
Idézet:
„Nyugtass meg, ugye nem ttl bemenetről volt szó?”
Mire gondolsz, mivel kapcsolatban nyugtassalak meg ?!
(#) kriszrap hozzászólása Jún 15, 2016 /
 
Ezt hova kell írni void mainbe???
(#) don_peter válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
Micro C-ben nézd meg a klienset, mert lehet be lehet állítani a keret programot is.
Ha nem akkor a main() elé..
(#) kriszrap válasza don_peter hozzászólására (») Jún 15, 2016 /
 
Internall oscillator blockra állitottam
A while nem futt le és 3 led villágit egymástól távol.
kód:
void main() {
TRISA = 0 ;
TRISB = 0;
TRISC = 0;
TRISD = 0;
TRISE = 0;
while(1)
{
PORTD=0b00000000;
PORTC=0b00000100;
delay_ms(1000);
PORTD=0b00000100;
PORTC=0b00000100;
}
}
DE legalább van valami
A hozzászólás módosítva: Jún 15, 2016
(#) cross51 válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
Videó itt igaz dsPicre mutatják be de ha jól emlékszem mindenhol így kell beállítani.
(#) don_peter válasza kriszrap hozzászólására (») Jún 15, 2016 /
 
PORTx regiszterekkel olvasunk, ennél és úgy általában a PIC18-as családnál LATx regiszter használunk a szint állításához.
Tehát:
  1. PORTC=0b00000100; //helyett
  2. LATC=0b00000100;
És ne felejtsd el a portokat digitálisra állítani..
Van egy pár regiszter amit érdemes beállítani ennél a PIC-nél.
A hozzászólás módosítva: Jún 15, 2016
Következő: »»   812 / 1216
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem