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

Сдается мне, что *ptr++ инкрементирует не указатель, а саму переменную по адресу ptr!!! Сделайте так: ptr++

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


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

У меня с Уартом в порядке, а вот при сравнении компилятор выдает ошибку

 char HexCom[9];
__flash char Status[]   = "STATUS\0";

if (strcmp(HexCom, Status) == 0) response_sms(1);

 

Error[Pe167]: argument of type "char __flash *" is incompatible with parameter of type "char const *"

 

Логика компилятора железная - не совпадают типы. Пользуйтесь strcmp_P!

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


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

А на strcmp_P обругался! Он в каком хедере объявлен?

Нашел. pgmspace.h

Изменено пользователем Георгий

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


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

Только судя по листингам результат будет ошибочный.

   \   000000C8   ....               RCALL   gsb_decoder
   \   000000CA   E026               LDI     R18, 6
   \   000000CC   ....               LDI     R17, LOW(Status)
   \   000000CE   ....               LDI     R16, HexCom
   \   000000D0   ....               RCALL   strncmp
   \   000000D2   2B01               OR      R16, R17


   \   000000C8   ....               RCALL   gsb_decoder
   \   000000CA   E006               LDI     R16, 6
   \   000000CC   ....               LDI     R30, LOW(Status)
   \   000000CE   ....               LDI     R31, Status >> 8
   \   000000D0   ....               LDI     R26, HexCom
   \   000000D2   ....               RCALL   strncmp_P
   \   000000D4   2B01               OR      R16, R17

В первом случае он возьмет байт по LD, а во втором по LPM

Изменено пользователем Георгий

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...