Например TDA7294

Форум РадиоКот • Просмотр темы - STM32G031J6 помогите откачать-)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 23, 2024 14:59:08

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: STM32G031J6 помогите откачать-)
СообщениеДобавлено: Пн янв 04, 2021 18:08:43 
Первый раз сказал Мяу!

Зарегистрирован: Вт фев 04, 2020 12:28:50
Сообщений: 26
Рейтинг сообщения: 0
Всем привет!
Пытаюсь изучать контроллер. У него нога сброса совмещена с портами. Хотел, поставить ее в режим сброса по умолчанию. Для этого из примеров от Куба взял код, ниже, запустил его, после перезагрузки контроллер перестал видеться СТ-линком. При подключении СТ-линка к компу появляется файл FAIL.TXT с описанием ошибки The interface firmware FAILED to reset/halt the target MCU
Для опытов использую плату STM32G0316-DISCO
Пробовал подключаться по УСАРТУ, boot0 через резистор 10к подтягивал к плюсу, но видимо что-то не так делаю, не получается. Может усарт не туда подключаю.
Уже 2 контроллера в таком состоянии-)

Код:
/**
  * @brief  Set demo sub-mode
  * @param  SubMode select one of 2 different demo modes.
  *         This parameter can be one of the following values:
  *           @arg @ref SUBDEMO_MODE_GPIO
  *           @arg @ref SUBDEMO_MODE_NRST
  *         Target will reboot with option byte reset reason
  * @retval None
  */
static void SetDemoMode(DemoMode_t DemoMode)
{
  uint32_t nrstmode;

  /* Enable Flash access anyway */
  __HAL_RCC_FLASH_CLK_ENABLE();

  /* Unlock flash */
  FLASH->KEYR = FLASH_KEY1;
  FLASH->KEYR = FLASH_KEY2;
  while((FLASH->CR & FLASH_CR_LOCK) != 0x00);

  /* unlock option byte registers */
  FLASH->OPTKEYR = 0x08192A3B;
  FLASH->OPTKEYR = 0x4C5D6E7F;
  while((FLASH->CR & FLASH_CR_OPTLOCK) == FLASH_CR_OPTLOCK);

  /* get current user option bytes */
  nrstmode = (FLASH->OPTR & ~FLASH_OPTR_NRST_MODE);
  /* Select sub demo mode */
  if(DemoMode == DEMO_MODE_GPIO)
  {
    nrstmode |= OB_RESET_MODE_GPIO;
  }
  else
  {
    nrstmode |= OB_RESET_MODE_INPUT_OUTPUT;
  }

  /* Program option bytes */
  FLASH->OPTR = nrstmode;

  /* Write operation */
  FLASH->CR |= FLASH_CR_OPTSTRT;
  while((FLASH->SR & FLASH_SR_BSY1) != 0);

  /* Force OB Load */
  FLASH->CR |= FLASH_CR_OBL_LAUNCH;

  //while(1);
}


Вложения:
Screenshot_14.jpg [56.11 KiB]
Скачиваний: 109
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y