王其平的實習(xí)報告_第1頁
王其平的實習(xí)報告_第2頁
王其平的實習(xí)報告_第3頁
王其平的實習(xí)報告_第4頁
王其平的實習(xí)報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 目錄 第一章 keil uVision4軟件的安裝1第二章 工程文件夾的建立1第三章 串口5第四章 按鍵7第五章 SPI9第六章 LCD12第七章 DMA14第八章 GPIO口19第一章 keil uVision4軟件的安裝1. 打開壓縮包中的Keil ARMKil4 mdk460 。22. 安裝完畢打開uVision4,點擊復(fù)制右上角的CID再打開壓縮包中KEIL_Lic4點擊Generate生成許可號5將許可號復(fù)制到License Management6,注冊成功。第二章 工程文件夾的建立1、 從固件庫里面拷貝Libraries到我們的工程目錄下.2、 再新建兩個文件夾obj-存放工程生

2、成的文件 user-存放我們以后自己新建的.c .h文件.3、 進入user目錄新建兩個文件夾 inc-存放我們的.h文件 src-存放我們的.c文件.4、 去到固件庫里面的project里面STM32F10x_StdPeriph_Template.5、 新建工程文件 STM32project.6、 選擇工程存放位置.7、 選擇CPU型號 STM32F103ZE.8、 是否選擇KEIL帶的啟動文件.9、 修改工程文件.10、 修改文件夾名和新建文件夾StdDriver、user.11、 添加文件.3個文件12、 修改編譯環(huán)境.13、 建main.c文件.#include stm32f10x.h

3、int main(void)while(1)編譯文件14、工程文件說明.模塊化編程-每一個模塊獨立建立.h-函數(shù)聲明 變量聲明(聲明的函數(shù)/變量可以被其它.c文件調(diào)用) .c文件-函數(shù)的實現(xiàn) 變量定義。第三章 串口1、 通用同步異步收發(fā)器 USART Universal Synchronous/Asynchronous Receiver/Transmitter串口收發(fā)器可以配置為同步模式,也可以配置為異步模式但是一般使用的是異步模式,同步模式很少使用,大家有興趣的話可以自己研究下也就是我們今天要講的是通用異步收發(fā)器 UART UART:通用異步收發(fā)器 1 、串口:一個字節(jié),一根數(shù)據(jù)線,數(shù)據(jù)一位

4、一位發(fā)送 并口:一個字節(jié),8根數(shù)據(jù)線,字節(jié)的各個位同時發(fā)送2、 同步:有時鐘線,根據(jù)時鐘線上的時鐘脈沖,主從設(shè)備來決定自己是收數(shù)據(jù)還是發(fā)數(shù)據(jù)3、上面講了怎么傳輸數(shù)據(jù),還有一個主從機數(shù)據(jù)的傳輸方向問題了 全雙工:收發(fā)同時進行 就是現(xiàn)在電話機 手機 線:3條:發(fā)TX 收RX 共地GND 半雙工(分時復(fù)用):收發(fā)同一時間只能有一個在進行 對講機 線:2條:收發(fā)公用一條線 共地 單工:只能發(fā)/只能收 打印機 二、 串口驅(qū)動程序設(shè)計,實現(xiàn)電腦與開發(fā)板的通信我們使用串口1-UART11、串口的初始化初始化引腳-PA9,PA10 PA9-USART1_TX-推挽輸出-2M 9600 115200 PA10-

5、USART1_RX-浮空輸入-電平更加穩(wěn)定初始化串口模塊-設(shè)置數(shù)據(jù)幀和波特率,工作模式使能串口模塊,使能發(fā)送,使能接收2、 串口發(fā)送函數(shù)While(USART-SR&(1DR =data;3、 串口接收函數(shù)signed char USART1_receive(void)u8 data;if(USART1-SR&(1DR;return data;return -1; 4、電腦串口助手與開發(fā)板的通信實現(xiàn)數(shù)據(jù)回顯三、 用printf()從串口輸出microlib 提供了一個有限的 stdio 子系統(tǒng),它僅支持未緩沖的 stdin、stdout 和 stderr。 這樣,即可使用 printf() 來

6、顯示應(yīng)用程序中的診斷消息。要使用高級 I/O 函數(shù),您必須提供自己實現(xiàn)的以下基本函數(shù),以便與您自己的 I/O 設(shè)備配合使用。fputc()為所有輸出函數(shù)實現(xiàn)此基本函數(shù)。 例如,fprintf()、printf()、fwrite()、fputs()、puts()、putc() 和 putchar()。int fputc(int ch, FILE *f)UART2_SendByte(ch); return (ch);四、 串口重映射五、配置其它串口第四章 按鍵1、 弄清按鍵所接引腳的配置屬性按鍵有兩種狀態(tài):按下去和沒按的狀態(tài)。比如說: CPU通過檢測引腳是高電平還是低電平,來判斷按鍵是否按下去那么

7、引腳應(yīng)該配置為什么屬性?輸入- 浮空輸入-1,檢測外部信號 2,引腳外面接有上拉電阻或下拉電阻按鍵引腳外面接有上拉電阻,選擇浮空輸入下拉輸入-上拉輸入-模擬輸入-2、 程序如何判斷外部IO口的高低電平 GPIOx-IDR &(1IDR &(1IDR&(1IDR)&(1IDR&(1n)=1;判斷低電平:(GPIOx-IDR&(1IDR)&(1IDR&(1n)=0; 3、設(shè)計程序?qū)崿F(xiàn)按鍵,按一次燈亮,再按一次燈滅 1、先把延時函數(shù)添加進去:添加delay_us delay_ms函數(shù)到工程 一定要:初始化延時函數(shù) delay_init(72); delay_ms();最大只能延時:1864ms 2、

8、消抖 4、 狀態(tài)機的運用定義一個靜態(tài)變量,專門用來標(biāo)示按鍵的狀態(tài)為什么要定義一個靜態(tài)變量來表示按鍵的狀態(tài)?5、 位帶操作像單片機一樣操作引腳PAout(n);PAin(n);PBout(n);PBin(n);PXout(n);PXin(n);原理:Cortex-M3 的內(nèi)部存儲空間有2 個“位帶區(qū)”,分別稱為“ SRAM 位帶區(qū)”和“外設(shè)存儲位帶區(qū)”,各自位于 SRAM 區(qū)和外設(shè)存儲區(qū)各自最低的 1MBit 空間;并有對應(yīng)的 2 個“位帶別名區(qū)”,分別稱為“ SRAM 位帶別名區(qū)”和“外設(shè)存儲位帶別名區(qū)”,每個別名區(qū)大小為 32MBit?!拔粠А奔夹g(shù)將兩個“位帶區(qū)”的每一位分別映射帶對應(yīng)的“位

9、帶別名區(qū)”的一個“字”(即 32 位)的最低位上。這部分存儲空間(32M)是通過映射技術(shù)“虛擬”出來的,STM32 片內(nèi)的這部分地址空間并沒有物理存儲介質(zhì)存在。第五章 SPI一、時序 1)時鐘頻率(波特率)-發(fā)送或者接收一個位要多長時間 我們M3最快18M SPI的輸出時鐘必須在從機的范圍內(nèi) 看時序圖里面的時鐘高低電平的最小時間 也就是找最小周期 要去有時間特性的時序圖找。 如果找時鐘頻率找不到確定-給最小 tch-200ns tcl200ns T=400ns f=1/T -2.5M 2)時鐘相位和時鐘極性 時鐘相位CPHA-上升沿/下降沿 0: 數(shù)據(jù)采樣從第一個時鐘邊沿開始;1: 數(shù)據(jù)采樣從

10、第二個時鐘邊沿開始。 通俗:就是上升沿采樣數(shù)據(jù)還是下降沿采樣數(shù)據(jù) 串口靠時間來數(shù)據(jù)。同步通信-采樣數(shù)據(jù)就是什么時候去拿數(shù)據(jù) 時鐘極性CPOL-高低電平 作用:決定第一個時鐘邊沿-空閑的時候的電平 時鐘相位CPHA 和 時鐘極性CPOL組合成多少種情況? 答:4種時序模式 1、空閑的時候時鐘極性CPOL=0 ,時鐘相位CPHA=0 上升沿采樣數(shù)據(jù) CPOL = 0 CPHA = 0 空閑的時候時鐘線SCK為低電平上升沿采樣數(shù)據(jù) 2、空閑的時候時鐘極性CPOL=0 ,時鐘相位CPHA=1 下降沿采樣數(shù)據(jù) CPOL = 0 CPHA = 1 空閑的時候時鐘線SCK為低電平下降沿采樣數(shù)據(jù) 3、空閑的時

11、候時鐘極性CPOL=1 ,時鐘相位CPHA=0 下降沿采樣數(shù)據(jù) CPOL = 1 CPHA = 0 空閑的時候時鐘線SCK為高電平下降沿采樣數(shù)據(jù)4、空閑的時候時鐘極性CPOL=1 ,時鐘相位CPHA=1 上升沿采樣數(shù)據(jù) CPOL = 1 CPHA = 0 空閑的時候時鐘線SCK為高電平上升沿采樣數(shù)據(jù)時序里面時鐘極性和相位,必須和從機的一樣一般:CPOL = 0 CPHA = 0 CPOL = 1 CPHA = 1 只有空閑狀態(tài)不同-時鐘線要求空閑的時候是低電平那就選CPOL = 0 CPHA = 0時鐘線接下拉電阻時鐘線要求空閑的時候是高電平那就選CPOL = 1 CPHA = 1時鐘線接上拉

12、電阻二、 配置SPI: 1、初始化引腳 2、選擇好SPI的時序 選擇:時鐘相位和極性 0 0 SPI_CR1 時鐘相位-0位 寫0 SPI2-CR1 &=(1AHBENR |=(1CCR |=(1CMAR=(u32)code;/外設(shè)的地址,外設(shè)的地址可以存儲器的地址DMA1_Channel1-CPAR=(u32)buff;/外設(shè)的地址/通道優(yōu)先級:高DMA1_Channel1-CCR &=(3CCR|=(2CNDTR =sizeof(buff);/存儲器數(shù)據(jù)寬度:8位DMA1_Channel1-CCR &=(3CCR |=(0CCR &=(3CCR |=(0CCR |=(1CCR |=(1CCR &=(1CCR &=(1CCR &=(1CRL = GPIOA-CRL & 0XFF0FFFFFGPIOA-CRL = GPIOA-CRL | 0X00200000;GPIOA-CRL &=0XFF0FFFFF; /清零GPIOA-CRL | = 0X00200000; /設(shè)置0XFF0FFFFF = (0XF5*4); PA60X00200000

溫馨提示

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

評論

0/150

提交評論