国产自产在线视频一区-久久99国产精一区二区三区-日本久久一区二区三区-日本va中文字幕亚洲久伊人

案例&資訊
案例&資訊
主頁 ? 案例&資訊 ? 行業(yè)案例 ? 查看詳情

Cortex‐M3和Cortex‐M0是否都能位帶操作

來源: 日期:2019-07-15 11:21:03

在對stm32l011f4的編程中考慮到stm32有位帶操作,想嘗試一下是否可以操作,先付上位帶操作代碼

Cortex‐M0的位帶操作代碼

//IO輸出方向設置

#define SDA_IN()  {GPIOA->MODER&=0XFFF1FFFF;}        //PA_10設置成輸入

#define SDA_OUT() {GPIOA->MODER&=0XFFF5FFFF;}       //PA_10設置成輸出

// SDA = PA_10;SCL = PA_9

#define IIC_SCL    PAout(9)

#define IIC_SDA    PAout(10)

#define READ_SDA   PAin(10)

MODER寄存器為IO端口功能寄存器

Cortex‐M3的位帶操作代碼

//IO輸入輸出設置

#define SDA_IN()  {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;}

#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<12;}

//SDA=PB_11;SCL=PB_10

#define IIC_SCL    PBout(10) //SCL

#define IIC_SDA    PBout(11) //SDA

#define READ_SDA   PBin(11)  //SDA設為輸入

CRH為Cortex‐M3的端口功能寄存器

但是由于Cortex‐M0編譯存在問題,通過對規(guī)格書的查詢對比發(fā)現(xiàn)Cortex‐M0芯片不支持位帶操作

Cortex‐M3存在端口映射區(qū)是可以支持位帶操作。

Cortex‐M0不存在端口映射區(qū)是不支持位帶操作。

因此在編寫Cortex‐M0的程序時,可以不考慮位帶操作。

Cortex-M3預定義的存儲器映射




關鍵詞:Cortex‐M0