Тоже самое да не тоже. Прежде чем писать хрень посмотрел бы как в ядре прописана команда. Там для защиты от дураков делаются проверки. Это ардуина. Можешь писать прямо - пиши. Но вытаскивать свою дремучесть не стоит. Изучи сначала то с чем работаешь. Здесь регулярно такие первооткрыватели проскакивают. Что то на долго не задерживаются.
Вы (PINA & 0x40)
имеете ввиду ,? Я просмотрел файлы в папке cores , но не нашел…Если не сложно название скажите где посмотреть ?
Я имел в виду digitalRead.
У меня нет нигде digitalRead
Ардуина есть, а digitalRead() нет
А если в файле wiring_digital.c посмотреть?
romansochi
Если код написан в самом Proteus, то надо в опциях проекта выставить уровень оптимизации Os. Он там по умолчанию ставит O0 !
Не пихает. У Вас выключена оптимизация. А без неё всё очень грустно. Например, в АВР студии просто не будут корректно работать целый ряд встроенных авр-овских функций. Компилятор об этом предупреждает, кстати.
спасибо. проверю оптимизацию
Супер . вопрос снят . с s оптимизацией он сократил код , правда все равно команду чтение бита sbis
не использует … но возможно я подводные камни незнаю при использовании sbis
Если кто просветит буду благодарен…
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, вот и нет у вас сообщений при отключении оптимизации.