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
kony2807
Příspěvky: 305
Registrován: 29 črc 2007, 02:00
Bydliště: Ostrava

#16 Příspěvek od kony2807 »

Jakým programátorem ho programuješ ?
(Stalo se mi to za celou mou praxi jen jednou a to na doma bastleném programátoru - pravděpodobně nedodržení časování, nebo Vpp .)
________________________________
"Představte si to ticho, kdyby lidé říkali jen to, co vědí." K.Čapek

Uživatelský avatar
dracekvo
Příspěvky: 402
Registrován: 10 úno 2009, 01:00

#17 Příspěvek od dracekvo »

Snad nevadí, že píšu sem.
Chtěl sem se zeptat, jaký kompilátor C nejlépe používat pro mplab? A má to vůbec cenu pro 16f628?
Už sem konečně začal programovat PIC, ale ten assembler mi nějak nejde do hlavy. Strašně mi tam chybí větší - menší, if else a tak.

Jirka
Příspěvky: 2031
Registrován: 01 črc 2005, 02:00
Bydliště: zbídačený kraj
Kontaktovat uživatele:

#18 Příspěvek od Jirka »

16F628 má na C dost málo paměti.
*****

Uživatelský avatar
Atlan
Příspěvky: 4499
Registrován: 10 kvě 2004, 02:00
Bydliště: Košice

#19 Příspěvek od Atlan »

maly program malo pamenti, inak ved cecko sa prelozi do asm... tak 6e to je jedno ano ideto a ak ti staci 2kB nieje ziaden problem.

Uživatelský avatar
dracekvo
Příspěvky: 402
Registrován: 10 úno 2009, 01:00

#20 Příspěvek od dracekvo »

Prosimvás,

zkouším tu c na 16f628a, kompiler je hi-tech a mám problém změnit jen jeden výstup na portu.
Když dám PORTA = 0b00000001 tak je to v pořádku, ale když zkouším
RA0 = 1, RA0 = 0b1, PORTAbits.RA0=1; tak nic. Buď to nevezme kompiler, nebo se mi přepíná celej port :(

Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 01:00

#21 Příspěvek od frpr666 »

microchip.com -> training
Někde tam měli pěkné videa a prezentace, jak se dělá v MPLABu, jak pro začátečníky tak i pro pokročilé.
MPLAB -> nápověda, tam je toho taky spousta.

Nejprve si zkus kompilovat cizí programy, až získáš cvik, tak piš vlastní.
Jak nastavit bit portu se dočteš ve manuálu ke kompilátoru, protože C jako takové, datový typ "bit" nezná.

Nicméně mělo by fungovat toto

PORTA |= 0b00000001; // nahodit RA0
PORTA &= ~(0b00000001); // shodit RA0

Uživatelský avatar
dracekvo
Příspěvky: 402
Registrován: 10 úno 2009, 01:00

#22 Příspěvek od dracekvo »

A toto mi neovlivní ty ostatní porty? Já sem do cizích programů koukal, dokonce tu mám i knihu jak psát v C, sice je pro 18f většina příkazů je stejná, nebo odlišnosti si dohledám. Bohužel nikde sem nenašel jak menit pouze ten jeden bit, abych neovlivnil ostatní. Všude v příkladech se pracovalo s celým portem.

Odpovědět

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