реклама на сайте
подробности

 
 
> STM32 проблема: запись в EEPROM и USB
Паф
сообщение Jun 4 2013, 12:28
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-02-08
Из: Тула
Пользователь №: 35 244



Добрый день!

МК STM32L152, IAR6.5
Работаю с EEPROM вроде бы правильно: функция записи в EEPROM, таблица векторов прерываний и обработчик критического прерывания в RAM(ну и вызываемые функции соответственно тоже). Перед записью в EEPROM запрещаю прерывания кроме критического. Работает без проблем. Осциллографом контролирую работу критического прерывания.
Затем подключаю STM32F10x, STM32L1xx and STM32F3xx USB-FS-Device Driver Virtual COM port. Вижу, что программа залипает на время доступа к EEPROM(критическое прерывание не вызывается). USB прерывания запрещаю перед записью в EEPROM - проверил. Никакой передачи данных по VCP со стороны хоста и МК не делаю. Т.е. кто-то пытается доступиться до FLASH, если я правильно понимаю.
Кто-нибудь сталкивался с подобным поведением или что-то я делаю не так? Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Паф
сообщение Jun 6 2013, 07:38
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-02-08
Из: Тула
Пользователь №: 35 244



Была проблема с запрещением Suspend/Resume.
Я неправильно запрещал Suspend в usb_pwr.с:
Код
__IO bool fSuspendEnabled = FALSE;  /* true when suspend is possible */


Правильно делать так:
Код
STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h

/* IMR_MSK */
/* mask defining which events has to be handled */
/* by the device application software */
// #define IMR_MSK (CNTR_CTRM  | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM  | CNTR_SOFM \
//                | CNTR_ESOFM | CNTR_RESETM )

// Disable Suspend/Resume response completely
#define IMR_MSK (CNTR_CTRM  | CNTR_WKUPM | CNTR_ERRM  | CNTR_SOFM | CNTR_RESETM )


Работать стало как задумано. Осталось понять взаимосвязь..
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 21:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016