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

 
 
> Программа работает. Секунд 5.
VictorR
сообщение Jan 7 2017, 10:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 28-03-05
Пользователь №: 3 738



С новым годом!

Код
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 официальный с ограничением по коду. Оптимизация выключена

Сообщение отредактировал IgorKossak - Jan 7 2017, 14:35
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Jan 7 2017, 11:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(VictorR @ Jan 7 2017, 16:09) *
Программа работает. Секунд 5.
И что потом? Зависает, вылетает в аварийное прерывание или еще что то?

Сам работаю на версии 7.80.02. Сейчас занимаюсь относительно большим проектом - USB, CAN, USART на STM32F407 - вообще ни каких проблем. Библиотеками сторонними, правда не пользуюсь. Весь проект с нуля написан ручками.


--------------------
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th July 2025 - 01:07
Рейтинг@Mail.ru


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