Прошу, подскажите, в какую сторону копать.
Пытался сделать эффект "циклического" сдвига изображения на ЖКИ (128х32, I2C). Сам ЖКИ считывать данные не позволяет. Поэтому определил массив char video_ram[512] - видеопамять. Сначала меняю содержимое video_ram, потом просто по I2C переписываю его в ОЗУ самого дисплея.
В функции для "циклического сдвига" есть такой фрагмент:
int i,j;
for(j=0;j<=3;j++){ // сдвиг
for(i=1;i<=127;i++){
video_ram[128*j+i] = video_ram[128*j+i-1];
}
}
Под отладкой увидел, что сделал не то совсем, поэтому этот фрагмент поменял:
int i,j;
for(j=0;j<=3;j++){ // сдвиг
for(i=127;i!=0;i--){
video_ram[128*j+i] = video_ram[128*j+i-1];
}
}
Это было единственной изменение. При всех попытках запуска проги под отладчиком (в ОЗУ) было следующее:
1) Отладчик стал запускаться значительно дольше ( IAR повисает секунд на 10-15)
2) При пошаговой отладке переход на следующую команду тоже с тормозами приличными
3) При запуске программы (неважно, до точки останова или без них) проц повисает (на ЖКИ хоть какая-то хрень но выводиться должна, а этого нет), при попытке сделать halt IAR повисает навечно...
Может у кого-то что-то подобное уже было? Где причину искать?