Jump to content
Sign in to follow this  
Guest Евгений

Ошибка при подключении пина кнопки

Recommended Posts

Guest Евгений

Начал учить микроконтроллеры семейства stm32, хочу подключить кнопку и по нажатию зажигать диод.

Пишу программу на Coocox , зажег диоды, теперь нужно кнопку объявить, но выдает ошибку.

Вот код: 

void initbutton()
{
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  GPIO_InitTypeDef gpioC;
  GPIO_StructInit(&gpioC);
    gpioC.GPIO_Pin = GPIO_Pin_0;
    gpioC.GPIO_Mode = GPIO_Mode_IN;
   GPIO_Init(GPIOA, &gpioC);


}

а вот такую ошибку выдает:  

       [cc] C:\CooCox\CoIDE\workspace\LED_ON_1\main.c: In function 'initbutton':
       [cc] C:\CooCox\CoIDE\workspace\LED_ON_1\main.c:53:26: error: 'RCC_APB2Periph_GPIOA' undeclared (first use in this function)
       [cc]    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
       [cc]                           ^
       [cc] C:\CooCox\CoIDE\workspace\LED_ON_1\main.c:53:26: note: each undeclared identifier is reported only once for each function it appears in

Буду благодарен за помощь!

Share this post


Link to post
Share on other sites

какая-то библиотека не подгружена.

Вместо RCC_APB2Periph_GPIOA попробуй указать 0x00000004.

stm32f***_rcc.h включён? В его дефайнах должен быть определен литерал RCC_APB2Periph_GPIOA.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • Простые схемы для защита  аккумулятора от переразряда. https://www.electronicsforu.com/electronics-projects/hardware-diy/smart-battery-protector-shunt-regulator http://www.next.gr/security/Battery-over-discharge-protection-circuit-diagram-l59637.html
    • Всё заработало должным образом, спасибо еще раз. Ваш вариант к сожалению оказался нерабочим, при таком подключении светодиода схема защиты не работает.
    • темы подходяшей - не нашел - открыл - чтоб закрыть для себя вопрос и возможно кому пригодится - тем кто так же как и я - жадничает на нормальный прибор)  но не суть , вопрос - простой - прошу помощи знаюших людей - как измерить -Правильно - катушку осцилографом , на фото осцилограмма с генератора http://www.radioradar.net/radiofan/measuring_technics/definition_current_saturation_coils_inductance.html по этой схеме . терь - по известной формуле мы можем расчитать индуктивность - но - я гдет допускаю ошибку - проверьте !  и так формула - L=U*t/I   где U - напряжение питания  t - длительность импульса  I- ток катушки   от суда выясняем ток - закон дяди Ома - макс напряжение 720 мВ - шунт у меня 0.22 Ома = 0.72/0.22=3.27A  далее - 14.9(питание)*0.28(мкс - пик тока катушки ) /3.27 = 1.275 ...и вот здесь я возможно ошибся  поправте - где ошибаюсь ?
    • Мы прекрасно знаем о искрения возникающем при замыкании и размыкании контактов реле. Немного полезной информации для начинающих и не только ( есть формулы расчёта и номограмма ). Меры по защите контактов реле от повреждения дуговыми разрядами.rar
    • Отключаем нагрузку на плате и смотрим напряжение на выходе БП. Желательно чем нибудь слабым нагрузить.  
    • Че вы аудиофилы такие злые?
    • Наверно мне бы стоило в вопросах для начинающих задать этот вопрос, но с другой стороны у меня уже это все давно работает, хоть я не знаю как))) Среда MicroC Pro У меня МК PIC16F1847 с кварцем 20Mhz, к нему подключен по SPI MCP2510 с кварцем 8Mhz а к нему MCP2551 Вот у меня в коде что то вроде стандартной конфигурации CAN SPI void CANinit(void){ Can_Init_Flags = 0; Can_Send_Flags = 0; // clear flags Can_Rcv_Flags = 0; // Can_Send_Flags = _CANSPI_TX_PRIORITY_0 & // form value to be used _CANSPI_TX_STD_FRAME & // with CANSPIWrite _CANSPI_TX_NO_RTR_FRAME; Can_Init_Flags = _CANSPI_CONFIG_SAMPLE_THRICE & // Form value to be used _CANSPI_CONFIG_PHSEG2_PRG_ON & // with CANSPIInit _CANSPI_CONFIG_STD_MSG & _CANSPI_CONFIG_DBL_BUFFER_ON & _CANSPI_CONFIG_VALID_STD_MSG; //SPI1_Init(); // initialize SPI1 module CANSPIInitialize(1,1,3,3,1,Can_Init_Flags); // Initialize external CANSPI module CANSPISetOperationMode(_CANSPI_MODE_CONFIG,0xFF); // set CONFIGURATION mode CANSPISetMask(_CANSPI_MASK_B1,-1,_CANSPI_CONFIG_STD_MSG); // set all mask1 bits to ones CANSPISetMask(_CANSPI_MASK_B2,-1,_CANSPI_CONFIG_STD_MSG); // set all mask2 bits to ones CANSPISetFilter(_CANSPI_FILTER_B2_F3,ID_1st,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B2_F4,ID_2nd,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B1_F2,ID_3rd,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B2_F1,ID_4th,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetOperationMode(_CANSPI_MODE_NORMAL,0xFF); } Не очень уже помню как и где это настраивается, но скорость работы у меня 500 000 байт в секунду вроде, ну или какие там единицы. Не хочу перегружать вопрос кучей кода поэтому буду вырезать главное чтобы было читабельно. В основном юзаю отправку например вот:   zaderzka=180; //величина задержки 9765 это 1 сек. 190 задержка это 0.019сек zaderzka_flag=1; if (i>zaderzka) { CANSPIWrite(ID_512, RxTx_Data512, 8, Can_Send_Flags); RxTx_Data512[5]++;//счетчик от 00 до FF } Вопросы и проблемы: 1. я формирую задержку таймером, который запускаю флагом в коде, и я эту задержку использую для отправки в SPI шину, там проходит время по посылке в SPI и тд, поэтому тайминг отправки CAN не точный и плавает. А мне надо чтобы непосредственно MCP2510 слал мой пакет в шину с определенным таймингом как это сделать? 2. в шине есть еще устройства, они тоже шлют в шину пакеты со своим таймингом. Вообщем иногда я вижу очень редко пакеты встречаются, но контроллер MCP2510 вроде как рулит чтобы не было нахлеста. По идее хорошо бы чтобы каждое устройство попадало в свой тайминг, но я не могу выдержать отправку раз в 20мсек. у меня плавает туда сюда то 25 то 22 то 26 и тд, и поэтому встречаются места там где пересекаются пакеты и как я вижу по счетчикам, один пакет у меня просто теряется, а другой пакет который я шлю почему то шлется два три раза подряд, именно MCP2510 так как счетчик без изменений то-есть программа не сделала цикла. 3. Как вообще настраивается прием сообщений? как я понял настройкой фильтров типо этого:  CANSPISetFilter(_CANSPI_FILTER_B2_F1,ID_4th,_CANSPI_CONFIG_STD_MSG); Тоесть я правильно понимаю что всего там ограниченное количество фильтров которое я могу использовать на прием?

  • Драйвер для светодиодной ленты на радиоуправлении

  • Similar Content

    • By FOX4204712
      Нужен ключ без фиксации, БП ноутбука напряжение 19.5 Вольт 4.5 А, нужна коммутация через транзистор или тиристор, через кнопку (напольную педаль) чтобы при отпускании кнопки затвор был закрыт, в роли нагрузки ТАТУ машинка, потребляет 3.5А
      Желательно чтобы работало от одного БП. ((обычное реле и кнопка дает сильные просадки))
      Помогите пожалуйста, не могу сообразить.

    • By intercoder
      Добрый день. Есть вот такой прибор - выключатель XLR микрофона. Нажимаешь кнопку - звук идёт, ещё раз нажимаешь - перестаёт. Есть 2 проблемы.
      1. Кнопка щёлкает очень громко и этот звук попадает на запись
      2. Нажимать не очень удобно, она тугая, маленькая а переключать приходится очень часто
      Я хочу поменять кнопку на тумблер (рычажок), чтобы легко переключать, проводя ладонью над лежащим на столе прибором. Важно чтобы у него был как можно более мягкий и тихий (бесшумный) ход. Сходил в наш местный радиомагазин, поглядел тумблеры - они все тугие и щелкают достаточно громко. Подскажите, пожалуйста, модель тихого тумблера на 2 контактные группы.
       

    • By Evgeniy90
      Здравствуйте. Проблема такая:после прошивки USBASP ноутбук перестал его определять. Ошибка в диспетчере устройств:сбой запроса дескриптора USB устройства.
      Прошивал через Arduino UNO и avrdude. Прошивку скачать с офф сайта(последнюю на сайте https://www.fischl.de/usbasp/). Все прошло успешно. Почти))
      Подскажите что можно сделать? 
    • Guest Сергей
      By Guest Сергей
      Добрый день. Обращаюсь с просьбой помочь определить название кнопки левой и правой кнопки компьютерной мыши Microsoft Arc Mouse. Мышка очень понравилась, уже 10 лет пользуюсь. Но есть большая проблема - через некоторое время начинает плохо срабатывать левая кнопка мыши (срабатывает через раз или нужно сильнее нажимать). Мне приходится разбирать мышь и кнопку, протирать там всё спиртом, хватает примерно на месяц. Даже уже менял с правой кнопкой. В общем решил заказать на алиэкспрессе эти кнопки, но по тем комплектам кнопок, которые там продаются, нужных мне нет. А по названию кнопки искать не могу, т.к. его я не знаю.
      На фото кнопка в собранном и разобранном виде. Может кто узнает её.



    • By Lil Sandwich
      Здравствуйте, столкнулся с проблемой блока питания от маяка-233. Достался отдельно от всего магнитофона, в нем выпаяна кнопка включения. 
      В данный момент есть идея использовать этот БП в другом усилителе, но наугад подключать трансформатор страшно. Если у кого-то есть возможность пояснить принцип подключения, прошу помочь.
×
×
  • Create New...