Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 11.08.2019, 16:01   #1
radioman
Member
 
Регистрация: 01.04.2009
Сообщений: 51
Вес репутации: 100/41
radioman will become famous soon enoughradioman will become famous soon enough
По умолчанию #define(par) что то я совсем туплю

Код:
#define test(par)  (unsigned char) (unsigned long)(par)
const unsigned char   data=test(0x0000ffff) ;
XC8 V1.44(пробовал и другие)

выдает сообщение:
newmain.c:13: warning: (751) arithmetic overflow in constant expression

Как только не пробовал.
Код получается верный.
Интересует именно такой подход т.к. это часть определений, упростил для наглядности.
В Keil (для STM32F0...) все нормально.
radioman вне форума   Ответить с цитированием
Старый 12.08.2019, 10:05   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: #define(par) что то я совсем туплю

radioman
Вам компилятор говорит о том, что Ваш 0xffff выходит за диапазон 0 ... 255.
И это правда.
besogon вне форума   Ответить с цитированием
Старый 12.08.2019, 10:23   #3
radioman
Member
 
Регистрация: 01.04.2009
Сообщений: 51
Вес репутации: 100/41
radioman will become famous soon enoughradioman will become famous soon enough
По умолчанию Re: #define(par) что то я совсем туплю

Цитата:
Сообщение от besogon Посмотреть сообщение
radioman
Вам компилятор говорит о том, что Ваш 0xffff выходит за диапазон 0 ... 255.
И это правда.
Это первое что я подумал.

Но...
Код:
unsigned char   test=(unsigned char)(0x0000ffff & 0x000000ff) ;
Выдает то же предупреждение.
radioman вне форума   Ответить с цитированием
Старый 12.08.2019, 10:27   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,179
Вес репутации: 4133/90
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: #define(par) что то я совсем туплю

radioman
поставьте версию xc8 2.+
в ней clang вроде бы должны были добавить - проблема вполне может уйти.
besogon вне форума   Ответить с цитированием
Старый 13.08.2019, 06:51   #5
radioman
Member
 
Регистрация: 01.04.2009
Сообщений: 51
Вес репутации: 100/41
radioman will become famous soon enoughradioman will become famous soon enough
По умолчанию Re: #define(par) что то я совсем туплю

Цитата:
Сообщение от besogon Посмотреть сообщение
radioman
поставьте версию xc8 2.+
в ней clang вроде бы должны были добавить - проблема вполне может уйти.
Спасибо, попробую.
radioman вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем/как отлаживать код написаный на Си в WinAVR Yokel Микроконтроллеры других производителей 49 30.09.2014 09:48
Присоветуйте тип и способ управления MOSFETом "верхнего" плеча dr_Sash Источники питания и силовая электроника 37 08.09.2012 18:50
Переделка asm кода ЖКИ с 8 бит на 4 бита Noelchuvak Продукция MICROCHIP 66 27.12.2011 21:46
кто-нибудь делал OSD? (шобы букавки выводить в видеосигнал) Лунь Микроконтроллеры других производителей 31 26.11.2007 18:58
что то не доганяю Liverpool Продукция MICROCHIP 0 10.04.2007 19:16


Часовой пояс GMT +3, время: 21:39.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot