| May-akda | Mensahe |
|---|
seresa
Joined: 19 Jul 2005 Posts: 3
| 25 Aug 2005 7:01 Function payo sa C | | |
|
| Kung saan at sa kung ano ang sitwasyon namin ay maaaring gumamit ng function ng mga payo ng C sa embedded?
Maaari isang tao ipaliwanag?
Thanks ..... Cherry |
|
| Bumalik sa tuktok | |
 |
IanP
Joined: 05 Oct 2004 Posts: 6454 Helped: 1535 Lokasyon: West Coast
| 25 Aug 2005 7:24 Re: Function giya sa C | | |
|
| | Quote: | | Mga payo sa mga function ay hindi tulad ng karaniwang bilang ng iba pang mga puntero gumagamit. Gayunman, ang isa ay karaniwang gamitin sa isang padaan mga payo sa isang function bilang isang parameter sa isang function ng tawag. | http://www.cs.cf.ac.uk/Dave/C/node12.html Pagbati, IanP |
|
| Bumalik sa tuktok | |
 |
echo47
Joined: 07 Apr 2002 Posts: 4206 Helped: 566
| 25 Aug 2005 8:13 Function payo sa C | | |
|
| | Ibang karaniwang aplikasyon ay isang callback function. Halimbawa, nais mo ng Windows ang tumawag sa iyong audio recorder function sa bawat oras na natatanggap ng Windows ang ilang mga halimbawa mula sa microphone. Bigyan ka ng Windows ang isang puntero sa iyong audio recorder function. |
|
| Bumalik sa tuktok | |
 |
pagtalo
Joined: 26 Feb 2004 Posts: 489 Helped: 35 Lokasyon: Kubeta upuan
| 25 Agos 2005 13:23 Re: Function giya sa C | | |
|
| Function ng mga payo ay hindi kadalasang ginagamit sa embedded C, mas marami para sa PC side programming. Karaniwang, ito ay isang puntero sa isang function, at depende sa kung saan ang function ng mga puntos sa puntero, maaari mong isagawa ang iba't-ibang mga function na pagsubaybay sa parehong linya ng code.
Isang halimbawa ng paraan ng paggamit nito na ikaw ay mayroong isang array ng function ng mga payo, na puntos sa mensahe handlers, ang bawat isa sa isang iba't ibang mga uri ng mensahe na kung saan ay dinisenyo upang hawakan ang parehong index bilang ang mensahe handler.
Kaya maaari mong tawagin ang isang bagay tulad ng | Code: | fnPtr [msg-> uri] (msg);
| [/ code]
Added: Isang posibleng paggamit ng function ng mga payo sa embedded C, ito ay isang gawain scheduler. |
|
| Bumalik sa tuktok | |
 |
njfane
Joined: 27 Oct 2004 Posts: 15
| 26 Aug 2005 11:00 am Re: Function giya sa C | | |
|
| ito ay isang mahusay na pagpipilian para palitan ang kaso lumipat sa isang estado sa makina gamit ang function puntero, sa kaso ng estado na ang makina ay may masyadong maraming lumipat kaso. ito ay gumagawa ng programa more compact. |
|
| Bumalik sa tuktok | |
 |
Bingo600
Joined: 26 Aug 2004 Posts: 239 Helped: 14
| 27 Agos 2005 14:35 Function payo sa C | | |
|
| Ito ay isang magandang dokument sa paksa
http://www.newty.de/fpt/zip/e_fpt.pdf
http://www.newty.de/fpt/index.html
/ Bingo |
|
| Bumalik sa tuktok | |
 |
Google AdSense

| 27 Agos 2005 14:35 Ads | | |
|
|
|
|
| Bumalik sa tuktok | |
 |
btbass
Joined: 20 Jul 2001 Posts: 1137 Helped: 106 Lokasyon: Oberon
| 10 Sep 2005 15:21 Re: Function giya sa C | | |
|
| Function payo ay lubhang kapaki-pakinabang sa embedded systems. Tulad ng isang streamlined lumipat pahayag. Tunay na kapaki-pakinabang din sa menu ng mga sistema. Saan ang menu item na napili ay ang indeks ng isang functon puntero array.
Halimbawa, ang bawat estado ng function dito ibalik ang susunod na estado upang lumipat sa. Ang kontrolado na code para sa isang buong programa sa isang linya!
| Code: | /*--- Estado makina function. ---*/
UI_16 standby (walang laman); UI_16 simula (walang laman); UI_16 tumakbo (walang laman);
/*--- Estado Machine. ---*/
enum (standby = 0, SIMULA, tumatakbo);
/************************************************* ******************** * Function Pangalan: main * Description: Program entry point. Initialise array function ng tapat na payo. Initialise estado makina sa standby. Pugutan ng ulo estado machine.
************************************************** *******************/
SI_16 pangunahing (walang laman) ( UI_16 (* const Motor_State []) (walang laman) = (standby, simula, pagtakbo); UI_16 Estado = standby;
para sa (;;){ Estado = Motor_State [Estado] (); / * tawag estado function * / ) )
/*--- Dulo ng mga file. ---*/
|
|
|
| Bumalik sa tuktok | |
 |
raj_rohit10
Joined: 14 Jul 2004 Posts: 113 Helped: 1
| 13 Sep 2005 7:19 Re: Function giya sa C | | |
|
| hello ang pinakamabuting paggamit ng function puntero kung ano ako pakiramdam ay ang implimentation ng FSM at bilang na ito ay sinasabi sa erlier 2nd isa ay tumawag sa likod function. |
|
| Bumalik sa tuktok | |
 |
abhishek_elec
Joined: 09 Sep 2005 Posts: 15 Helped: 1 Lokasyon: Pilipinas
| 13 Sep 2005 12:42 Re: Function giya sa C | | |
|
| Function payo ay kapaki-pakinabang kapag u may a generalised pamaraan o algo u at gusto mong gamitin ang proseso na ito sa iba't-ibang uri ng data.
Para sa mga ex., Kung u may a mabuti paghihiwalay algo, at u nais mong gamitin sa parehong algo sa mga numero, alinsunod sa alpabeto, mga string o anumang data pamamahalaan ng ilang paghihiwalay tuntunin. Sa ganitong kaso, u may sa lamang magsulat ng iba't-ibang mga "kumpara sa" function para sa bawat uri ng data at sa pangunahing paghihiwalay algo, u ay ipasa ang mga function puntero bilang isang argument. Sa ganitong paraan, ang parehong algo ay maaaring gamitin sa pamamagitan ng iba't-ibang ppl ayon sa kanilang kailangan. Walang pagbabago ang kailangan sa pangunahing katawan ng algo. |
|
| Bumalik sa tuktok | |
 |
yaseen
Joined: 22 Jan 2006 Posts: 9 Helped: 1
| 27 Aug 2006 9:33 Re: Function giya sa C | | |
|
| Ako ay may currenlty ginamit ang function ng mga payo sa aking C Project, na kung saan ay ang menu driven editor. Ang layunin ng theses payo ay na magsulat ng isang mahusay, kasunduan at ayuno code. Ang aking code saple ay dito;
int Halaga [] = (0x1F00, / / Alt S (^ Setup) 0x1400, / / Alt T (^ putot) 0x1200, / / Alt E (^ Extensions) 0x1800, / / Alt O (^ Operator) 0x2600, / / Alt L (^ Logging) 0x1900, / / Alt P (^ password) 0x2200, / / Alt G (Settin ^ gs) 0x2300 / / Alt H (^ Tulong) );
/ / ------ Mga payo sa pag-andar --------------------------------- magpawalang-bisa (* execute [8 ])();// Main Menu function magpawalang-bisa (* Setup [3 ])();// Menu Item function magpawalang-bisa (* putot [9 ])(); magpawalang-bisa (* Extensions [4 ])(); magpawalang-bisa (* Operator [3 ])(); magpawalang-bisa (* Logging [2 ])(); magpawalang-bisa (* password [3 ])(); magpawalang-bisa (* Mga setting [6 ])(); magpawalang-bisa (* Tulong [10 ])(); //------------------------------------------------ ---------------
pangunahing () ( .... / / Magpasimula funtion mga payo Pugutan ng ulo [0] = ProcessSetup; Pugutan ng ulo [1] = ProcessTrunks; Pugutan ng ulo [2] = ProcessExtensions; Pugutan ng ulo [3] = ProcessOperator; Pugutan ng ulo [4] = ProcessLogging; Pugutan ng ulo [5] = ProcessPasswords; Pugutan ng ulo [6] = ProcessSettings; Pugutan ng ulo [7] = ProcessHelp; ......
/ / Basahin ang keyboard ... i = bioskey (1); kung (i) / / Kung ang keyboard handa ... key = bioskey (0); kung hindi magpatuloy; / / Kung hindi handa keyboard pagkatapos ay magpatuloy nanonood ito
/ / Execute ang menu pinili ng gumagamit para sa (j = 0; j <8; j ) ( kung (susi == Halaga [j]) ( kung (! inProcess) ( inProcess = 1; Pugutan ng ulo [j] (); ) ) kung sino pa ang paririto (susi == 0x2D00) / / Alt X pinindot ... ibig sabihin Tumigil bumalik; ) .......... |
|
| Bumalik sa tuktok | |
 |