15.04.2012, 18:45
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Здравствуйте! Это снова я. Проект мой движется вперёд, уже почти всё готово. Отдельное спасибо замечательному человеку Easyrider83 который сильно помог стартануть в микроконтроллеры с нуля. Я таких людей ни на одном форуме ещё не встречал.
Но вот опять возник вопрос, не могу разрешить уже целый день. Может быть туплю, может тупит Кеил.
Вобщем так, имеется условие
Код:
|
if (decogaseslistdepth[2]‹Cdepth && decogaseslistdepth[2]›=NDS1 && decogaseslistdepth[2]›decogaseslistdepth[Ngas]) {...} |
где
decogaseslistdepth[2]=6
Cdepth=9
NDS1=3
decogaseslistdepth[Ngas]=0
Вопрос: почему условие не выполняется? Точнее почему оно может не выполняться? Я уже ULINK2 прикупил, все переменные соответствуют описанию, а условие не выполняется
пс. До этого столкнулся с проблемой: массив фиксированной длинны сам по себе начинал заполняться данными. Я уже хотел было застрелиться, но тут как-то нашло просветление и я понял, что это другой массив динамической длинны расширяясь "налазил" на области памяти, принадлежащей первому массиву. Такой халатности я от компилятора не ожидал... Но с этим справился, может быть и тут чтото похожее?
Последний раз редактировалось CMaxx22; 15.04.2012 в 18:51.
|
|
|
|
15.04.2012, 22:27
|
|
Частый гость
Регистрация: 07.03.2011
Сообщений: 38
Сказал спасибо: 1
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от CMaxx22
|
Вопрос: почему условие не выполняется? Точнее почему оно может не выполняться? Я уже ULINK2 прикупил, все переменные соответствуют описанию, а условие не выполняется
|
Cкобки! Скобки! Скобки!
Если что-то выполняется не так в Длинннннннноооом условном выражении
1 рассставте скобки ибо вы забыли правила приоритетов... еслинет
2 сделайте вложенные ифы и убедитесь что на каждом шаге значения ответствуют тем что вы думаете...
да самое смешное -- компилятор в результате в 90% случаев соберет один и тот же код из всех вариантов... так нужно ли сваливать все в одну не отлаживаемую строку....
|
|
|
|
15.04.2012, 23:09
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Завтра попробую разложить условие по составляющим. И проверить ещё раз. Но всёже, условие то верное, что-же не так?
Ещё постоянно сталкиваюсь с такой проблемой: при внесении изменений в код иногда программа перестаёт работать, "зависает" на инициализации дисплея (хотя там изменений не было). Решаю вопрос путём добавления/удаления ничего не значащей строки после процедуры инициализации. Зависает - раскомментирую строку. Работаю-работаю. Снова зависает - закомментирую и о5 всё пашет... Короче чем больше код (у меня он уже за 50 килобайт) тем больше необъяснимых глюков... ULINK2 помог решить некоторые, но вот с явно верным условием, которое не выполняется, помочь не может...
|
|
|
|
16.04.2012, 11:06
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Да уж, дилемма решилась заменой ›= на два раздельных условия в скобках... Вот так работает:
Код:
|
(decogaseslistdepth[i]‹Cdepth && (decogaseslistdepth[i]›NDS1||decogaseslistdepth[i]==NDS1) && decogaseslistdepth[i]›decogaseslistdepth[Ngas]) |
Хотя что тот что этот вариант - по идее разницы быть не должно....
|
|
|
|
20.04.2012, 21:05
|
|
Заблокирован
Регистрация: 22.04.2010
Сообщений: 348
Сказал спасибо: 41
Сказали Спасибо 106 раз(а) в 95 сообщении(ях)
|
Re: Отладочные платы для STM32
Собираюсь заказать плату "ARMJISHU STM32F107VCT6 board+3.2" LCD" из Китая, с сайта wayengineer.com. http://www.wayengineer.com/index.php...roducts_id=503
Кто заказывал, пожалуйста, поделитесь впечатлениями от их продукции.
|
|
|
|
20.04.2012, 21:14
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
Цитата:
|
1 x SPI FLASH chips, W25X16, capacity of 16M bits
|
Этой штуки мне очень не хватало на моей плате. Добавил сам. Теперь бьюсь с кодом для записи. Есть у кого-нибудь примеры работы со SPI Flash?
Все вроде бы идет правильно, но после проверки одни FF. Придется подтягивать MISO к VCC, чтобы как-то контролировать бит занятости.
|
|
|
|
27.04.2012, 18:21
|
|
Временная регистрация
Регистрация: 04.01.2008
Сообщений: 93
Сказал спасибо: 19
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
Да, мне тоже скоро надо будет ставить флэш, очень поможет ваш опыт
Цитата:
|
Этой штуки мне очень не хватало на моей плате.
|
А там ведь есть SD карта, её что нельзя использовать как для хранения переменных?
|
|
|
|
02.05.2012, 03:51
|
|
Прохожий
Регистрация: 23.03.2011
Сообщений: 5
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Отладочные платы для STM32
Сообщение от Easyrider83
|
Цитата:
1 x SPI FLASH chips, W25X16, capacity of 16M bits
Этой штуки мне очень не хватало на моей плате. Добавил сам. Теперь бьюсь с кодом для записи. Есть у кого-нибудь примеры работы со SPI Flash?
|
драйвер для АТМЕЛ АТ25ДФххх. как для примера, сойдет.
когда работал с флешкой, поначалу чип не отвечал на просьбу выдать ID. вылечилось повторным запросом
|
|
|
|
02.05.2012, 09:56
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Отладочные платы для STM32
justej, спасибо, уже давно все сделал. Процедуры написал, код отладил. Все работает.
|
|
|
|
05.05.2012, 21:55
|
|
Временная регистрация
Регистрация: 02.09.2006
Сообщений: 86
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Отладочные платы для STM32
где можно качнуть русскую документацию на плату hc6800 v3.2?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:49.
|
|