當前位置:編程學習大全網 - 電腦編程 - 在單片機編譯環境中。。。C指針能直接操作內存地址嗎?

在單片機編譯環境中。。。C指針能直接操作內存地址嗎?

可以,對地址直接進行操作時單片機環境中非常常見的。比方說硬件控制寄存器的實現就是通過地址映射。例如:#define PERIPH_BASE ((u32)0x40000000)#define APB1PERIPH_BASE PERIPH_BASE#define TIM2_BASE (APB1PERIPH_BASE + 0x0000)#define TIM2 ((TIM_TypeDef *) TIM2_BASE)typedef struct{ ... vu16 DIER; ...} TIM_TypeDef;TIM2->DIER |= 0x0002;展開就是((TIM_TypeDef *)((u32)0x40000000))->DIER |= 0x0002;對地址0x40000000進行寫,0x40000000是硬件控制器地址。在妳的例子中0x20應該剛好是可讀可寫的RAM區。

  • 上一篇:java如何判斷是外掛軟件
  • 下一篇:UG看不到WCS工作坐標怎麽辦?
  • copyright 2024編程學習大全網