介紹STM32F407位帶操作方法,設(shè)置寄存器的偏移量,實(shí)現(xiàn)按GPIO口指定位進(jìn)行讀寫操作,方便編程。
【1】位帶操作配置說明
**位段操作:實(shí)現(xiàn)51單片機(jī)中寄存器的操作方法。 **




【2】源代碼
Sys.c文件增加以下代碼:
#include "sys.h"
/*
函數(shù)功能:設(shè)置NVIC中斷控制器優(yōu)先級(jí)
函數(shù)形參:
IRQn_Type IRQn:中斷線
uint32_t PreemptPriority:搶占優(yōu)先級(jí)
uint32_t SubPriority:次優(yōu)先級(jí)
*/
void SetNVICPriorityGrouping(IRQn_Type IRQn,uint32_t PreemptPriority, uint32_t SubPriority)
{
uint32_t Priority;
NVIC_SetPriorityGrouping(NVIC_PriorityGroup_2); //設(shè)置優(yōu)先級(jí)分組,每個(gè)工程只能設(shè)置一次
Priority=NVIC_EncodePriority(NVIC_PriorityGroup_2,PreemptPriority,SubPriority); //編碼優(yōu)先級(jí)
NVIC_SetPriority(IRQn,Priority); //設(shè)置優(yōu)先級(jí)
NVIC_EnableIRQ(IRQn);
}
Led.h 增加位帶操作代碼
#define LED0 PFout(9)
#define LED1 PFout(10)
#define BEEP PFout(8)
Key.h增加位帶操作代碼
#define KEY0 PEin(4)
#define KEY1 PEin(3)
#define KEY2 PEin(2)
#define KEY_UP PAin(0)
Main.c示例代碼
#include "stm32f4xx.h" // Device header
#include "led.h"
#include "delay.h"
#include "key.h"
#include "usart.h"
#include "sys.h"
?
int main(void)
{
u8 i,key;
LED_Init();
KEY_Init();
USART1_Init(84,115200);
while(1)
{
key=ScanKeyVal(0);
if(key)
{
i=!i;
LED0=!LED0;
LED1=!LED1;
}
}
}
?
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45498瀏覽量
670597 -
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
130013 -
51單片機(jī)
+關(guān)注
關(guān)注
278文章
5714瀏覽量
134408 -
GPIO
+關(guān)注
關(guān)注
16文章
1329瀏覽量
56232 -
STM32F407
+關(guān)注
關(guān)注
15文章
189瀏覽量
31637
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
STM32F407 UCOS III實(shí)驗(yàn)
STM32F407 UCOS III實(shí)驗(yàn),介紹基于STM32F407的UCOSIII實(shí)例,參考下
發(fā)表于 09-22 14:08
?82次下載
STM32CubeMX 配置STM32F407 實(shí)現(xiàn)HAL庫延時(shí)微妙方案
STM32CubeMX 配置STM32F407 實(shí)現(xiàn)HAL庫延時(shí)微妙方案
發(fā)表于 11-24 20:51
?20次下載
STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX
STM32F407的串口UART 基礎(chǔ)配置STM32CubeMX
發(fā)表于 11-29 16:06
?56次下載
[STM32]STM32F407系列教程之四,pwm產(chǎn)生原理
[STM32]STM32F407系列教程之四,pwm產(chǎn)生原理
發(fā)表于 11-29 17:51
?54次下載
STM32F407與STM32F105 CAN通訊失敗的定位解決
STM32F407與STM32F105的CAN通訊失敗問題,經(jīng)過一系列的測(cè)試分析,發(fā)現(xiàn)并解決問題,實(shí)現(xiàn)正常的CAN通訊。問題的現(xiàn)象STM32F407 板上安裝25MHz晶體,作為HSE時(shí)鐘,內(nèi)部
發(fā)表于 12-02 16:51
?18次下載
STM32F407芯片介紹
1. 文檔準(zhǔn)備做嵌入式開發(fā)的第一步就是了解主芯片,了解STM32F407主要要關(guān)注幾個(gè)文檔:1. stm32F407芯片手冊(cè)2. stm32F407參考手冊(cè)3. Arm Cortex-M4數(shù)據(jù)手冊(cè)
【STM32F407開發(fā)板用戶手冊(cè)】第21章 STM32F407的NVIC中斷分組和配置(重要)
【STM32F407開發(fā)板用戶手冊(cè)】第21章 STM32F407的NVIC中斷分組和配置(重要)
發(fā)表于 12-04 13:51
?23次下載
STM32F407 位帶配置步驟
評(píng)論