Help me na C Molim Vas

Z

zrak

Guest
Ja sam učenje c ugrađen sistem za programiranje.Imam 5 pitanja listu ispod.Ja ću ga poštovati ako netko može objasniti neke od njih ili čak sve.Ili mi može netko preporučiti neki upućivanje to lean tih konvencija?
1. Što je to konvencija ovako: (kopirati iz Hi-tech c)
# ifndef _PIC_H
# define _PIC_H
posebno naglasila zagonetke mene puno.

2.što je znakove &, *, , @, i zagrada u (nepotpisani) znače u sljedećim (iz Hi-tech)
statički zalogaj LCD_RS @ ((nepotpisani) & PORTA * 8 2);

3.Što to znači izjava?(iz Hi-tech c)
# define LCD_STROBE ((LCD_EN = 1), (LCD_EN = 0))

4.Što je podvlačenje i <....> znači?(od sourceboost C)
# define _LCD_Read LCD_Read <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>

5.tko može objasniti
_LCD_TEMPL I predložak

U dijelu programa kako slijedi: (od sourceboost C)
......
/ / Ove makronaredbi čine susequent kod više čitati, ali može izgledati malo zbunjujuće
# define _LCD_RawWriteNibble LCD_RawWriteNibble <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_RawWriteNibbleInline LCD_RawWriteNibbleInline <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_Read LCD_Read <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_WaitForNotBusy LCD_WaitForNotBusy <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_Write LCD_Write <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_FunctionMode LCD_FunctionMode <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_DataMode LCD_DataMode <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_RawWrite LCD_RawWrite <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>
# define _LCD_ClockOut LCD_ClockOut <InterfaceType, UseBusy, DataPort, Data_PortTris, CtrlPort, Ctrl_PortTris, RS, RW, E>

# define _LCD_TEMPL predložak <unsigned char InterfaceType, \
unsigned char UseBusy, \
dataport unsigned int, unsigned int Data_PortTris, \
CtrlPort unsigned int, unsigned int Ctrl_PortTris, \
unsigned char RS-a, unsigned char RW, unsigned char E>

_LCD_TEMPL
inline void LCD_FunctionMode (void)
(
volatile zalogaj RS (at) CtrlPort.RS = 0;
)

_LCD_TEMPL
inline void LCD_DataMode (void)
(
volatile zalogaj RS (at) CtrlPort.RS = 1;
)
......

 
&lt;img src="http://gallery.dpcdn.pl/imgc/News/55512/g_-_550x412_-_s_55512x20140624171323_0.jpg" alt="image" /&gt;Do polski trafia Huawei Ascend G6 4G LTE, jeden z lepszych smartfonów w cenie poniżej 1000 zł. W międzyczasie chiński producent świętuje bardzo dobre wyniki sprzedaży flagowego modelu Ascend P7 oraz prezentuje nowy topowy model Honor 6.

W naszym kraju smartfony produkowane przez Huawei nie cieszą się dużą popularnością, a dodatkowo dużo osób postrzega tę firmę jako producenta kiepskich,...&lt;img src="http://feeds.feedburner.com/~r/dobreprogramy/Aktualnosci/~4/GqkutGjbv18" height="1" width="1"/&gt;

Read more...
 
Da, morate naučiti programski jezik C na prvom mjestu.'Cause one simbole, koji se pitao, jesu iskorišten mimo C jeziku.

 
Ja samo mogu odgovoriti za prvi qustion

Q1:
zbog naglasila je meanless, to je dio iz imena identifcation.
i zbog # ifndef <name> <name> ako to nije definiran prije kompajler će copmile slijedeću liniju dok ne pronađete # endif ili # else,
i ako je definiran prije, kompilator neće prevesti ovaj dio i ne bi ga hex file

i ovo pitanje znači ako ne onda definirano definirati _PIC_H

jednostavno u može na traženje pomoći u prevodilac ull ga pronaći vrlo lako razumjeti.

 
Bok!

Prije nego što pisati softver za mikrokontrolera, učiti
najprije C programiranje na PC-u.Koristite računalo s ANSI
popustljiv C kompajler.Napišite EXE programe koji će se izvoditi
u MS-DOS prozor konzole.Na web stranicama možeš pronaći puno
slobodnog tutoriali o C.

Primjer:
http://www.ericlindsay.com/applix/ctutor.pdf

(Search with Google za "C tutorial" ili "Hi-tech c udžbenik").

Prebaci na C kompajler za ugrađeni sustavi jednom kad
master C programiranje za PC.

* * *
Compiler - Borland C 4,52 (Isto tako za C).

Savršeno za učenje C Compiler i ispravljanje pokrenuti pod Windowsima.
(Konzola za ulaz i izlaz je Windows oblik ne
MS-DOS prozor konzole).
U projekt opcije možete postaviti jezik sukladnosti.
(Kernighan i Ritchie, ANSI, UNIX V, Borland ekstenzije).* * *

Compiler - Pacific C za MS-DOS (Hi-tech)

Free MS-DOS ANSI C kompajler uz ispravljanje pogrešaka i
366 stranica PDF Priručnik:

http://www.htsoft.com/products/PACIFICc.php

Ovaj prevodilac i ispravljanje trčanje također u MS-DOS
prozor konzole pod Windows.
Ako stvorite PIF-datoteku, program će se izvoditi u
full-screen DOS modu pod Windowsima uz pomoć miša.* * *

Prva knjiga o C:

C Programming Language (Second Edition).
Brian W. Kernighan / Dennis M. Ritchie
ISBN: 0-13-110362-8

Luciano

 
Zapamtite da C makronaredbe su jednostavno tekst zamjenu.Makroi su snažne, ali ponekad je teško pratiti, osobito kad makronaredba sadrži druge makronaredbe.

1.U C, naglasila je običan lik kao što je kroz Z, tako da je jednostavno _PIC_H identifikator (naziv funkcije, makro imena, itd.) vjerojatno definirana negdje drugdje.

2.Ne mislim @ vrijedi C jeziku.On svibanj biti nekih ekstenzija koje nudi vaš kompajler, ili ona svibanj biti znak priznata od strane neke druge preprocesor.Izraz ((nepotpisani) & PORTA * 8 2) uzima adresu PORTA, to baca na ružan cijeli broj, multpilicira po 8, i dodaje 2.U tom stilu je vrlo čest u ugrađen C.

3.To definira makronaredbu pod nazivom LCD_STROBE.Ako koristite taj makro u svom programu, ona se proširuje kako bi tekst ((LCD_EN = 1), (LCD_EN = 0)), koje će se dogoditi da sadrže dva zadataka razdvojene zarezom operatora.On postavlja nešto imenom LCD_EN do 1, a zatim se briše s 0.

4.Opet, naglasila je samo običan lik, tako da je jednostavno _LCD_Read naziv makronaredbe.Ako koristite taj makro u svom programu, ona širi se na sve to čudan tekst.Tko zna što čini!Youll 'morati ići pronaći gdje se koristi, a odgonetnuti što je programer razmišljanja.

5.Yuch!Mislim da je tajna "predložak".To nije dio jezika C, tako da je vjerojatno još jedan makro.Pokušajte pronaći svoju definiciju.

Sviđa mi se njihov komentar: "... može izgledati malo zbunjujuće".Ovdje je velika knjiga i koristan FAQ:
http://www.edaboard.com/viewtopic.php?t=51807
http://www.eskimo.com/ ~ SCS / C-faq / top.html

 
ahm_hassaan wrote:

Ja samo mogu odgovoriti za prvi qustionQ1:

zbog naglasila je meanless, to je dio iz imena identifcation.

i zbog # ifndef <name> <name> ako to nije definiran prije kompajler će copmile slijedeću liniju dok ne pronađete # endif ili # else,

i ako je definiran prije, kompilator neće prevesti ovaj dio i ne bi ga hex filei ovo pitanje znači ako ne onda definirano definirati _PIC_Hjednostavno u može na traženje pomoći u prevodilac ull ga pronaći vrlo lako razumjeti.
 
Vi se brzo kreću prema duboko kraj bazena!

Identifikator kao što je _PIC_H počinje podvlačenje i veliko slovo.C standard kaže, ako sam ga ispravno čitanje, da se takva imena su koja će se koristiti samo dečki koji su stvorili kompajler.Vaš plan ne bi trebao stvarati takva imena ili pokušajte ih koristiti u svom programu.To pravilo pomaže kompajler pisaca i prevodilac korisnike slučajno koračni na svaki drugi's toes.(Vjerojatno sam pogrešno naveo nešto postoji - čitanje odjeljak 7.1.3 standarda daje mi glavobolju.)

Sada ću pokušati pogoditi zašto prevodilac momci stvorili _PIC_H.To izgleda kao zastava koja sprečava sve ostale stvari u zaglavlju slučajno se definira dva puta, u slučaju da netko pokuša uključiti zaglavlje datoteke dvaput.To je uobičajen problem kad zaglavlja header datoteka uključuje i druge datoteke.Razlog su nazvali _PIC_H to je vjerojatno zato što je lako sjećati se da je zastava za varalica naimenovan pic.h.

Quote:

Ja još uvijek ne mogu vidjeti ništa od svog 2. objašnjenje.
Očito, iz koda, to znači da je RS LCD kontrole pinski spaja na pin 2 PORTA, ali kako to doći takva sintaksa?
 
echo47 wrote:

Vi se brzo kreću prema duboko kraj bazena!Identifikator kao što je _PIC_H počinje podvlačenje i veliko slovo.
C standard kaže, ako sam ga ispravno čitanje, da se takva imena su koja će se koristiti samo dečki koji su stvorili kompajler.
Vaš plan ne bi trebao stvarati takva imena ili pokušajte ih koristiti u svom programu.
To pravilo pomaže kompajler pisaca i prevodilac korisnike slučajno koračni na svaki drugi's toes.
(Vjerojatno sam pogrešno naveo nešto postoji - čitanje odjeljak 7.1.3 standarda daje mi glavobolju.)Sada ću pokušati pogoditi zašto prevodilac momci stvorili _PIC_H.
To izgleda kao zastava koja sprečava sve ostale stvari u zaglavlju slučajno se definira dva puta, u slučaju da netko pokuša uključiti zaglavlje datoteke dvaput.
To je uobičajen problem kad zaglavlja header datoteka uključuje i druge datoteke.
Razlog su nazvali _PIC_H to je vjerojatno zato što je lako sjećati se da je zastava za varalica naimenovan pic.h.Quote:

Ja još uvijek ne mogu vidjeti ništa od svog 2. objašnjenje.
Očito, iz koda, to znači da je RS LCD kontrole pinski spaja na pin 2 PORTA, ali kako to doći takva sintaksa?
 
statički zalogaj LCD_RS @ ((nepotpisani) & PORTA * 8 2) / / Registracija odabirPa, taj simbol @ ne vrijedi C, kao što sam već spomenuo.I don't know what "malo" je bilo.Možda je to, gdje su zapeli ste.

Let's secirati ((nepotpisani) & PORTA * 8 2)

PORTA
Nepoznata definicija.Možda je to u drugoj datoteci zaglavlja.

& PORTA
To je "adresa" operatora.To generira pokazivač PORTA.

(nepotpisani) & PORTA
To baca (pretvara) adresu na ružan cijeli broj.

(nepotpisani) & PORTA * 8
Times 8.

((nepotpisani) & PORTA * 8 2)
Plus 2.

Je li to pomoći?

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />
 
statički zalogaj LCD_RS @ ((nepotpisani) & PORTA * 8 2) / / Registracija odabir

OVDJE BIT može biti PODATAKA ZA TIP koje bi mogle biti VRSTA lijevana POMOĆU typedef

 

Welcome to EDABoard.com

Sponsor

Back
Top