STM控制器位帶操作詳解PPT學(xué)習(xí)教案_第1頁
STM控制器位帶操作詳解PPT學(xué)習(xí)教案_第2頁
STM控制器位帶操作詳解PPT學(xué)習(xí)教案_第3頁
STM控制器位帶操作詳解PPT學(xué)習(xí)教案_第4頁
STM控制器位帶操作詳解PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、會(huì)計(jì)學(xué)1STM控制器位帶操作詳解控制器位帶操作詳解#include “reg51.h”sbit P20= P20;void main(void) while(1) P20 = 1; delay(); P20 = 0; delay(); #include “stm32f10 x.h”sbit P20= P20;void main(void) while(1) GPIOB-BSRR|=1BRR|=1BSRR|=1BRR|=15; delay(); 第5頁/共15頁表表2-32-3第6頁/共15頁第7頁/共15頁第8頁/共15頁教材26頁 圖2-10 CM3存儲(chǔ)器組織位帶區(qū)位帶區(qū)位別名區(qū)位別名區(qū)位帶

2、區(qū)位帶區(qū)位別名區(qū)位別名區(qū)第9頁/共15頁第10頁/共15頁4n32)0 x40000000(A0 x420000004n)8)0 x40000000(A0 x42000000AliasAddr4n32)0 x20000000(A0 x220000004n)8)0 x20000000(A0 x22000000AliasAddrSRAM對于外設(shè)位帶區(qū)位帶區(qū)對于注釋(對于位帶區(qū)的某個(gè)bit,上圖紅色圈中的bit)n:所代表的位序號(0n7)。例如上圖中n=3A:該bit所在的字節(jié)地址。例如上圖中A=0 x2000 0000(0 x20000000A0 x200FFFFF或0 x20000000A0

3、x200FFFFF )AliasAddr:該bit在別名區(qū)的地址。例如上圖AliasAddr=0 x2200000C第11頁/共15頁舉例:在SRAM的0 x20004000地址定義一個(gè)長度為512字節(jié)的數(shù)組:#pragma location =0 x20004000 _root _no_init u8 Buffer512;GPIOA的端口輸出數(shù)據(jù)寄存器位于地址0 x4001080C。要求:將數(shù)組中數(shù)據(jù)通過GPIOA.0引腳送出分析:數(shù)組首字節(jié)的bit0對應(yīng)的位別名區(qū)地址為:0 x22000000+(0 x20004000-0 x20000000)32)+(04)=0 x22080000GPI

4、OA.0控制其輸出電平的bit位所對應(yīng)的別名區(qū)地址為:位所對應(yīng)的別名區(qū)地址為:0 x42000000+(0 x4001080C-0 x40000000)32)+(04)=0 x42210180u32 *pBuffer=(u32 *)0 x22080000;u16 cnt = 512 * 8;while(cnt-) (*(u32 *)0 x42210180)=*pBuffer+;第12頁/共15頁1 指針、地址與取指針操作#define PD12 (volatile unsigned long *)(0 x424182b0) /0 x424182b0為GPIOD.12引腳對應(yīng)的映射位別名地址*P

5、D12=0 x01;/PD12引腳置高電平2 直接定義使用地址操作#define PD12 *(volatile unsigned long *)(0 x424182b0) /0 x424182b0為GPIOD.12引腳對應(yīng)的映射位別名地址PD12=0 x01;/PD12引腳置高電平3 宏定義,轉(zhuǎn)換別名操作使用:VIEW_TIME=1; VIEW_TIME=0;/GPIOA.10引腳 輸出1或者0分析:#define VIEW_TIME PAout(10)#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) /輸出 #define PAin(n) BIT_AD

6、DR(GPIOA_IDR_Addr,n) /輸入#define GPIOA_ODR_Addr (GPIOA_BASE+12) /0 x4001080C#define GPIOA_BASE (APB2PERIPH_BASE + 0 x0800)#define APB2PERIPH_BASE (PERIPH_BASE + 0 x10000)#define PERIPH_BASE (uint32_t)0 x40000000) #define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)#define MEM_ADDR(addr) *(volatile unsigned long *)(addr) #define BITB

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論