Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
compaq Član
Pridružen-a: Tor 10 Mar 2009 12:53 Prispevkov: 100 Aktiv.: 0.54 Kraj: Maribor
|
Objavljeno: Čet Feb 25, 2010 5:13 pm Naslov sporočila: Začetek programiranja v C |
|
|
Pozdravljeni
Sicer nevem če sem v pravi temi ampak vseeno...
Pri roki imam PIC 18F4220 in sem si zadal nalogo, da bi se naučil programirat v C-ju.
Program za pisanje imam CCS C, tako, da če bi kateri vedel kaj več pomagat bi mi prav prišlo.
Sem poskusil napisat enostaven program za prižiganje led diode, ampak mi še do zdaj ni uspelo
hvala že v naprej
lp
Daniel |
|
Nazaj na vrh |
|
|
gumby Član
Pridružen-a: Sob 28 Apr 2007 12:32 Prispevkov: 4066 Aktiv.: 19.67
|
Objavljeno: Čet Feb 25, 2010 6:57 pm Naslov sporočila: |
|
|
Za začetek lahko prilepiš program, ki ti ne dela in shemo vezja... _________________ Tule nisem več aktiven. |
|
Nazaj na vrh |
|
|
compaq Član
Pridružen-a: Tor 10 Mar 2009 12:53 Prispevkov: 100 Aktiv.: 0.54 Kraj: Maribor
|
Objavljeno: Čet Feb 25, 2010 7:37 pm Naslov sporočila: |
|
|
Problem je ravno v tem, da nevem kako začet, sem se trudil da bi našel kak program za ta čip, ampak brez uspeha....
Če bi mi kdo vedel predlagat kakšno knjigo ali pa kakšni z kakšnim programčkom, da bi se lahko po čem orientiral....
sem iskal tutorial za ccs pa nisem nič koristnega našel...ki bi se navezovalo na moj problem...
update:
Nekaj sem gledal in našel samo zadeve za mplab.....zdaj se mi je postavilo vprašanje kaj je boljše
CCS C ali pa MPLAB uporabljat? |
|
Nazaj na vrh |
|
|
4AllDemolition Član
Pridružen-a: Tor 08 Maj 2007 15:35 Prispevkov: 162 Aktiv.: 0.78 Kraj: Orlek pri Sežani
|
|
Nazaj na vrh |
|
|
Samo87 Član
Pridružen-a: Pet 25 Jan 2008 2:14 Prispevkov: 462 Aktiv.: 2.34 Kraj: Kamnik
|
Objavljeno: Čet Feb 25, 2010 8:21 pm Naslov sporočila: |
|
|
Mogoče si lahko s temle kaj pomagaš. KLIK1, KLIK2 |
|
Nazaj na vrh |
|
|
Medo Član
Pridružen-a: Pet 17 Feb 2006 19:53 Prispevkov: 71 Aktiv.: 0.32 Kraj: Laško, Maribor
|
Objavljeno: Pet Feb 26, 2010 9:22 am Naslov sporočila: |
|
|
Prilepi tvoj primer v CCS-u tu gor, pa ti bomo lažje pomagali... |
|
Nazaj na vrh |
|
|
gargamel Član
Pridružen-a: Čet 31 Jan 2008 11:42 Prispevkov: 127 Aktiv.: 0.64 Kraj: Škofja Loka
|
Objavljeno: Pet Feb 26, 2010 9:29 am Naslov sporočila: |
|
|
Za začetek lahko pogledaš MikroC Pro compiler od mikroelektronike, tam je veliko primerov in bo verjetno lažje začeti.
http://www.mikroe.com/en/compilers/mikroc/pro/pic/
Tukaj je demo, (omejena na 2K kode) _________________ LP Luka S53LM
Nazadnje urejal/a gargamel Pet Feb 26, 2010 2:16 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
Pingi Član
Pridružen-a: Tor 13 Okt 2009 12:44 Prispevkov: 123 Aktiv.: 0.70 Kraj: Selnica ob Dravi - Maribor
|
Objavljeno: Pet Feb 26, 2010 1:06 pm Naslov sporočila: |
|
|
Če že govoriš o mikroC pol daj tudi link do mikroC
KLIK ! |
|
Nazaj na vrh |
|
|
ljudsko Član
Pridružen-a: Pon 31 Mar 2008 8:19 Prispevkov: 1184 Aktiv.: 6.06 Kraj: Koroška-Mežica
|
Objavljeno: Pet Feb 26, 2010 2:10 pm Naslov sporočila: |
|
|
Kako v temle SourceBoostu izklopiš bližnjice. Zdaj namreč ne morem natipkati zavitega oklepaja, ker če stisneš alt+katerakoli tipka, se odpre meni, kateremu pripada bližnjica.... _________________ return;
brake; |
|
Nazaj na vrh |
|
|
gargamel Član
Pridružen-a: Čet 31 Jan 2008 11:42 Prispevkov: 127 Aktiv.: 0.64 Kraj: Škofja Loka
|
Objavljeno: Pet Feb 26, 2010 2:17 pm Naslov sporočila: |
|
|
Pingi je napisal/a: |
Če že govoriš o mikroC pol daj tudi link do mikroC
KLIK ! |
Popravljeno _________________ LP Luka S53LM |
|
Nazaj na vrh |
|
|
bungee Član
Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.64 Kraj: Ljubljana
|
Objavljeno: Pet Feb 26, 2010 6:52 pm Naslov sporočila: |
|
|
@compaq:
Preizkusi tole:
Koda: |
#include <18F4220.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOFCMEN //Fail-safe clock monitor disabled
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES PUT //Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES NOSTVREN //Stack full/underflow will not cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES NOIESO //Internal External Switch Over mode disabled
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOCPB //No Boot Block code protection
#FUSES NOWRTB //Boot block not write protected
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOPBADEN //PORTB pins are configured as digital I/O on RESET
#use delay(clock=8000000)
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(false);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(OSC_8MHZ|OSC_TIMER1);
while (1)
{
output_toggle(Pin_A1);
delay_ms(500);
}
} |
Na PIC povežeš napajanje in LED na port A.1. Pa ti bo utripala dioda. |
|
Nazaj na vrh |
|
|
compaq Član
Pridružen-a: Tor 10 Mar 2009 12:53 Prispevkov: 100 Aktiv.: 0.54 Kraj: Maribor
|
Objavljeno: Pon Mar 01, 2010 10:06 am Naslov sporočila: |
|
|
hvala lepa, za viken sem bil kar odklopljen od sveta....sem imel malo dopust na smučišču
bom preizkusil pa povedal kako je...
tnx še enkrat
Daniel |
|
Nazaj na vrh |
|
|
compaq Član
Pridružen-a: Tor 10 Mar 2009 12:53 Prispevkov: 100 Aktiv.: 0.54 Kraj: Maribor
|
Objavljeno: Sre Mar 03, 2010 11:03 am Naslov sporočila: |
|
|
Pri programu se mi je pojavila ena napaka...
Program kot program je vredu, ampak imam občutek, da je napaka v nekakšnem fuse bitu, ker mi ga zdebagira vredu, ko pa je program v čipu pa nič ne dela kot bi blo potrebno....
Koda: |
#include <18F4220.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES HS//INTRC_IO //Internal RC Osc, no CLKOUT
#FUSES NOFCMEN //Fail-safe clock monitor disabled
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES NOSTVREN //Stack full/underflow will not cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES NOIESO //Internal External Switch Over mode disabled
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES MCLR //Master Clear pin used for I/O
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOCPB //No Boot Block code protection
#FUSES NOWRTB //Boot block not write protected
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOPBADEN //PORTB pins are configured as digital I/O on RESET
#use delay(clock=8000000)
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF|ADC_TAD_MUL_0);
setup_psp(PSP_DISABLED);
setup_spi(false);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_OFF);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
//setup_oscillator(OSC_8MHZ);
while (1)
{
//output_toggle(Pin_c7);
// output_toggle(Pin_B3);
output_high(PIN_A1);
delay_ms(1000);
output_low(PIN_A1);
delay_ms(1000);
}
}
|
malo sem spremenil program, ampak nevem v čem je napaka...
Če bi mi kdo vedel pomagat bi bil zelo hvaležen..
lp |
|
Nazaj na vrh |
|
|
bungee Član
Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.64 Kraj: Ljubljana
|
Objavljeno: Sre Mar 03, 2010 11:13 am Naslov sporočila: |
|
|
Kakšen oscilator uporabljaš? Če uporabljaš interni oscilator potem si naredil napako tule:
//setup_oscillator(OSC_8MHZ);
Če bi napisal še kako imaš priklopljen PIC, ti bi laže pomagal.
Imaš MCLR zvezan na VDD?
Zakaj si izklopil PUT? |
|
Nazaj na vrh |
|
|
compaq Član
Pridružen-a: Tor 10 Mar 2009 12:53 Prispevkov: 100 Aktiv.: 0.54 Kraj: Maribor
|
Objavljeno: Sre Mar 03, 2010 11:26 am Naslov sporočila: |
|
|
Uporabljam externi oscilator 8Mhz
Čip imam gor na plošči od mikroelektronike easyPIC6.
PUT pa je izklopljen, ker se prej zažene. |
|
Nazaj na vrh |
|
|
|