Вопросы про структуры, указатели и всякие непонятки в "Си"

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Aneg
Сообщения: 17
Откуда: Украина

Сообщение Aneg » 28 янв 2012, 18:23

Вот в этом "Си" код:

Код: Выделить всё

RCC->CR|=RCC_CR_HSION; //Turn ON HSI
while (!(RCC->CR & RCC_CR_HSIRDY)); //Wait until it's stable

исходя их комментариев понятно:

- что в начале устанавливаем бит RCC_CR_HSION в 1
- потом идет цикл ожидания, пока бит RCC_CR_HSIRDY станет равным 1

Сам алгоритм понятен, но я не могу понять саму эту хитроумную запись. Что означают все эти палочки и стрелочки, каждый в отдельности?

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 28 янв 2012, 18:33

Почитай таки любую книжку по си, в ЛЮБОЙ это расписано.

А по теме:
-> - обратиться по указателю
| - или
! - не
& - и

vens_i
Сообщения: 25
Откуда: Пятигорск

Сообщение vens_i » 17 сен 2012, 09:28

А лучше курс123avr, там в пятом уроке про это подробненько описанно

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 25 сен 2012, 21:57

это не то ли где текст через строку с рекламой?

vens_i
Сообщения: 25
Откуда: Пятигорск

Сообщение vens_i » 23 ноя 2012, 10:54

Да это он. Очень информативен и в тоже время избыточен!

vens_i
Сообщения: 25
Откуда: Пятигорск

Сообщение vens_i » 23 ноя 2012, 10:59

Коллеги а если не составит труда подкиньте реальный код где используются указатели! я лично ими не пользуюсь(от недостатка понимания как это все применить в реальных условиях) вроде как больше гемороя будет от них чем пользы. с теорией я знаком но не откажусь если подкинете ссылок и литературы.
вот тут хорошо написанно мир кода. ру

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 23 ноя 2012, 11:01

Такой пример - в первом посте темы, RCC - это указатель, а -> - обращение по указателю.

vens_i
Сообщения: 25
Откуда: Пятигорск

Сообщение vens_i » 23 ноя 2012, 11:06

Это STMовская библиотечка как ме кажется,

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 23 ноя 2012, 14:47

Ну так одно другому не мешает... У указателей есть своя ниша... К примеру функция принимает в качестве аргумента увесистую структуру... Если еще передавать по значению, то вызов получится неоправданно тяжелым, а передав указатель проблема решается легко и просто... Либо если функция должна возвращать несколько значений разных типов, то вполне логично передать ей указатели на переменные, а она запишет в эти переменные свои значения... И это не все ситуации... И всетаки не познакомиться с теорией, а подружиться имхо будет правильнее... ибо чужой рабочий код врядли будет снабжен разжевывающими комментариями по поводу применения указателей, а без комментариев разобраться обычно не просто...

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 23 ноя 2012, 14:53

Кроме указателей есть ссылки, которые тоже делают увесистый вызов легким, но без сопряженных с указателями проблем. В эмбеде полностью от указателей отказаться практически невозможно, потому, что именно ними адресное пространство привязывается к переменным. Практически потому, что это еще можно сделать директивами линкера, но это - плохой подход.

Vasiliy_Br
Сообщения: 11

Сообщение Vasiliy_Br » 27 сен 2013, 12:11

Всем привет, вот решаю тестики всякие, нужна Ваша помощь. Честное слово гуглил, но что то не нашел.
Какие объявления приведут к ошибке компиляции?
void foo1(int n, int a[]) {} /*1*/
void foo2(int n, int a[*]) {} /*2*/
void foo3(int n, int a[*]); /*3*/
void bar(int a[0]); /*4*/
int a[*] что такое астерикс в квадратных скобках?

пс Новую тему решил не создавать, а это название мне понравилось :)

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 27 сен 2013, 14:03

2 и 3 потому, что * - это оператор и выражение [*] не имеет смысла.

Vasiliy_Br
Сообщения: 11

Сообщение Vasiliy_Br » 27 сен 2013, 14:59

... Я сейчас пасусь вот тут http://www.quizful.net . И вопрос оттуда, вроде правильные варианты 2 , 4. Как раз в обсуждении говорили что [*] допустимо и только в прототипах ф. А я попытался выяснить, что же это такое .

yaachii
На форуме

Сообщения: 20712

Сообщение yaachii » 19 апр 2025, 13:47


yaachii
На форуме

Сообщения: 20712

Сообщение yaachii » 02 май 2025, 14:07

http://audiobookkeeper.ruhttp://cottagenet.ruhttp://eyesvision.ruhttp://eyesvisions.comhttp://factoringfee.ruhttp://filmzones.ruhttp://gadwall.ruhttp://gaffertape.ruhttp://gageboard.ruhttp://gagrule.ruhttp://gallduct.ruhttp://galvanometric.ruhttp://gangforeman.ruhttp://gangwayplatform.ruhttp://garbagechute.ruhttp://gardeningleave.ruhttp://gascautery.ruhttp://gashbucket.ruhttp://gasreturn.ruhttp://gatedsweep.ruhttp://gaugemodel.ruhttp://gaussianfilter.ruhttp://gearpitchdiameter.ru
http://geartreating.ruhttp://generalizedanalysis.ruhttp://generalprovisions.ruhttp://geophysicalprobe.ruhttp://geriatricnurse.ruhttp://getintoaflap.ruhttp://getthebounce.ruhttp://habeascorpus.ruhttp://habituate.ruhttp://hackedbolt.ruhttp://hackworker.ruhttp://hadronicannihilation.ruhttp://haemagglutinin.ruhttp://hailsquall.ruhttp://hairysphere.ruhttp://halforderfringe.ruhttp://halfsiblings.ruhttp://hallofresidence.ruhttp://haltstate.ruhttp://handcoding.ruhttp://handportedhead.ruhttp://handradar.ruhttp://handsfreetelephone.ru
http://hangonpart.ruhttp://haphazardwinding.ruhttp://hardalloyteeth.ruhttp://hardasiron.ruhttp://hardenedconcrete.ruhttp://harmonicinteraction.ruhttp://hartlaubgoose.ruhttp://hatchholddown.ruhttp://haveafinetime.ruhttp://hazardousatmosphere.ruhttp://headregulator.ruhttp://heartofgold.ruhttp://heatageingresistance.ruhttp://heatinggas.ruhttp://heavydutymetalcutting.ruhttp://jacketedwall.ruhttp://japanesecedar.ruhttp://jibtypecrane.ruhttp://jobabandonment.ruhttp://jobstress.ruhttp://jogformation.ruhttp://jointcapsule.ruhttp://jointsealingmaterial.ru
http://journallubricator.ruhttp://juicecatcher.ruhttp://junctionofchannels.ruhttp://justiciablehomicide.ruhttp://juxtapositiontwin.ruhttp://kaposidisease.ruhttp://keepagoodoffing.ruhttp://keepsmthinhand.ruhttp://kentishglory.ruhttp://kerbweight.ruhttp://kerrrotation.ruhttp://keymanassurance.ruhttp://keyserum.ruhttp://kickplate.ruhttp://killthefattedcalf.ruhttp://kilowattsecond.ruhttp://kingweakfish.ruhttp://kinozones.ruhttp://kleinbottle.ruhttp://kneejoint.ruhttp://knifesethouse.ruhttp://knockonatom.ruhttp://knowledgestate.ru
http://kondoferromagnet.ruhttp://labeledgraph.ruhttp://laborracket.ruhttp://labourearnings.ruhttp://labourleasing.ruhttp://laburnumtree.ruhttp://lacingcourse.ruhttp://lacrimalpoint.ruhttp://lactogenicfactor.ruhttp://lacunarycoefficient.ruhttp://ladletreatediron.ruhttp://laggingload.ruhttp://laissezaller.ruhttp://lambdatransition.ruhttp://laminatedmaterial.ruhttp://lammasshoot.ruhttp://lamphouse.ruhttp://lancecorporal.ruhttp://lancingdie.ruhttp://landingdoor.ruhttp://landmarksensor.ruhttp://landreform.ruhttp://landuseratio.ru
http://languagelaboratory.ruhttp://largeheart.ruhttp://lasercalibration.ruhttp://laserlens.ruhttp://laserpulse.ruhttp://laterevent.ruhttp://latrinesergeant.ruhttp://layabout.ruhttp://leadcoating.ruhttp://leadingfirm.ruhttp://learningcurve.ruhttp://leaveword.ruhttp://machinesensible.ruhttp://magneticequator.ruhttp://magnetotelluricfield.ruhttp://mailinghouse.ruhttp://majorconcern.ruhttp://mammasdarling.ruhttp://managerialstaff.ruhttp://manipulatinghand.ruhttp://manualchoke.ruhttp://medinfobooks.ruhttp://mp3lists.ru
http://nameresolution.ruhttp://naphtheneseries.ruhttp://narrowmouthed.ruhttp://nationalcensus.ruhttp://naturalfunctor.ruhttp://navelseed.ruhttp://neatplaster.ruhttp://necroticcaries.ruhttp://negativefibration.ruhttp://neighbouringrights.ruhttp://objectmodule.ruhttp://observationballoon.ruhttp://obstructivepatent.ruhttp://oceanmining.ruhttp://octupolephonon.ruhttp://offlinesystem.ruhttp://offsetholder.ruhttp://olibanumresinoid.ruhttp://onesticket.ruhttp://packedspheres.ruhttp://pagingterminal.ruhttp://palatinebones.ruhttp://palmberry.ru
http://papercoating.ruhttp://paraconvexgroup.ruhttp://parasolmonoplane.ruhttp://parkingbrake.ruhttp://partfamily.ruhttp://partialmajorant.ruhttp://quadrupleworm.ruhttp://qualitybooster.ruhttp://quasimoney.ruhttp://quenchedspark.ruhttp://quodrecuperet.ruhttp://rabbetledge.ruhttp://radialchaser.ruhttp://radiationestimator.ruhttp://railwaybridge.ruhttp://randomcoloration.ruhttp://rapidgrowth.ruhttp://rattlesnakemaster.ruhttp://reachthroughregion.ruhttp://readingmagnifier.ruhttp://rearchain.ruhttp://recessioncone.ruhttp://recordedassignment.ru
http://rectifiersubstation.ruhttp://redemptionvalue.ruhttp://reducingflange.ruhttp://referenceantigen.ruhttp://regeneratedprotein.ruhttp://reinvestmentplan.ruhttp://safedrilling.ruhttp://sagprofile.ruhttp://salestypelease.ruhttp://samplinginterval.ruhttp://satellitehydrology.ruhttp://scarcecommodity.ruhttp://scrapermat.ruhttp://screwingunit.ruhttp://seawaterpump.ruhttp://secondaryblock.ruhttp://secularclergy.ruhttp://seismicefficiency.ruhttp://selectivediffuser.ruhttp://semiasphalticflux.ruhttp://semifinishmachining.ruhttp://spicetrade.ruhttp://spysale.ru
http://stungun.ruhttp://tacticaldiameter.ruhttp://tailstockcenter.ruhttp://tamecurve.ruhttp://tapecorrection.ruhttp://tappingchuck.ruhttp://taskreasoning.ruhttp://technicalgrade.ruhttp://telangiectaticlipoma.ruhttp://telescopicdamper.ruhttp://temperateclimate.ruhttp://temperedmeasure.ruhttp://tenementbuilding.rutuchkashttp://ultramaficrock.ruhttp://ultraviolettesting.ru

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей