Easyelectronics.ru

Электроника для всех
Текущее время: 16 авг 2022, 20:59

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка при конфигурации порта
СообщениеДобавлено: 25 июн 2021, 16:36 
Здравствуйте!

Зарегистрирован: 25 июн 2021, 16:06
Сообщения: 2
Здравствуйте. Подскажите, пожалуйста, с решением проблемы.
Использую МК STM8S003K3, IDE IAR for STM8 (v3.11.1), отладчик ST-Link V2 (китайский свисток)

Код конфигурации PORTC на SPL
Код:
GPIO_DeInit(GPIOC);
GPIO_Init(GPIOC, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);

На ноге PC3 находится один из катодов LED-семисегментника.
На порте С ничего белее не разведено, кроме 3-х катодов для 3-x семисегментников.

При выполнении данного кода из отладчика, а именно, когда доходим до выставления значения на регистре DDR в функции GPIO_Init
Код:
/* Set Output mode */
GPIOx->DDR |= (uint8_t)GPIO_Pin;

Show void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode)

Вылетает критическая ошибка "Flash memory not accessible while core is running" и МК по SWIM перестает отвечать (SWIM Error - comm timeout).

Подкажите, в чем возможна проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при конфигурации порта
СообщениеДобавлено: 25 июн 2021, 16:39 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2014, 18:09
Сообщения: 750
Откуда: Мать городов Русских
Прочитай в отладчике, какое значение приходит в переменной GPIOx и номер пина. Может ты конфигурируешь SWIM пин?
Вообще-то использовать хал в STM8 как-то неловко, чтоли. Там GPIO регистров всего два.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при конфигурации порта
СообщениеДобавлено: 25 июн 2021, 17:00 
Здравствуйте!

Зарегистрирован: 25 июн 2021, 16:06
Сообщения: 2
SOVA писал(а):
Прочитай в отладчике, какое значение приходит в переменной GPIOx и номер пина. Может ты конфигурируешь SWIM пин?
Вообще-то использовать хал в STM8 как-то неловко, чтоли. Там GPIO регистров всего два.

Спасибо за ответ.
SWIM на PD1.
При трассировке программы и в момент перехода в функцию GPIO_Init формальные параметры верные:
GPIOx = GPIOC (адресс 0x500A - соответствует данным из datasheet)
GPIO_Pin = 0x08 (3-й бит)

Если не использовать SPL функции, то возникает такая же ситуация при обращении и записи в регистр DDR.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 


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


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

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


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB