PIC: začiatok programu v C

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

PIC: začiatok programu v C

#1 Příspěvek od pickar »

Zdravím, je tu niekto ochotný, kto bi mi vytvoril projekt v MPLAB (momentalne mam v 8,76) a napísal doň program pre PIC16F628A
ktorý po napaleny do procesora, by mal všetky porty B v 1?
Diky.

Uživatelský avatar
GeorgeB
Příspěvky: 1187
Registrován: 21 lis 2005, 01:00
Bydliště: Pardubice
Kontaktovat uživatele:

#2 Příspěvek od GeorgeB »

Doporučuji učit se podle následujících materiálů: ČVUT FEL
Já jsem se v tomto předmětu naučil základy s PIC18F252 a programování v C v MPLABu.

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#3 Příspěvek od pickar »

Diky, pozerám, len zaklady V Cčku mám, len chcem vyskušať niečo s procesormi ale nedokažem nič rozbehať, neviem prečo, momentalne mam toto a ked to nahodim do PIC tak nič sa nedeje

#include <htc.h>

void main(){

TRISB = 0;
PORTB = 0;
RB0 = 1;

}

Uživatelský avatar
GeorgeB
Příspěvky: 1187
Registrován: 21 lis 2005, 01:00
Bydliště: Pardubice
Kontaktovat uživatele:

#4 Příspěvek od GeorgeB »

Pokud vím, tak jednotlivé bity na portu se nastavovali takto:

Kód: Vybrat vše

PORTBbits.RB0=1;
Pak bylo důležitý mít dobře nastavený projekt přes "Project wizard". Konkrétně "Microchip C18 toolsuite", a compiler "MPLAB C18 compiler (mcc18.exe)". To bylo konkrétně pro tu 18kovou řadu uP.

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#5 Příspěvek od pickar »

nefunguje nič, ani 628A ani 876A nič nefunguje, neviem kde je chyba, žeby v kompilery? nastaveny mam HI-TECH C ver.9.83
hej projekt vytvaram cez vyzard, tam vlastne ani nieje čo nastavovať iba sa označi použivany procesor odklika next next... a vec hotova.

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#6 Příspěvek od pickar »

a ešte jedna vec, treba vždy na začiatku napisať #include <p16f628a.inc> ? alebo <p16f628a.h> ? mne to ani v jednom pripade nezoberie a stale vypiše chybu

Uživatelský avatar
GeorgeB
Příspěvky: 1187
Registrován: 21 lis 2005, 01:00
Bydliště: Pardubice
Kontaktovat uživatele:

#7 Příspěvek od GeorgeB »

Pošli sem výpis chyb jinak se nehneme z místa.

Uživatelský avatar
procesor
Příspěvky: 5284
Registrován: 02 říj 2009, 02:00
Bydliště: PO

#8 Příspěvek od procesor »

Nerobím v C, ale program musí čosi vykonávať aj po tom čo urobí tie tri želané inštrukcie, hoci len v skok sám na seba ( Koniec goto Koniec)

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#9 Příspěvek od kony2807 »

GeorgeB píše:Pokud vím, tak jednotlivé bity na portu se nastavovali takto:

Kód: Vybrat vše

PORTBbits.RB0=1;
Pak bylo důležitý mít dobře nastavený projekt přes "Project wizard". Konkrétně "Microchip C18 toolsuite", a compiler "MPLAB C18 compiler (mcc18.exe)". To bylo konkrétně pro tu 18kovou řadu uP.
Tohle je ale 16F řada, používá Hitech-C pro nižší rodiny, zápis bitu má správně.
pickar píše:a ešte jedna vec, treba vždy na začiatku napisať #include <p16f628a.inc> ? alebo <p16f628a.h> ? mne to ani v jednom pripade nezoberie a stale vypiše chybu
Zápis #include <htc.h> je náhradou za hlavičkový soubor daného procesoru - sám si jej podle nastavení projektu nahradí.

Je správně nastavený projekt ?
Pokud proběhl úspěšně překlad : Co pojistky procesoru ? Neběží z ext. zdroje hodin, který není připojen ?
________________________________
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#10 Příspěvek od pickar »

Vďaka za odpoveďe. Momentálne mi všetka práca stojí, lebo momentálne som používal tento http://kudelsko.free.fr/prog_pic_rs232/ ... ation2.htm programator ale prechadzam na pickit tak som tento predal.

tiež sa mi zdá že či je nejak správne ukončný program v MCU lebo dva riadky programu sa mi nezdajú... skúšal som nakoniec dávať while(1); ale ta žiadna zmena.

Inak, nevie niekto kde by som mohol zohnať ten proteus simulačny program kde by som si nakreslis schemu a potom to podľa programu simuluje?
Dik

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#11 Příspěvek od kony2807 »

Proč něco simulovat v externím programu, když to jde přímo v MPLABu ?
Nejjednodušeji - v debugger vybrat MPSIM, ve view "watch" - ve watchi nastavit to, co mě zajímá (průběžně zobrazuje hodnoty ve vybraných registrech) a odkrokovat si program.
________________________________
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#12 Příspěvek od pickar »

no vyskušal som , niečo to robi, v programe beha taka zelana šipka po riadkoch ale kde najdem ten watch? ako vyzera to okno? ked dam view watch nič sa nestane nič mi neotvori, žiadne nastavenia, žiadne okno.
Mam otvoreny maximalne tak Output MPLAB SIM žeby toto? ale tam zas nič nevypisuje...

Uživatelský avatar
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#13 Příspěvek od kony2807 »

Pokud nejsi schopen najít watch, jednoduše nech kurzor myši nad kusem kódu, kde je napsán název daného registru - zobrazí se ti adresa a hodnota v hex tvaru.

EDIT: hele - nikdo z nás nemá na stole křišťálovou kouli - co takhle sem pověsit celý program, ať je hned jasné, kde je problém ?
________________________________
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#14 Příspěvek od pickar »

Ok vdaka, s kamaratovou pomocou som sa k tomu dopatral a už to viem ako sa to nastavuje ovlada ako to funguje, je to parada. problem bol že ten watch sa zobrazil ale niekde preč, a našiel som ho tak že skom musel zaskrolovať doprava (mam maly 17"monitor)

ale diky, zavesiť cely kod? ved ten kod som tu zavesil je v tretom prispevku :)
ale už je to všetko ok, už som zistil aj ako sa nastavuje procak, a vlatne to som aj potreboval zistiť, takže už mam veci poriešene , ostava len zohnať PIC18F2550 do PICKIT2 a možem začať programovať.
dik

Uživatelský avatar
pickar
Příspěvky: 8
Registrován: 27 kvě 2012, 02:00

#15 Příspěvek od pickar »

Mam taký problem, píšem programujem, píšem programujem a odide procak, stalo sa to už niekomu?
on funguje normane,normalne ho prečita len už sa neda vymazať... prečo to spraví? jedna sa o 628A

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“