У меня возник вопрос о новом Datasheet, который у меня есть для нового SoC. Скажем так базовый адрес 0x2014_0000GPIO Data Регистрация описания понимание
Вот страница
Так что же это значит с 0x3fC и 0x200?
Означает ли это, что если я читаю регистр 0x2014_0000, и он дает мне 0x3fc, чем я могу выполнять операции записи или чтения в соответствии с регистром направления для всех связанных GPIO. И если он читает 0x0, чем я ничего не могу сделать с данными (без чтения или записи)?
Всякий раз, когда я должен был прочитать данные из регистра я только должен был прочитать соответствующий бит, но это один путает меня @ _ @
Может быть кто-то может объяснить мне
Thx
Aha ok. Теперь я понимаю. Но я не знаю, почему это сделано так. Это немного запутанно. На других MCU вы делаете что-то вроде «PORTB = 1 << PIN7;» здесь я должен писать разные значения для разных адресов. В чем преимущество этого? – user3000289
Это делается для того, чтобы независимые процессы, совместно использующие порт GPIO, не обращали внимания ни на одно использование порта. Альтернативой было бы прочитать текущее состояние, замаскировать биты не «мои» (блокируя использование другими процессами), а затем писать, тогда как это позволяет делать это с помощью одной записи. –
Черт бы тебя побрал :) Да, это имеет смысл. благодаря – user3000289