Passing norādes uz to tukšumu, kas nestrādā

T

tebron

Guest
Sveiki, es vēlētos iesniegt savu jautājumu jums ekspertiem c, jo es esmu iesācējs, un es nezinu, kā atrisināt problēmu. Man ir funkcija, kas notiek kā parametru rādītāju uz tukšumu, man ir jāiziet vērtību viens vai nulle, lai ieslēgtu vai izslēgtu rezultātā. Es mēģināju zemāk redzamo kodu, bet, pat ja kompilators ir bez kļūdām, patiesībā ir mainīgo vērtību noasiņoja paliek vienmēr ir nulle. Vai jūs varētu man nekādas norādes, kā rīkoties ar rutīnas? Liels paldies. galvenais (spēkā neesošs) {while (1) {TaskLedUno ((BOOL *) 1);}} par spēkā neesošu TaskLedUno (spēkā neesošs * pFlagLed) {BOOL notecinātas, / / kamēr (1) {notecinātas =* (BOOL *) pFlagLed; pLED_1 ( asinis);}}
 
Jūsu problēma izriet no garām rādītāju uz gramatisko, lielākā daļa kompilatori apkopo kodu bez kļūdām, tomēr atkarībā no OS, ja tāds ir, mest piekļuves pārkāpuma pēc kārtas. Izmēģiniet šo kodu vietā ir:
Code:
 galvenais (spēkā neesošs) {BOOL karogs = (BOOL) 1 / / vai / / BOOL karogs = TRUE; / / ja tā ir definēta, bet (1) {TaskLedUno (un karogu);}} par spēkā neesošu TaskLedUno ( spēkā neesošs * pFlagLed) {BOOL notecinātas, / / kamēr (1) {notecinātas =* (BOOL *) pFlagLed; pLED_1 (asinis);}}
kods iepriekš sastāda un darbojas bez kļūdām un rada vēlamo rezultātu. Ciao
 
Hi, Vai ir veids, kā nodot vērtību 1 vai 0, nekārtojot mainīgo?
 
Jā, nodot to pēc vērtības, nevis atsauces.
Code:
 galvenais (spēkā neesošs) {while (1) {TaskLedUno ((BOOL) 1) / / vai / / TaskLedUno (TRUE);}} par spēkā neesošu TaskLedUno (BOOL FlagLed) {BOOL notecinātas, / / kamēr (1) { notecinātas = FlagLed; pLED_1 (asinis);}}
Ja jūs mēģināt iet adresi, pastāvīgu vai gramatisko, "& (BOOL) 1," lielākā daļa kompilatori, kas palaida garām izdevību. Bez tam, kāds ir, kam ikdienas punktu, "par spēkā neesošu TaskLedUno (spēkā neesošs * pFlagLed)," ja jūs gatavojas piespiest statiskos apstākļos jūsu faktiskais kods? Jūs varētu arī definēt divus rutīnu, "par spēkā neesošu LedOn (spēkā neesošs)" un "par spēkā neesošu LedOff (spēkā neesošs)." Hope info palīdz. Ciao
 
Kāpēc ne tikai padarītu to vienkāršāku? spēkā neesošu TaskLEDUno (Bool On); Ja jūs vēlaties ieslēgt LED, zvaniet TaskLEDUno (1), un, lai izslēgtu LED, zvaniet TaskLEDUno (0).
 
Kāpēc ne tikai padarīt to vienkāršāku? spēkā neesošu TaskLEDUno (Bool On); Ja jūs vēlaties ieslēgt LED, zvaniet TaskLEDUno (1), un, lai izslēgtu LED, zvaniet TaskLEDUno (0)
Jā.. Ar vērtību, piemēram pass es ievietojis iepriekš, atsauces post # 4, ir tieši tā funkcija. Bet, lai uzzinātu pareizo SkyHigh, Tebron programma nepierāda, jālieto ļoti piesardzīgi "par spēkā neesošu *." Tomēr, nezinot Tebron nākotnes plānus "par spēkā neesošu TaskLedUno (spēkā neesošs * pFlagLed)" rutīnas, es biju gatavojas aizkavēt manu spriedumu attiecībā uz tādu "par spēkā neesošu *." Jo lielāks shēma lietām, ja Tebron bija vēlāk pāriet "par spēkā neesošu TaskLedUno (spēkā neesošs * pFlagLed)", kā funkcija rādītāju citā rutīnas, tad tā būtu jēga.
 

Welcome to EDABoard.com

Sponsor

Back
Top