M
MagicSpark
Guest
Kailangan ko upang isaayos ang aparato kung saan ay kinokontrol ng 32 bit na magparehistro, na matatagpuan sa address 0x5000 halimbawa ako sinusubukan na malaman kung ano ang pinakamahusay na paraan upang i-set ang 32-bit na magparehistro sa Ansi C wika.
Una ay diskarte upang itakda ang bawat byte hiwa-hiwalay
# define PLLCONFIG0 0x5000
# define PLLCONFIG1 0x5001
# define PLLCONFIG2 0x5002
# define PLLCONFIG3 0x5003
Pagkatapos sa programa sa set ng bawat byte hiwalay, halimbawa:
PLLCONFIG0 = 0xFA;
PLLCONFIG1 = 0x08;
PLLCONFIG2 = 0xF0;
PLLCONFIG3 = 0xAE;
Ang problema sa paraan na ito ay na kung ang ilang mga parameter ay 11 bits wide,
halimbawa 8-18 bit, at pagkatapos ay ang isa ay dapat split halaga ng parameter na at
tayahin halaga para sa hiwalay na bytes.Ang ikalawang paraan ay upang subukan upang itakda ang halaga ng rehistro ng sabay-sabay na halaga bilang 32 bit long:
hindi linagdaan katagal * pPLLConfig = (hindi linagdaan katagal *) 0x5000;
* * * pPLLConfig = 0xAEF008FA;Mangyari lamang na ipaalam kung ano ang diskarte ay mas mahusay.Kung alam mo kung saan ko mahahanap ang mga halimbawa C
para sa mga katulad na multibytes magrehistro configuration, pakisabi sa akin.
Salamat
Una ay diskarte upang itakda ang bawat byte hiwa-hiwalay
# define PLLCONFIG0 0x5000
# define PLLCONFIG1 0x5001
# define PLLCONFIG2 0x5002
# define PLLCONFIG3 0x5003
Pagkatapos sa programa sa set ng bawat byte hiwalay, halimbawa:
PLLCONFIG0 = 0xFA;
PLLCONFIG1 = 0x08;
PLLCONFIG2 = 0xF0;
PLLCONFIG3 = 0xAE;
Ang problema sa paraan na ito ay na kung ang ilang mga parameter ay 11 bits wide,
halimbawa 8-18 bit, at pagkatapos ay ang isa ay dapat split halaga ng parameter na at
tayahin halaga para sa hiwalay na bytes.Ang ikalawang paraan ay upang subukan upang itakda ang halaga ng rehistro ng sabay-sabay na halaga bilang 32 bit long:
hindi linagdaan katagal * pPLLConfig = (hindi linagdaan katagal *) 0x5000;
* * * pPLLConfig = 0xAEF008FA;Mangyari lamang na ipaalam kung ano ang diskarte ay mas mahusay.Kung alam mo kung saan ko mahahanap ang mga halimbawa C
para sa mga katulad na multibytes magrehistro configuration, pakisabi sa akin.
Salamat