Jump to content
kuzalex2010

Помогите помигать светодиодом

Recommended Posts

Здравствуйте.

Есть плата на базе stm32f103vdh6. Скажем даже несколько. На одной из них выпаял контроллер и прозвонил кварцы, usb, контакты для st-link и сведотиод. Попробывал в CubeIde просто создать проект с usb соединением. Не вышло. Тогда решил хоть светодиодом мигнуть. И тут беда.

Создаю проект, выбираю модель, подключаю кварцы 8Mhz и 32Khz, RCC-HSE, RCC-LSE.

Пин PE15 висит на светодиоде, обозначаю его как output.

Генерирую код. 

Вставляю 2 строчки кода:

HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);

                HAL_Delay(500);

Делаю Build all и прошиваю.

Светодиод не мигает

В чем причина? Может перед генерацией кода нужно как-то Clock выставить?

Помогите чайнику

Share this post


Link to post
Share on other sites
Posted (edited)

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

1. RCC->APB2ENR = RCC_APB2ENR_AFIOEN | RCC_APB2ENR_IOPEEN;  // включили тактирование порта Е

2. GPIOE->CRH = (GPIOE->CRH & ~(GPIO_CRH_CNF15 | GPIO_CRH_MODE15)) | GPIO_CRH_MODE15;  // PE15 настроили как General purpose output push-pull, max speed 50 MHz.

Еще возможно он мигает но слишком быстро, попробуйте выполнить пошаговую отладку в основном цикле.

Edited by MasterElectric

Share this post


Link to post
Share on other sites
Posted (edited)

cmsis.Куб?.И лучше всего в прерівании по иаймеру.

Хал .Лучше LL.

20.06.2021 в 16:30, kuzalex2010 сказал:

/////////////

Прошиваете через usb?.swio лучше

Edited by Falconist
Оверквотинг

Share this post


Link to post
Share on other sites

Популярные пружинные клеммники Degson со склада Компэл

Пружинные разъемные клеммники Degson с технологией Push-In обеспечивают надежное и безопасное электрическое соединение. При их использовании исключается возможность короткого замыкания в точке контакта, что гарантирует надежное соединение. Электрическая безопасность клеммных блоков подтверждается соответствием мировым стандартам UL, IEC и VDE.
Подробнее

Posted (edited)
21.06.2021 в 21:41, MasterElectric сказал:

///////////////////

Привет.

Отказался от куба. Написал код в IAR, подключил библиотеки cmsis. Вот код:

#include "stm32f1xx.h"

int ClockInit(void)

{

  __IO int StartUpCounter;

    RCC->CR |= (1<<RCC_CR_HSEON_Pos);

     for(StartUpCounter=0; ; StartUpCounter++)

  {

    if(RCC->CR & (1<<RCC_CR_HSERDY_Pos))

      break;

       if(StartUpCounter > 0x1000)

    {

      RCC->CR &= ~(1<<RCC_CR_HSEON_Pos);

      return 1;

    }

  }

    RCC->CFGR |= (0x07<<RCC_CFGR_PLLMULL_Pos)

            | (0x01<<RCC_CFGR_PLLSRC_Pos);

   RCC->CR |= (1<<RCC_CR_PLLON_Pos);

   for(StartUpCounter=0; ; StartUpCounter++)

  {

   if(RCC->CR & (1<<RCC_CR_PLLRDY_Pos))

      break;

        if(StartUpCounter > 0x1000)

    {

      RCC->CR &= ~(1<<RCC_CR_HSEON_Pos);

      RCC->CR &= ~(1<<RCC_CR_PLLON_Pos);

      return 2;

    }

  }

  FLASH->ACR |= (0x02<<FLASH_ACR_LATENCY_Pos); 

    RCC->CFGR |= (0x00<<RCC_CFGR_PPRE2_Pos)

            | (0x04<<RCC_CFGR_PPRE1_Pos)

            | (0x00<<RCC_CFGR_HPRE_Pos);

    RCC->CFGR |= (0x02<<RCC_CFGR_SW_Pos);

    while((RCC->CFGR & RCC_CFGR_SWS_Msk) != (0x02<<RCC_CFGR_SWS_Pos))

  {

  }

    RCC->CR &= ~(1<<RCC_CR_HSION_Pos);

    return 0;

}

void PortInit(void)

{

  RCC->APB2ENR |= RCC_APB2ENR_IOPEEN;

  GPIOE->CRH &= ~(GPIO_CRH_MODE15 | GPIO_CRH_CNF15);

    GPIOE->CRH |= (0x02 << GPIO_CRH_MODE15_Pos) | (0x00 << GPIO_CRH_CNF15_Pos);

}

void PortSetHi(void)

{

  GPIOE->ODR |= (1<<15);

}

void PortSetLow(void)

{

  GPIOE->ODR &= ~(1<<15);

}

void main()

{

  int i;

  ClockInit();

  PortInit();

   for(;;)

  {

    PortSetHi();

    for(i=0; i<0x40000; i++)

      ;

    PortSetLow();

    for(i=0; i<0x40000; i++)

      ;

  }

}

Не мигает. Изменил процедуру инициализации порта на вашу версию.

void PortInit(void)
{
  RCC->APB2ENR = RCC_APB2ENR_AFIOEN | RCC_APB2ENR_IOPEEN;
  GPIOE->CRH = (GPIOE->CRH &~ (GPIO_CRH_CNF15 | GPIO_CRH_MODE15)) | GPIO_CRH_MODE15;
}

Ничего. Наверное, надо сдаваться

 

21.06.2021 в 22:35, Ivan Rusev сказал:

//////////////

Прошиваю st-link. К компьютеру usb, к плате контакты swd

Edited by Falconist
Оверквотинг

Share this post


Link to post
Share on other sites

Приглашаем на вебинар "Как сделать эффективную антенну для устройств IoT. Решения Quectel" (29.07.2021)

Вебинар посвящен проектированию и интеграции встроенных и внешних антенн Quectel для сотовых модемов, устройств навигации и передачи данных 2,4 ГГц. На вебинаре вы познакомитесь с продуктовой линейкой и способами решения проблем проектирования. В программе: выбор типа антенны; ключевые проблемы, влияющие на эффективность работы антенны; требования к сертификации ОТА; практическое измерение параметров антенн.

Подробнее

Сдаваться не надо. Контроллер всегда запускается на внутреннем генераторе, поэтому уберите ClockInit(). Запустите отладчик (Debug) и в пошаговом режиме посмотрите, что выполняется.

В режиме отладки можно посмотреть все регистры. Задержка у вас стоит очень маленькая, 40000 при частоте 8 МГц это около 5 мС. В режиме отладки видно без светодиода, что выход изменяет состояние.

Сам пишу в Кейле поэтому по IAR подсказать не смогу.

Share this post


Link to post
Share on other sites

Решения TE Connectivity для 112 Gbps архитектуры и серверов. Перспективные решения для серверов и дата-центров

В статье дается полный обзор серий высокоскоростных разъемов IMPACT и Z-PACK, соединителей SFP- QSFP и Mini-SAS, а также разъемов и кабельных сборок для организации питания. Раскрываются преимущества и отличительные особенности данных серий высокоскоростных разъемов и области их применения.
Подробнее

Posted (edited)

В Coocoxe  должно всё запустится с пол оборота. Правда он этот кокс "тормоз"- забросили его китайцы. Но ,для чайников он самый раз. Постепенно распилите. В нём есть примеры рабочие. Запустите и посмотрите на код. Я сам чайник. Просто интересуюсь очень многими вещами.И STM и инверторы, и всякие Тесла с качерами. (Плюс орехи с пчёлами)на всё времени не хватает. Если хотите стать профи в STM32 надо "нырнуть" только в них. По- другому не получится. Знаю по себе.

Попробуйте на регистрах. Самый простой путь. В камне нет Хала с CMSIS  и указателей. И код не получается больше. Это выдумали чтобы удобно смотреть чужой код.Проверить и с умным видом указать новичку: "Вам сначала надо С выучить". От этого новичок падает в  ступор . Ему надо добавить к прибору индикацию ,интерфейс и др., он умеет паять усилители, генераторы,радиостанции. А его заставляют учить С и С++. Подключить рабочий простой проект,там уже дефайнов и инклюдов накидано, а потом  добавить свой на регистрах запилить камень и забить на С с С++++сом.

Edited by Shalfey

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...

  • Сообщения

    • Вы естественно сможете нам это доказать ? По вашему что такое ЭФИР ?
    • А чем эта схема у Ланзара отличается от любого другого усилителя?
    • Идеальное сочетание плохой схемотехники и транзисторов Для таких простых усилков надо более скоростные,(или менее ёмкостные)  и более линейные транзисторы применять  
    • И что с этими градусами делать. Их на хлеб не намажешь (в смысле мощности не добавится). Разве что надежность увеличится.
    • Нужные опции выбираете мышкой из строчки "Файл > Экспорт". По умолчанию не будет. Но я бы рекомендовал не *.jpg, а *.gif. Более четкие контуры, а не размытые, как в *.jpg + меньший размер. Тем более, что графика схем всего-навсего двухцветная. 
    • Каким образом она скрепляет ?  Кто-то из тут присутствующих является выгодополучателем  ?  С другой стороны, кто-то из тут присутствующих верил что дочка Пескова живёт в грязном бараке ?   На видео это скорее пример лицемерия, лицемеры рассказывают о том что Европа гниёт, что там ужас, ужас, а сами туда едут,  умный и так всё это знает, а дурака переубедить  не реально.   @Andrey 69 Что известно об адмирале Леониде Лобанове, чью семью жестоко убили в Санкт-Петербурге Очередная шокирующая история из Санкт-Петербурга: зверски убита семья заслуженного офицера. Рассказываем, что известно о найденном мертвым адмирале Леониде Лобанове Санкт-Петербург вновь прогремел на всю страну громким убийством в приличной с виду семье. На этот раз одним из возможных подозреваемых в кровавой бойне в своей квартире доме стал заслуженный офицер, 86-летний контр-адмирал Леонид Лобанов. Следователи нашли в квартире подводника тела его 84-летней супруги Нэлли и 56-летнего сына Максима. Родственники были убиты настолько жестоко, что первое, что приходит на ум - орудовал маньяк. От ударов ножом на трупах не было живого места. Самого Леонида Лобанова также нашли мертвым, но на железнодорожных путях в нескольких километрах от дома. Предварительно, офицер в отставке покончил с собой. Убил ли своих родных именно адмирал, сейчас выясняет следствие. "КП-Петербург" рассказывает, что известно об адмирале Леониде Лобанове. Читайте на WWW.SPB.KP.RU: https://www.spb.kp.ru/daily/28308/4449932/ Только какое отношение это имеет к политике ? В этой истории политики нет, тут есть психопат. 
×
×
  • Create New...