Bu soru daha önce yanıtlandıysa beni affet, ancak bu sayfada veya daha geniş İnternette bir cevap bulamadım.
Düşük düzeyli programlama konusunda iyi bilgiye sahip, ancak gömülü geliştirme konusunda nispeten yeni olan deneyimli bir geliştiriciyim. Kendime, STM32F746ZG MCU içeren bir ST-NUCLEO144 kartı kullanarak gömülü sistem geliştirme öğretiyorum. Benim için açık olmayan bir soru, bir kayıttaki mantıksal olarak ilişkili bit alanlarının neden farklı yerlerde olabileceğidir.
Bunun bir örneği USART_CR1STM32746ZG'deki kayıttır. M0Ve M1bit alanları birlikte USART TX / RX sözcük uzunluğu, bir araya getirilir, 2-bit değerini kontrol 0b00belirlediği 8-bit 0b01dışında belirtir 9-bit, vs. Bu tüm oldukça basittir M0bit 12 olduğu ve M1bit olan 28 ... bu neden?
Bu, daha önce ayrılmış alana yeni bir özellik eklendiği gibi eski tasarım nedenleriyle mi? Çip tasarımı ile ilgili nedenlerden dolayı düşünmediğim mi, yoksa görmediğim daha büyük bir amacı var mı?
Açıkçası bu, bit maskeleme ile üstesinden gelmek oldukça önemsiz, ama sadece merak ediyorum.

