|
|
  |
Изменяется содержимое массива... |
|
|
|
Aug 21 2015, 12:17
|
Участник

Группа: Участник
Сообщений: 41
Регистрация: 17-10-14
Пользователь №: 83 186

|
STM32F4. Keil. Есть массив, в который складываются данные от UARTа. Случайно заметил, что его содержимое, если даже UART disabled, меняется. Я в программе анализирую один из элементов этого массива и поджигаю светодиод. Он стал случайным образом подмигивать. Кто или что может писать в массив, портить данные? Динамических массивов я не создаю. Используется DMA передача данных. Но адреса источников и приёмников не совпадает с адресом массива UARTa.
Подскажите, что нужно сделать чтобы не было произвола? Заранее спасибо.
|
|
|
|
|
Aug 21 2015, 15:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ЮКОР @ Aug 21 2015, 18:17)  Кто или что может писать в массив, портить данные? Динамических массивов я не создаю. Так как UART собственной воли не имеет и не может сам что-то куда-то писать, то очевидно портит данные ваш код. Цитата(ЮКОР @ Aug 21 2015, 18:17)  Подскажите, что нужно сделать чтобы не было произвола? Закрыть браузер, подключить эмулятор, открыть исходник и искать, искать.....
|
|
|
|
|
Aug 24 2015, 17:03
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Цитата Вы что серьёзно думаете, что человек, который такое спрашивает, может использовать DMA? :-D я не думаю, я знаю, Цитата Используется DMA передача данных. Но адреса источников и приёмников не совпадает с адресом массива UARTa. вот его бы я отключил на время проверки.... А в целом шутка принимается
|
|
|
|
|
Aug 24 2015, 17:31
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(jcxz @ Aug 24 2015, 19:44)  Вы что серьёзно думаете, что человек, который такое спрашивает, может использовать DMA? :-D Использовать-то может, другой вопрос - как? А если по сути, то проверять надо поэтапно: 1) "внимательное всматривание" в код программы и понимание того, что она делает 2) отключение "ненужных" процедур 3) дебаг-отчеты в терминалку а остальное - по обстоятельствам
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|