-
- А ещё этот адрес можно использовать как указатель на бит и передавать его в функцию как параметр. Например, кто сегодня будет чипселектом для SPI или какой бит управляет приемом/передачей для RS-485. - ЫЫукпу(23.03.2019 03:07)
- Тоже хотел, потом забил. - maleon(23.03.2019 01:17, ссылка)
- Вы привели не самый удачный пример. Если надо изменить один бит GPIO, достаточно лишь воспользоваться регистрами атомарной установки пинов (Set/Reset). lloyd(98 знак., 22.03.2019 12:20)
- Касательно примера с GPIO согласен, регистр BSRR решает. Но! Он есть не во всех МК (или процессоры типа Allwinner)!!! В данном случае бит привязан к светодиоду моей платы, поэтому за ним было удобно следить. Это касается не только периферии, но и evgeniy1294(180 знак., 22.03.2019 13:24)
- Практическая ценность bitbang оказалась не очень. 1) Для GPIO в большинстве случаев есть в том или ином виде BSRR 2) Вопрос с атомарным изменением нескольких бит одновременно не решен (в отличие от BSRR) 3) Могут быть неожиданные глюки при попытке LightElf(47 знак., 22.03.2019 15:52)
- Количество ASM-кода != количество тактов выполнения. Если у вас три операции, то на них один хрен нужно минимум три такта процессора - lloyd(22.03.2019 14:04)
- Битбандинг есть только в М3 М4, охота вам связываться с непереносимой фишкой? - =AlexD=(22.03.2019 13:43)
- Не совсем, я сейчас изучаю документацию на различные ядра ARM. Это просто один из вариантов оптимизации под конкретный камень. - evgeniy1294(22.03.2019 13:47)
- как я понял, в сortex-m7 битбанда нет, меня это отвернуло от использования в текущем коде доя м4, чтоб не терять переносимости. - klen(23.03.2019 08:34)
- А то, что быстродействие m4 раза в два меньше, не отвернуло? - VLLV(23.03.2019 09:01)
- как я понял, в сortex-m7 битбанда нет, меня это отвернуло от использования в текущем коде доя м4, чтоб не терять переносимости. - klen(23.03.2019 08:34)
- Не совсем, я сейчас изучаю документацию на различные ядра ARM. Это просто один из вариантов оптимизации под конкретный камень. - evgeniy1294(22.03.2019 13:47)
- Касательно примера с GPIO согласен, регистр BSRR решает. Но! Он есть не во всех МК (или процессоры типа Allwinner)!!! В данном случае бит привязан к светодиоду моей платы, поэтому за ним было удобно следить. Это касается не только периферии, но и evgeniy1294(180 знак., 22.03.2019 13:24)
- Я Вам больше скажу - этот доступ атомарный - NickB(22.03.2019 12:17)
- Bitbanding и подразумевает атомарность. - evgeniy1294(22.03.2019 13:35)