Низкоуровневый доступ к регистрам AVR

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

Господа, помогите разобраться.

Вопрос такой

можно ли использовать такую запись для первичной инициализации AVR ADC

ADCSRA |=0X85

?

 

b707
Offline
Зарегистрирован: 26.05.2017

а что такое 0X85 ? компилятор не ругается?

rkit
Offline
Зарегистрирован: 23.11.2016

Для первичной, наверно, лучше будет = , а не |=. А иначе - в чем проблема? И не проще ли было проверить самому?

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

по моему мнению

0x85=B10000101

 и в регистр ADCSRA все должно записаться соответственно и все ОК но как бы все пишут через маски и тд вот и не знаю правильно это или нет а компилятор вроде не ругается

 

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

Я просто в Си не силен и не знаю как проверить, может есть какие-то ограничения и тд...

-NMi-
Offline
Зарегистрирован: 20.08.2018

Alexey_Rem пишет:

но как бы все пишут через маски и тд вот и не знаю правильно это или нет а компилятор вроде не ругается

Если инициализируешь в ПЕРВЫЙ РАЗ (например, после подачи питания и т.д.) - ПЕЙШИ БЕЗ маски.

Ежли меняешь что-то уже ПОСЛЕ инициализации - применяй (одевай=баранавирус))) битовую маску.

Logik
Offline
Зарегистрирован: 05.08.2014

Alexey_Rem пишет:

Я просто в Си не силен и не знаю как проверить, может есть какие-то ограничения и тд...

Не стесняйся, проверяй на ассемблере. Если "не силен", чего с места резко и в дебри? Начни с чего попроще.

Alexey_Rem
Offline
Зарегистрирован: 09.09.2019

 Всем СПАСИБО!!