jenya7 0 21 марта, 2017 Опубликовано 21 марта, 2017 (изменено) · Жалоба Проблема такая gun_trigger = RD_EXT_FPGA(0x356); if(gun_trigger == 1) gun_fire = 1; else gun_fire = 0; в gun_trigger считывается значение кнопки. В дебагере я вижу как gun_trigger красиво принимает значение кнопки - 1/0. gun_fire - ВСЕГДА НОЛЬ. Если я ставлю точку останова на строчке gun_fire = 1; - все обновляется красиво. обе переменные глобальные. мне кажеться это какая то специфика данного контроллера. может кто нибудь встречался с подобным? пожалуй gun_fire иногда выставляется в единицу. иногда функции кнопки отрабатываются. В коде есть десятки, да нет пожалуй сотни переменных которые, по всей видимости апдейтируются корректно, ну по крайней мере проблемы не вылезли наружу. в данном случае по нажатию на кнопку не всегда отрабатываются функции кнопки поэтому я полез в код и обнаружил такую проблему. Изменено 21 марта, 2017 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 31 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Эт какая версия ARM? (; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Эт какая версия ARM? (; Они позиционируют его как DSP . Просто нет такого раздела. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 31 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба "Прочие" есть. А конкретно по проблеме: что накомпилялось смотреть и разбираться в коде (окно дизасма). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 21 марта, 2017 Опубликовано 21 марта, 2017 (изменено) · Жалоба "Прочие" есть. А конкретно по проблеме: что накомпилялось смотреть и разбираться в коде (окно дизасма). о чем поет ночная птица окно дизасма? 800 gun_trigger = RD_EXT_FPGA(0x356); C$L63: 00aab3: 76E00356 MOVL XAR7, #0x200356 00aab5: 92C7 MOV AL, *+XAR7[0] 00aab6: 9610 MOV @0x10, AL 802 if(gun_trigger == 1) 00aab7: 5201 CMPB AL, #0x1 00aab8: ED04 SBF C$L64, NEQ 803 gun_fire = 1; 00aab9: 56BF010F MOVB @0xf, #0x01, UNC 00aabb: 6F02 SB C$L65, UNC 805 gun_fire = 0; C$L64: 00aabc: 2B0F MOV @0xf, #0 я не особый знаток асемблера но ничего криминального не вижу. по моему я нашел проблему. переменная обнуляется где то дальше в коде. осталось найти где. Изменено 21 марта, 2017 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 31 21 марта, 2017 Опубликовано 21 марта, 2017 (изменено) · Жалоба "я не особый знаток асемблера…" Да не ассемблера, а того ядра, котрое пользуете "… но ничего криминального не вижу." Чудесно, искренне рад за вас, но цитирую "В дебагере … gun_trigger красиво принимает значение кнопки - 1/0. gun_fire - ВСЕГДА НОЛЬ. Если я ставлю точку останова на строчке gun_fire = 1; - все обновляется красиво. обе переменные глобальные.", а почему вы не ставили точку останова сразу после "if then else" что б уведеть результат? Ну и "переменная обнуляется где то дальше в коде. осталось найти где." Есть ли смайлик пожимающий плечами и разводящий руками? Изменено 21 марта, 2017 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба "я не особый знаток асемблера…" Да не ассемблера, а того ядра, котрое пользуете "… но ничего криминального не вижу." Чудесно, искренне рад за вас, но цитирую "В дебагере … gun_trigger красиво принимает значение кнопки - 1/0. gun_fire - ВСЕГДА НОЛЬ. Если я ставлю точку останова на строчке gun_fire = 1; - все обновляется красиво. обе переменные глобальные.", а почему вы не ставили точку останова сразу после "if then else" что б уведеть результат? Ну и "переменная обнуляется где то дальше в коде. осталось найти где." Есть ли смайлик пожимающий плечами и разводящий руками? мистический случай. так и не нашел где переменная убивалась, хотя рыл два дня с еще одним товарищем. переписал всю логику заново и сейчас работает нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться