1. 程式人生 > >STM32學習之:GPIO最簡單操作步驟

STM32學習之:GPIO最簡單操作步驟

需用到的".c"庫函式為 stm32f10x_gpio.c 和stm32f10x_rcc.c
 
1.  啟動相應Port x的RCC(復位始終控制)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);
    x可以是A到G , GPIO都由APB2(高速外設)時鐘控制
2.  GPIO初始結構中的三個引數賦值(該結構名需程式前定義:"GPIO_InitTypeDef  GPIO_InitStructure;")
    三個引數分別為
    引腳:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
    速度:GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
    模式:GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
    三個引數的取值可查《韌體函式庫》
3.  用GPIO初始化函式  GPIO_Init(GPIOx,&GPIO_InitStructure) ,將前面賦完值的結構定義到Port x上
    x可以是A到G;
4.  接著即可用GPIO_ResetBits(GPIOx,GPIO_Pin_y) 函式將引腳置0 
     或  用GPIO_SetBits(GPIOx,GPIO_Pin_y) 函式將引腳置1
     x可以是:A到F;
     y可以是:0到15;多個可用" | "隔開,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
5.  也可以用GPIO_ReadInputDataBit(GPIOx,GPIO_Pin_y)函式讀取輸入引腳的值
      或 用GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin_y)函式讀取輸出引腳的值
      x可以是:A到F;
      y可以是:0到15;多個可用" | "隔開,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
注:a)讀取整個Port 值的函式為GPIO_ReadInputData(GPIOx)和GPIO_ReadOutputData(GPIOx)
        b)寫整個Port 值的函式為GPIO_Write(GPIOx,數值)
        c)一般按前3步啟動後,被設定的GPIO引腳都會被置0(低電平)
 
 

相關推薦

STM32學習GPIO簡單操作步驟

需用到的".c"庫函式為 stm32f10x_gpio.c 和stm32f10x_rcc.c   1.  啟動相應Port x的RCC(復位始終控制)     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);  

大數據開發學習hbase命令的簡單操作

數據 小白 hba name isa 出現 base 相同 大牛 小課堂之hbase命令的簡單操作 1、創建一張表 create 表名,列族名 create ‘t0‘,‘cf01‘ --把單引號去掉? undefined local variable or method `

STM32學習 3GPIO管腳配置與第一個STM32實驗LED燈閃爍

STM32學習 3:GPIO管腳配置與第一個STM32實驗:LED燈閃爍 1,GPIO管腳簡介與配置 1.1GPIO框圖 1.2GPIO不同模式 1.3 GPIO暫存器 1.4 GPIO庫函式配置 2,LED燈閃爍實

STM32學習外部中斷

一、STM32中斷分組:  STM32 的每一個GPIO都能配置成一個外部中斷觸發源,這點也是 STM32 的強大之處。STM32 通過根據引腳的序號不同將眾多中斷觸發源分成不同的組,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0為第一組,那麼依此類推,我們能得出一共有16 組,STM32 規定

STM32學習Context—M3簡介

Cortex-M3概覽 (1)簡介      Cortex-M3是一個 32位處理器核心。內部的資料路徑是 32位的,暫存器是 32位的,儲存器介面也是 32 位的。CM3 採用了哈佛結構,擁有獨立的指令匯流排和資料匯流排,可以讓取指與資料訪問並行不悖。這樣一來資料訪問不再佔用指令匯流排,從而提升了效能。為

Docker學習Docker基本簡單操作命令

查詢tomcat映象; docker search tomcat 進入容器 docker exec -it 458(容器ID) /bin/bash 檢視容器完整id docker inspect 14b7 | grep Id 上傳war包到docker docker te

【python學習筆記】39認識SQLAlchemy,簡單操作Pandas中的DataFrame

學習《Python3爬蟲、資料清洗與視覺化實戰》時自己的一些實踐。 認識SQLAlchemy SQLAlchemy是Python的ORM工具,就像Java有Hibernate一樣,實現關係型資料庫中的記錄與Python自定義Class的物件的轉化,實現操作之間的對映。

機器學習筆記八—— knn-簡單的機器學習演算法以及KD樹原理

上一節結束了線性迴歸、邏輯迴歸,今天一節來介紹機器學習中最簡單的演算法:    K近鄰(KNN,全稱K-nearst Neighbor)       概述:判斷一個樣本的label只需要判斷該樣本週圍其他樣本的label。簡言之,朋

struts2入門學習實現一個簡單的登入操作

其實struts2學習並不難,只是需要注意下細節,本文將實現一個基於struts2的簡單的網頁登入操作,先說一下流程吧: 1.配置struts,這是最重要的 2.寫一個繼承ActionSupport的

Pytkinterpython簡單的猜字小遊戲帶你進入python的GUI世界

from tkinter import *  import tkinter.simpledialog as dl  import tkinter.messagebox as mb    root = Tk()   w = Label(root, text = "Guess N

STM32實驗一GPIO流水燈

前面寫過一篇關於STM32微控制器的GPIO的文章,本來是打著從實用角度來做的實驗,但是發現不積跬步無以至千里啊,咱們從頭開始,先做一個最簡單的,入門級的,微控制器系統中的hello world,流水燈實驗! 我手中有一個神舟3的開發板,我就用這個板子來做實驗,板子中的實驗

stm32學習第七天

rccclkconfig.c檔案 #if 0 /*  *SetSysClock函式來源於system_stm32f4_xx.c  */ static void SetSysClock(void) {   __IO uint32_t StartUpCounter = 0, H

STM32學習路-感覺自己走到了一個天大的坑裏了!

port 感覺 mar lcd 學習之路 位數 iss b- 速度 先前興致勃勃的來弄16位並口驅動LCD。本以為就須要改下LCD IC的初始化即可了,沒想到弄了這麽多天最終發現自己走進了一個深坑了 T T 原因是我的開發板是奮鬥V5的, 它確實有MCU外擴IO口, 還

javaWeb寫一個簡單的servlet

tran oid w3c write 分享 瀏覽器 servle code mapping 1. 創建一個類servletTest2 繼承HttpServlet類。 public class servletTest2 extends HttpServlet {

STM32學習路-LCD(4)<顯示字符>

計算 ack 字節 ring oid ng- 透明 標點符號 函數 昨晚瘋狂的打了一夜的LOL,感覺L多了,今天一天精神萎靡.還是繼續把顯示字符給看了,可是在猶豫要不要寫這篇文章 事實上寫的東西也就是copy別人家的代碼,不想寫那麽多,就記錄下自己困惑的地方吧.也

stm32學習錯誤匯總(僅僅就我學習過程中所遇到的)

com 支持 解決 bug 9.png ash cpu .cn src 1.Error:Flash Download Failed-"Cortex-M3" 出現這處問題通常是MDK中的Flash的編程算法沒有配置或沒有配置正確,通俗的講,就是我們沒有配置好下載的環境,導致程

Python學習旅—Day05(文件操作)

big 這份 案例 最終 lis remove 方法表 == offset 前言: 前面5篇博客主要對Python的相關基礎知識和重點疑難問題進行了相關整理,本篇博客主要針對文件操作相關知識點來做一個系統性的梳理,以期幫助大家快速掌握文件操作的知識。

ReactNative學習開發圖標庫react-native-vector-icons

git con www http tps ati https ionic 今天 GitHub地址:https://github.com/oblador/react-native-vector-icons iOS 參考:http://www.jianshu.com/p/4

STM32學習筆記開篇準備

一個 pan 開發文檔 發現 soft 也有 系統 寄存器 http STM32作為一類高級單片機,在應用中不容小覷。 所以本人從2018年1月1日開始對於STM32系列單片機的學習 很感謝我的班主任送我的開發板:STM32F429I-DISCOVERY (M4) 以下

linux零基礎學習Linux sed 命令常用操作詳解

延伸 進行 數據 12px -i 空白 字符串 options 信息 sed是Linux系統中一個很好的文件處理工具,可以對數據進行替換、刪除、新增以及選取等操作,使用起來也十分方面,以下是全面的sed操作介紹。sed命令行格式:sed [options] 'com