Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.09.2009, 14:30
|
|
Прохожий
Регистрация: 08.10.2007
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Да, компилятор HI-TECH C -полная фигня - это точно. Там буквально все нужно проверять, т.к. граблей действительно навалом.
"Или плюнуть на это и написать на СИ с GOTO? "
Про вред GOTO - это вроде Дейкста писал...ХЗ, вот в Линуксовом ядре много GOTO используют как раз для оптимизации по скорости...Мне кажется микроконтроллер - это как раз этот случай.
|
|
|
|
16.09.2009, 15:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Сообщение от serikovigor
|
Да, компилятор HI-TECH C -полная фигня - это точно. Там буквально все нужно проверять, т.к. граблей действительно навалом.
|
может вы не обратили внимание, но это не PICC18 а HI-TECH PICC16 STD...
Сообщение от serikovigor
|
"Или плюнуть на это и написать на СИ с GOTO? "
Про вред GOTO - это вроде Дейкста писал...ХЗ, вот в Линуксовом ядре много GOTO используют как раз для оптимизации по скорости...Мне кажется микроконтроллер - это как раз этот случай.
|
Просто тот же код IAR AVR компилит так как нужно.
Вот и хочется разобратся.. ПОЧЕМУ, и КАК ЗАСТАВИТЬ?. Если конструктивных идей не будет, так и сделаю.
|
|
|
|
17.09.2009, 10:26
|
|
Временная регистрация
Регистрация: 17.08.2005
Сообщений: 53
Сказал спасибо: 6
Сказали Спасибо 33 раз(а) в 17 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Сообщение от picavr
|
Или плюнуть на это и написать на СИ с GOTO?
|
Плюньте вообще. Пусть компилирует, как хочет. Лишь бы работало. Если, конечно нет каких-нибудь серьезных причин экономить память программ. Да там у Вас сильно и не сэкономишь, слишком маленький кусок текста повторяется. Я бы плюнул. Ото написал бы, как требует синтаксис, и перешел бы к следующей задаче. А насчет GOTO в С-шных программах, так я где-то читал, что эта инструкция специально в С оставлена, чтобы при желании можно было сделать программу непонятной и ненадежной. Без GOTO вполне можно обходиться. Во всяком случае, у меня ни разу не было нужды использовать GOTO.
Кстати, у Вас там вместо if (...) должно быть везде else if (...), а инкремент чего-то (счетчика?) в таком случае поставьте после последнего else if (...). ИМХО получите то, что хотели.
|
|
|
|
17.09.2009, 10:34
|
|
Временная регистрация
Регистрация: 17.08.2005
Сообщений: 53
Сказал спасибо: 6
Сказали Спасибо 33 раз(а) в 17 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Сообщение от picavr
|
if(ds1990_cunter==10){ ds1990_temp=owire_data;
owire_stat=err_owcheksym;owire_crc=0;
OWire_ini_AddCRC(ds1990_family);
ds1990_cunter++;return;} //повторяющийся код
if(ds1990_cunter==11){ OWire_ini_AddCRC(ds1990_data[0]);
ds1990_cunter++;return;} //повторяющийся код
|
Еще раз посмотрел исходник-таки да, компилятор у вас работает правильно. У Вас же каждая из конструкций if (...) {...} должна быть обработана до конца, как же он сделает GOTO? Не имеет права... Вот когда будет else if (...) {...}, тогда после первой же выполненной инструкции компилятор благополучно вставит GOTO, ибо этого хочет программист.
|
|
|
|
17.09.2009, 11:26
|
|
Временная регистрация
Регистрация: 17.08.2005
Сообщений: 53
Сказал спасибо: 6
Сказали Спасибо 33 раз(а) в 17 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Сообщение от serikovigor
|
Да, компилятор HI-TECH C -полная фигня - это точно. Там буквально все нужно проверять, т.к. граблей действительно навалом.
|
Обеими руками согласен.
А как все-таки насчет Майкрочиповских компиляторов? Есть где-то места, где их можно получить на шару, или хотя бы за гуманную цену? Кто-то что-то знает?
|
|
|
|
17.09.2009, 11:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Это несерьезно. Такое впечатление, что у Вас нет инета. После регистрации на сайте микрочипа для Вас становится доступной студенческая (теперь евал) версия - абсолютно функциональная в течении 2 месяцев, после чего у нее отваливается оптимизация. Хотите жить честно - раз в 2 месяца сносите и ставите по новой, это проходит без последствий. Лекарств на нее - только я знаю 3 - опять же 2 минуты поиска...
|
|
|
|
17.09.2009, 14:06
|
|
Временная регистрация
Регистрация: 17.08.2005
Сообщений: 53
Сказал спасибо: 6
Сказали Спасибо 33 раз(а) в 17 сообщении(ях)
|
Re: MPLAB IDE и HI-TECH 18
Сообщение от urry
|
Это несерьезно. Такое впечатление, что у Вас нет инета.
|
Инет есть, опыта нету. Знал бы- не спрашивал бы. За совет спасибо. Я считал, что студенческая версия на Майкрочиповском сайте- это нечто урезанное по самые помидоры, а раз Вы говорите, что нет, тогда конечно.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:13.
|
|