Перейти к содержанию

    

STM32F429 и 16-битная SDRAM 16MB /32 MB : практический опыт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, ViKo сказал:

А также могу пользоваться в любом C конструкцией вида

#if (SYSTICK_LOAD_VALUE >= (1 << 24))
    #error: "Over!"
#endif

Только русских букв Keil в Build Output (у меня) не пишет.

А

#if (sizeof(int)*UART_PACKET_SIZE <= 32)
  #error ... // WTF?
#endif

сможете так? То то же:wink:

 

5 часов назад, ViKo сказал:

Подтверждаю. Достаточно в опциях файла прописать --cpp11, как появляется возможность пользовать static_assert. Откуда берется функция (и функция ли?), не нашел, в списках функций не значится.

Ага. А если в Вашем компиляторе нет такого ключика?

 

7 часов назад, ViKo сказал:

Что дают эти макросы - понятно. Не понятно, в какой форме и куда они выдают ошибку. Я в Кейле показал - как собаке пятая нога. Может, IAR больше текста выдает? Тогда ладно.

Два раза жмакаете на ошибку в Output и вуаля - Вы на строке кода, где сработал assert. Проблем не вижу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, Arlleex сказал:

1. сможете так? То то же:wink:

2. Ага. А если в Вашем компиляторе нет такого ключика?

3. Два раза жмакаете на ошибку в Output и вуаля - Вы на строке кода, где сработал assert. Проблем не вижу...

1. В статье по моей ссылке расписано (что нет).

2. Есть

3. А то я не знал... :umnik2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, ViKo сказал:

3. А то я не знал... :umnik2:

 

12 часов назад, ViKo сказал:

Я не вижу в Build Output ни текстового сообщения, ни номера строки, ни счетчика. Тупо "деление на ноль" или "массив не того размера". Вот и недоумеваю, зачем эти сложности?

Не противоречьте сами себе: сначала Вы говорите, что не знаете, что делать с предупреждением "Division by zero", потом утверждаете, что, оказывается, знаете прекрасно.

Вы если даже в Output выведете какой-нибудь текст, все равно жмакать по ошибке будете, чтобы залезть в участок кода, где этот ассерт выстрелил.

 

 

10 минут назад, ViKo сказал:

2. Есть

Ну а завтра появится проект с МК, под который нет компилятора с --cpp11 или как там его. Что делать будем?

 

 

10 минут назад, ViKo сказал:

1. В статье по моей ссылке расписано (что нет).

Однако - большой минус и неудобство. Если бы не это (и прочие особенности директив условной компиляции, уж не вспомню какие (по ходу набора кода обычно известны)), никаких static_assert() придумывать не надо было бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. Не появится. В данном вопросе (да и в других) я не наёмный работник, а сам определяющий, что и на чем делать. Но мы же уже знаем все варианты. 

3. Кейл всегда выдаёт номер строки в своих сообщениях. И что делать с этими сообщениями, известно. Вопрос был о том, что ничего из того нагромождения трёхэтажных макросов не попадает в этот вывод. Ни __LINE__ , ни __COUNTER__ , ни имени массива или перечисления. Я-то рассчитывал, они для вывода создаются, а оказывается, только чтобы иметь несколько штук в одной области видимости. Вот, собственно, о чем весь разговор. Жаль, jcxz не смог или не захотел растолковать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
27 минут назад, ViKo сказал:

Я-то рассчитывал, они для вывода создаются, а оказывается, только чтобы иметь несколько штук в одной области видимости. Вот, собственно, о чем весь разговор. Жаль, jcxz не смог или не захотел растолковать. 

Я не понимаю - что мешает вам написать свои макросы или добавить в мои те аргументы, которых вам не хватает???

Религия запрещает или что? Уже столько сообщений понаписали.... Мне они не нужны, но если вам нужно - зачем стенать если можно просто взять и изменить???  :dash2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы, jcxz, запоздали с реакцией. Уже всё прочитано и написано. И ссылки на сайты я дал. Вас бы ко вчерашнему обеду, но вчера вы мямлили "скомпилируйте, да посмотрите" вместо объяснения сути. Да и сейчас высказываетесь неконструктивно. Вы хоть поняли, что в Build Output всё равно ничего не пролезет? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 минут назад, ViKo сказал:

Вы хоть поняли, что в Build Output всё равно ничего не пролезет? 

Не знаю что и куда там у вас не пролезает, но у меня всё что нужно показывает. О чём и Arlleex тоже написал.

И если Вы не можете в одной си-строке разобраться, что нужны ещё и разжёвывания примитивного - значит вам очевидно рано ещё смотреть в мои макросы. Не смотрите их - удалите и всё.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти