• 方案介紹
    • 【1】位帶操作配置說(shuō)明
    • 【2】源代碼
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

STM32F407 位帶配置步驟

03/30 08:32
471
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

更多詳細(xì)資料請(qǐng)聯(lián)系.docx

共1個(gè)文件

介紹STM32F407位帶操作方法,設(shè)置寄存器的偏移量,實(shí)現(xiàn)按GPIO口指定位進(jìn)行讀寫操作,方便編程。

【1】位帶操作配置說(shuō)明

位段操作:實(shí)現(xiàn)51單片機(jī)中寄存器的操作方法。

img

img

img

img

【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;
				}
		}
}

  • 更多詳細(xì)資料請(qǐng)聯(lián)系.docx
    下載

相關(guān)推薦