le >>What est la meilleure manière de modifier des bitfields utilisés pour le registre interne
est ne pas employer des bitfields.
>> Je veux modifier le « DR » (peu 3.2)
Je ne vois pas comment cela assortit vos bitfields DR
==============
Voir si est ce pour ce que vous conduisez :
En tous cas, il semble que vous voulez que votre fonction d'UpdateReg () soit assez générale pour manipuler n'importe quel scénario.
UpdateReg (le masque de char, carbonisent newPattern) ;
là où le masque est un ensemble de peu arbitrairement placé qui se dégagera
Je suppose que vous pouvez lire le registre dans une variable de temp, et puis le manoeuvre, et l'écris finalement de nouveau au registre de HW. (Ce n'est pas toujours vrai, depuis lire parfois les changements de registre de HW la valeur.)
Ainsi le masque est adapté au premier clair le peu correspondant dans la variable de temp (après que vous lisez le registre de HW). Puis, using le masque encore avec le newPattern, j'ai maintenant l'ensemble valide de peu (ou de 0) ou dans au registre de temp. Écrire alors le temp de nouveau au HW.