-
Постов
2 495 -
Зарегистрирован
-
Победитель дней
2
Весь контент Палыч
-
Потому, что язык С, а не С++. Добавить #include <stdbool.h>
-
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
По порядку: 1. Тип переменой ind - uint8_t или, что то же самое - unsigned char; тип константы 0xFE - int (см. п.6.4.4.1 абзац 5 стандарта). 2. При вычислении (ind|0xFE), поскольку типы разные, то приводятся к "большему" - к int. Результат - типа int. 3. Далее (uint8_t)(ind|0xFE) - тип явно приводится к uint8_t (unsigned char). 4. И наконец ~((uint8_t)(ind|0xFE)). Перед операцией ~ над операндом с типом unsigned char производится неявное преобразование - "integer promotions". Правило преобразования я цитировал выше. -
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
Цитата из стандарта ISO/IEC 9899:2011 (E) пункт 6.3.1.1 абзац 2 Все-таки будет приведено к int. -
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
При вычислении ~((uint8_t)(ind|0xFE)) перед выполнением оператора ~ значение (uint8_t)(ind|0xFE) снова будет преобразовано к типу int. -
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
Например: if((~ind) & 0x01) -
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
Растолковываю: ind - uint8_t (unsigned char ) 0xFE - int Перед вычислением (ind | 0xFE) приводится значение переменной ind к типу int; результат - типа int, где старшие 8 бит имеют нулевое значение. Результат вычисления ~(ind | 0xFE) тоже будет иметь тип int, но восемь старших бит будут иметь значение 1. Оператор под if(~(ind | 0xFE)) будет всегда выполнятся, т.к. значение выражения - не ноль. При temp = ~(ind | 0xFE); старшие 8 бит потеряются. -
Непонятки с оператором if()...
Палыч ответил khlenar тема в ARM, 32bit
Огласите, пожалуйста, типы переменных temp и ind. Подозреваю, что - char. Почитайте про приведение типов в языке С. -
как отредактировать подпись
Палыч ответил SAVC тема в Новости и обсуждения сайта и форума
Мышкой по имени вверху страницы -> Настройки профиля -> Подпись Там же и выключатель просмотра подписи -
В UDP частично пакет считать нельзя. Но, можно считать пакет не удаляя его из входной очереди: у функции recv (и ей подобных) есть параметр flags. MSG_PEEK - это то значение flags, что Вам нужно.
-
У меня нет ST-Link, но, если обратиться к документации Keil, то можно прочитать, что анализатор работает с: ULINKPro ULINK2 J-Link/J-Trace Всё! Перечень исчерпан...
-
Аналогично. Однако, если вместо входа на форум перейти с главной страницы на любой подфорум или тему, а затем с неё вернуться на главную страницу, то форум "вспоминает", что ты уже когда-то входил сюда. PS. Отставить! Чтобы такого не было, нужно указывать протокол с шифрованием.
-
Вероятно, потому, что пределитель - обычный двоичный счётчик, состояние которого не определено в момент записи в регистр TCCR1B. Для сброса счетчика пределителя в ноль используется регистр SFIOR.
-
ГОСТ 27716 и ГОСТ Р 50562 не подойдут?
-
Первоначально картинка выглядела так: Затем картинку зачем-то поменяли, причем замена была только в UM серии 17хх. В документации на другие серии МК картинка не изменилась.
-
Порядок передачи октетов МАС-адреса по сети обратен их традиционной шестнадцатиричной записи. Ваш адрес: 11.22.33.44.55.66 В нём 11.22.33 - идентификатор производителя; 44.55.66 - уникальный номер, присвоенный производителем В выбранном Вами идентификаторе производителя закралась ошибка: первый октет в идентификаторе производителя (11) - не может иметь такое значение: определяют только старшие шесть бит (заменим его на 10). В сеть вначале передаётся идентификатор производителя, затем - номер. Итого: SA0= 0x6655; SA1=0x4433; SA2=0x2210; Кстати, я с Вами использую какие-то разные manual'ы: у меня ни страницы не совпадают, ни рисунки, и регистра SA3(о котором Вы всё время говорите) - нет.
-
Нулевой (хорошо бы, и первый) бит первого октета МАС-адреса имеет нулевое значение?
-
К этому следует добавить установку регистров SA0, SA1, SA2 и режима Unicast (AcceptUnicastEn). Про фильтрацию пакетов смотри п.10.17.10 User Manual.
-
warning от Keil
Палыч ответил Метценгерштейн тема в Программирование
Example: int main(void){ int choice = 1; int z =1; switch(choice) { case 1: int y = 1; z = y + z; break; case 2: break; } return 0; In the example, y is an initialized variable that is in scope (but unused) in the other cases. The C++ Standard says in section 6.7: Note The transfer from the condition of a switch statement to a case label is considered a jump in this respect. The usual way to fix this is to enclose the case that declares y in braces: case 1: { int y = 1; z = y + z; } break; Because y is a POD (Plain Old Data) type, so an alternative is to not use initialization: case 1: int y; y = 1; z = y + z; break; -
warning от Keil
Палыч ответил Метценгерштейн тема в Программирование
Транслятор не может определить область видимости объявленных переменных. В Вашем случае, наверное, лучше всего взять в скобки { ... } весь текст от case до break. -
Ну, почему же "не программное"? Как вариант: Разрешается прерывание на каком-либо устройстве, а процедуры обработки этого прерывания не существует - забыли написать...
-
Большинство дисассемблеров не могут разделить команды и "константы" в памяти программ. "Константами" могут выступать, например, строки текста, выдаваемые программой на дисплей/терминал. Тогда команде "movx @dptr,a" соответствует байт со значением F0, что, вероятно, соответствует какой-то букве кириллицы (в некоторых кодировках - буква "р"). В некоторых дизассемблерах человек может подсказать, например: "с адреса ХХХХ лежит строка символов, которая заканчивается нулевым символом"... Естественно, подсказки - некие специфические команды, уникальные для каждого дизассемблера.
-
Чтобы получить "исходники" из hex, дизассемблеру нужны подсказки от человека. Получение хороших "исходников" - итерационный процесс: подсказки человека несколько раз уточняются. Лучше (удобнее) вносить уточнения в интерактивном режиме. Лучший интерактивный дизассемблер - IDA.
-
Двоичное представление числа в KEIL
Палыч ответил Pilatus тема в В помощь начинающему
Обсуждалось когда-то тут -
Двоичное представление числа в KEIL
Палыч ответил Pilatus тема в В помощь начинающему
Документ относится к отладчику, а не к компилятору. -
Вариант 2: Установлены биты регистра FIO1MASK