Насколько компилятор продвинут?

Тоже самое да не тоже. Прежде чем писать хрень посмотрел бы как в ядре прописана команда. Там для защиты от дураков делаются проверки. Это ардуина. Можешь писать прямо - пиши. Но вытаскивать свою дремучесть не стоит. Изучи сначала то с чем работаешь. Здесь регулярно такие первооткрыватели проскакивают. Что то на долго не задерживаются.

Вы (PINA & 0x40) имеете ввиду ,? Я просмотрел файлы в папке cores , но не нашел…Если не сложно название скажите где посмотреть ?

Я имел в виду digitalRead.

У меня нет нигде digitalRead

Ардуина есть, а digitalRead() нет :worried:
А если в файле wiring_digital.c посмотреть?

romansochi
Если код написан в самом Proteus, то надо в опциях проекта выставить уровень оптимизации Os. Он там по умолчанию ставит O0 !

Спойлер

Не пихает. У Вас выключена оптимизация. А без неё всё очень грустно. Например, в АВР студии просто не будут корректно работать целый ряд встроенных авр-овских функций. Компилятор об этом предупреждает, кстати.

спасибо. проверю оптимизацию

Супер . вопрос снят . с s оптимизацией он сократил код , правда все равно команду чтение бита sbis не использует … но возможно я подводные камни незнаю при использовании sbis

Если кто просветит буду благодарен…

image

p/s хотя…, тут изящнее выглядит по смыслу

У меня ,что то нет сообщений - может где галочку надо ставить. пока не нашел

Спойлер

`
------ Build started: Project: GccApplication1, Configuration: Debug AVR ------
Build started.
Project “GccApplication1.cproj” (default targets):
Target “PreBuildEvent” skipped, due to false condition; (‘$(PreBuildEvent)’!=‘’) was evaluated as (‘’!=‘’).
Target “CoreBuild” in file “C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets” from project “C:\Users\user\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cproj” (target “Build” depends on it):
Task “RunCompilerTask”
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs 4 --output-sync
make: Nothing to be done for ‘all’.
Done executing task “RunCompilerTask”.
Task “RunOutputFileVerifyTask”
Program Memory Usage : 298 bytes 0,1 % Full
Data Memory Usage : 2 bytes 0,0 % Full
Done executing task “RunOutputFileVerifyTask”.
Done building target “CoreBuild” in project “GccApplication1.cproj”.
Target “PostBuildEvent” skipped, due to false condition; (‘$(PostBuildEvent)’ != ‘’) was evaluated as (‘’ != ‘’).
Target “Build” in file “C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets” from project “C:\Users\user\Documents\Atmel Studio\7.0\GccApplication1\GccApplication1\GccApplication1.cproj” (entry point):
Done building target “Build” in project “GccApplication1.cproj”.
Done building project “GccApplication1.cproj”.

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
`

Может Вы не пользуетесь теми функциями? Сообщение вот такое:

Warning		#warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" [-Wcpp]	Tachometer	c:\program files (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h	112

да , я такое сообщение сперва видел . Но не понял причем там delay , а потом оно пропало и я не стал дальше копать …
очень похоже , что где-то что-то отрубил…

Вы же в Studio не цепляли Arduino wiring, вот и нет у вас сообщений при отключении оптимизации.