VictorR
Участник-
Постов
36 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о VictorR
-
Звание
Участник
Контакты
-
ICQ
Array
Посетители профиля
1 041 просмотр профиля
-
Добрый вечер, где взять заголовочный файл для STM32F303 ? Заранее благодарю
-
А можно сделать так, чтобы IAR с проектом на одном компьютере, а ST-LINK с контроллером на другом и связывается с первым по RDP ?
-
Спасибо, прошивается. Но запускается только после внешнего ресета.
-
Единица в младшем бите адреса перехода указывает, что переход происходит на Thumb код, а не ARM код, так и должно быть. Всем спасибо! Заработало. Пришлось еще вставить setena1->SETENA37=1; Еще один вопрос. Можно ли из IAR-a через ST-LINK прошивать контроллер не входя в режим debug ?
-
Почему-то мой обработчик прерывания USART1_IRQHandler() находится по адресу 0x8000606, а соответствующий вектор указывает на 0x8000607. Может в этом дело?
-
Можно подробнее про заглушки? Так я и сбрасываю записью в USART1_DR Отладчика, к сожалению, пока нет.
-
Здравствуйте, Контроллер STM32F103C6, среда IAR 7.80.3, официальный с ограничением кода. Пытаюсь работать с прерываниями без CMSIS. К проекту подключены только файлы startup_stm32f10x_hd_vl.s, iostm32f10xxB.h, intrinsics.h Пользуясь определениями из iostm32f10xxB.h установил все необходимые регистры (тактирования, порты, прерывания). Установил глобальное разрешение прерываний (__enable_interrupt();) Чтоб не ругалась на отсутствие SystemInit (из отсутствующего в проекте system_stm32f10x.c) написал пустую функцию void SystemInit(void) {} поскольку все начальные установки уже сделал сам. Написал обработчик void USART1_IRQHandler(void) { } В симуляторе все работает и в прерывание заходит. А в жизни - виснет. Если убрать все связанное с прерываниями работает нормально. Может дело в той части SystemInit() где производятся манипуляции с VTOR ? Заранее благодарю за помощь Виктор
-
К сожалению, работаю без отладчика, так что ответить на Ваш вопрос не могу.
-
С новым годом! unsigned char n=0; unsigned char dat[10]; *** void main(void) { *** установки портов и прерываний *** while(1); } ** void USART1_IRQHandler(void) { USART1_DR=dat[n]; n++; if(n>3) n=0; } Программа работает. Секунд 5. А если unsigned char n; заменить на unsigned int n; не работает вообще! А если вместо USART1_DR=dat[n]; написать USART1_DR=dat[2]; (например), то все работает нормально Ну не е-мое? PS IAR 7.8 официальный с ограничением по коду. Оптимизация выключена
-
Здравствуйте, в чем ошибка? (среда - IAR EWARM 7.10, чип - STM32F103C6) __irq void USART1IRQ(void); //объявляю свою функцию обработки прерывания //********* __irq void USART1IRQ(void) { ...... } //********* void main(void) { //вписываю адрес функции обработки в соответствующий вектор *(unsigned long*)0xd4=(unsigned long)USART1IRQ; //0xd4 - адрес вектора USART1 while(1); } компилируется без вопросов, но не работает
-
Вопрос по cy7c68013А
VictorR ответил VictorR тема в RS232/LPT/USB/PCMCIA/FireWire
Спасибо, буду пробовать -
Вопрос по cy7c68013А
VictorR опубликовал тема в RS232/LPT/USB/PCMCIA/FireWire
Пытаюсь использовать одну точку (EP2) попеременно как OUT и как In. При переключении из In в OUT все работает, а из OUT в IN - ничего не работает! - Сразу после переключения устанавливается активный флаг FULL, хотя точка была сброшена а счетчик обнулен. Заранее благодарю за помощь -
Помогите, пожалуйста! IAR 5.20 При компилляции для Mega324P выдает диагностику Error[e16]: Segment NEAR_Z (size: 0x82f align: 0) is too long for segment definition. At least 0x7d more bytes needed. The problem occurred while processing the segment placement command "-Z(DATA)NEAR_I,NEAR_Z,NEAR_N=_..X_SRAM_BASE-_..X_SRAM_END", where at the moment of placement the available memory ranges were "DATA:14e-8ff" причем, при уменьшении размеров массивов в программе количество недостающих байтов увеличевается! Объясните, пожалуйста, смысл сообщения и что делать? Заранее благодарю Виктор
-
Работа по обслуживанию компьютерного парка
VictorR ответил VictorR тема в Предлагаю работу
е-мое! сколько же трепла! Все, закрыта тема. Утомили