0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于N32G45的按鍵驅(qū)動

wang123a ? 來源:wang123a ? 作者:wang123a ? 2022-12-04 10:44 ? 次閱讀

1.N32G45簡介

N32G45系列集成了最新一代嵌入式ARM Cortex?-M4F處理器,在Cortex?-M3內(nèi)核的基礎(chǔ)上強(qiáng)化了運(yùn)算能力、新增加了浮點運(yùn)算處理單元(FPU)、DSP和并行計算指令,提供1.25DMIPS/MHz的優(yōu)異性能。

同時其高效的信號處理能力與Cortex-M系列處理器的低功耗,低成本和易于使用的優(yōu)點組合,用以滿足需要控制和信號處理混合能力且易于使用的應(yīng)用場景。

ARM Cortex?-M4F 32位精簡指令集處理器具有優(yōu)異的代碼效率,通常采用8位和16位器件的存儲器空間即可發(fā)揮ARM內(nèi)核的高性能。

2.N32外設(shè)功能

高達(dá) 512KByte 片內(nèi) Flash,支持加密存儲、多用戶分區(qū)管理及數(shù)據(jù)保護(hù),支持硬件 ECC 校驗,10萬次擦寫次數(shù),10 年數(shù)據(jù)保持。

144KByte 片內(nèi) SRAM(包含 16KByte Retention RAM),Retention RAM 支持硬件奇偶校驗。

通訊接口 ??

― 7 個 U(S)ART 接口, 最高速率達(dá) 4.5 Mbps,其中 3 個 USART 接口(支持 1xISO7816,1xIrDA, LIN),4 個 UART 接口

?? ― 3 個 SPI 接口,速度高達(dá) 36 MHz,其中 2 個支持 I2S

?? ― 1 個 QSPI 接口,速率高達(dá) 144 Mbps

?? ― 4 個 I2C 接口,速率高達(dá) 1 MHz,主從模式可配,從機(jī)模式下支持雙地址響應(yīng)

?? ― 1 個 USB2.0 Full speed Device 接口

?? ― 2 個 CAN 2.0A/B 總線接口

?? ― 1 個 SDIO 接口,支持 SD/MMC 格式

ADC模擬接口

?? ――2 個 12bit 5Msps 高速 ADC,多種精度可配置,6bit 模式下采樣率高達(dá) 9Msps,多達(dá) 18 路外部單端輸入通道,支持差分模式

?? ――2 個 12bit DAC,采樣率 1Msps

?? ――支持外部輸入獨立參考電壓源

?? ――所有模擬接口支持 1.8~3.6V 全電壓工作

最大支持 97 個支持復(fù)用功能的 GPIOs,大多數(shù) GPIO 支持 5V 耐壓.

2個高速 DMA 控制器,每個控制器支持 8 通道,通道源地址及目的地址任意可配

RTC 實時時鐘,支持閏年萬年歷,鬧鐘事件,周期性喚醒,支持內(nèi)外部時鐘校準(zhǔn)

定時計數(shù)器

?? ――2 個 16bit 高級定時計數(shù)器,支持輸入捕獲、輸出比較、PWM 輸出以及正交編碼輸入等功能,最高控制精度 6.9nS。每個定時有 4 個獨立的通道,其中 3 個通道支持 6 路互補(bǔ) PWM 輸出

?? ――4 個 16bit 通用定時計數(shù)器, 每個定時器有 4 個獨立通道,支持輸入捕獲/輸出比較/PWM 輸出

?? ――2 個 16bit 基礎(chǔ)定時計數(shù)器

?? ――1x 24bit SysTick

?? ――1x 7bit 窗口看門狗(WWDG)

?? ――1x 12bit 獨立看門狗( IWDG)

poYBAGOLAVeAaSXjAAHoHrxPfOQ149.png#pic_center

3.基于N32G457VEL7開發(fā)板介紹

N32G45XVL-STB 開發(fā)板用于國民技術(shù)股份有限公司高性能 32 位 N32G45XVL 系列芯片的樣片開發(fā)。基于ARM架構(gòu)的Cortex-M4F內(nèi)核,時鐘頻率為144MHZ,存儲空間flash大小為512KB,運(yùn)行空間Sram大小為144KB。

支持串口下載,Jlink下載仿真、USB下載以及CMSIS-DAP下載仿真。板子本身自帶CMSIS-DAP接口電路。

poYBAGOLAxOAXp4SAA0Ah_8_fng056.png#pic_center

開發(fā)板原理圖如下

poYBAGOLA6GAYKqcAAMtZEjN65c245.png#pic_center

3.基于N32G45的按鍵操作

關(guān)于N32G45的工程創(chuàng)建可查看帖子: https://bbs.elecfans.com/jishu_2320004_1_1.html

1.要實現(xiàn)按鍵驅(qū)動可分為三個步驟:1.開時鐘;2配置GPIO口;3.上下拉。

接下來,我們先看下按鍵的硬件接口,原理圖如下:

pYYBAGOL7ZCAWCBtAABzZL-XCdY364.png

根據(jù)原理圖可知,按鍵的硬件接口為:

S1 ---PA4 S2 ---PA5 S3 ---PA6

有了硬件接口,我們即可按照3步操作即可。

開時鐘

要開啟時鐘,我們可以先看下N32G45的系統(tǒng)構(gòu)架,系統(tǒng)構(gòu)架框圖如下:

poYBAGOLSduAMEn_AAF6qh2dl0U833.png#pic_center

根據(jù)系統(tǒng)構(gòu)架框圖可以看出,整個內(nèi)核結(jié)構(gòu)分為三條總線:AHB、APB2、APB1。其中AHB總線時鐘頻率為144MHZ,APB2上時鐘總線為72MHZ、APB1上時鐘總線為36MHZ。

根據(jù)按鍵原理圖,我們只需要開啟PA時鐘即可

poYBAGOL7qWAWHMIAADEm4YffRo686.png

/*1.開時鐘*/
RCC->APB2PCLKEN|=1<<2;//PA

配置GPIO口

對應(yīng)GPIO端口配置,我們需要參考用戶手冊的第7章節(jié)。

GPIO( General purpose input/output) 即通用型 I/O, AFIO( Alternate-function input/output) 即復(fù)用功能 I/O。芯片最多支持 97 個 GPIO,共被分為 7 組(GPIOA/GPIOB/GPIOC/GPIOD/GPIOE/GPIOF/GPIOG),每組 16個端口( F 組共 10 個, G 組共 7 個)。 GPIO 端口和其他的復(fù)用外設(shè)共用引腳,用戶可以根據(jù)需求靈活配置。

每個 GPIO 引腳都可以獨立配置成輸出、輸入或復(fù)用的外設(shè)功能端口。除了模擬功能引腳外,其他的 GPIO引腳都有大電流通過能力。

GPIO 端口可由軟件分別配置成以下模式:

???■ 輸入浮空
???■ 輸入上拉
???■ 輸入下拉
???■ 模擬功能
???■ 開漏輸出
???■ 推挽輸出
???■ 推挽復(fù)用功能
???■ 開漏復(fù)用功能

對應(yīng)按鍵,我們需要配置的模式為推挽輸出。

端口模式配置寄存器

poYBAGOLTa2AU2mBAAK2VOXqGa4600.png#pic_center

按鍵GPIO口配置如下:

  /*配置GPIO口*/
  GPIOA->PL_CFG&=0xF000FFFF;
  GPIOA->PL_CFG|=0x08880000;//上拉/下拉輸入模式

注意:由于按鍵是做檢測,判斷按鍵是否按下,所以按鍵模式配置需要設(shè)置為輸入模式。

上下拉

上下拉操作,即設(shè)置初始化的電平狀態(tài)??赏ㄟ^GPIO_POD或者GPIO_PBSC實現(xiàn)。

根據(jù)按鍵硬件原理圖,按鍵按下為低電平,要想正常檢測到按鍵是否按下,則需要產(chǎn)生一個由高電平到低電平的跳變過程,因此按鍵需要設(shè)置為上拉模式。

pYYBAGOLT3aASzz6AAEJCcS1esw841.png#pic_center

  GPIOA->POD|=0x7<<4;//上拉,將PA4~PA6設(shè)置為高電平

3.2 按鍵檢測

為方便后續(xù)按鍵使用,我們可以單獨封裝一個按鍵檢測函數(shù),通過返回值確定哪個按鍵按下。

/***************檢測按鍵函數(shù)*************
**硬件接口:KEY1 --PA0 按下為高電平
**					KEY2 --PA1 按下為低電平
**					KEY3 --PA4按下為低電平
**					KEY4 --PA5按下為低電平
**返回值:KEY1按下 --返回1
**				KEY2按下 --返回2
**				KEY3按下 --返回3
**				KEY4按下 --返回4
**沒有按鍵按下:返回0
**注:該函數(shù)一次只能檢測一個按鍵是否按下
**作者:IT_阿水
******************************************/
u8  Key_Scan(void)
{
	static u8 stat=0;//按鍵按下標(biāo)志位
	if((!KEY1 || !KEY2 || !KEY3) && (stat==0))//是否有按鍵按下
	{
		Delay_Ms(20);//延時消抖
		stat=1;//表示有按鍵按下
		if(KEY1==0)return 1;
		else if(KEY2==0)return 2;
		else if(KEY3==0)return 3;
	}
	else
	{
		if(KEY1 && KEY2 && KEY3 )stat=0;//是否所有按鍵都松開
	}
	return 0;//沒有按鍵按下
}

注意,上面函數(shù)中KEY1、KEY2、KEY3均是通過位帶方式實現(xiàn),具體寫法查看帖子:https://bbs.elecfans.com/jishu_2320004_1_1.html

3.3 按鍵控制LED

通過任意一個按鍵,實現(xiàn)LED的亮滅。

#include "n32g45x.h"
#include "led.h"
#include "key.h"

#include "delay.h"
int main()
{
  u8 key_val;
  LED_Init();
  KEY_Init();

  while(1)
  {
    key_val=Key_Scan();
    if(key_val)
    {
      LED_D1=!LED_D1;
      LED_D2=!LED_D2;
      LED_D3=!LED_D3;
    }

  }    
}

實現(xiàn)效果如下:

按下按鍵所有的LED點亮,再按一次按鍵所有的LED熄滅。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式技術(shù)
    +關(guān)注

    關(guān)注

    10

    文章

    358

    瀏覽量

    35209
  • 按鍵驅(qū)動
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    7115
  • n32g455
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    903
收藏 人收藏

    評論

    相關(guān)推薦

    基于N32G45的OLED驅(qū)動

    ? SPI是串行外設(shè)接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡單易用的特性,越來越多的芯片集成了這種通信協(xié)議。 SPI:高速同步串行口。是一種標(biāo)準(zhǔn)的四線同步雙向串行總線,是串行外圍設(shè)備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在 EEPROM,F(xiàn)LASH,實時時鐘,AD轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。
    的頭像 發(fā)表于 12-07 11:52 ?2415次閱讀
    基于<b class='flag-5'>N32G45</b>的OLED<b class='flag-5'>驅(qū)動</b>

    N32G45x/G4FRx/N32WBx系列觸控設(shè)計指南

    本應(yīng)用筆記主要針對 N32G45x/G4FRx/N32WBx 系列 MCU 在智能門鎖、智能家居等觸控產(chǎn)品上提供完整的觸控解決方案及典型觸控應(yīng)用的詳細(xì)說明,為開發(fā)者提供技術(shù)支持。
    發(fā)表于 11-02 06:12

    國民技術(shù)N32G45環(huán)境搭建及點燈測試

    實現(xiàn)LED驅(qū)動可分為三個步驟:1.開時鐘;2配置GPIO口;3.上下拉。開時鐘??要開啟時鐘,我們可以先看下N32G45的系統(tǒng)構(gòu)架,系統(tǒng)構(gòu)架框圖如下:??根據(jù)系統(tǒng)構(gòu)架框圖可以看出,整個內(nèi)核結(jié)構(gòu)分為三條
    發(fā)表于 12-03 16:34

    【精品合集】國民技術(shù)N32開源移植挑戰(zhàn)賽作品合集

    345XVL-STB項目移植 —開箱+資料【國民技術(shù)N32項目移植】MacOS開發(fā)N32G45 1、創(chuàng)建開發(fā)環(huán)境【國民技術(shù)N32項目移植】RT-THread 移植 LED閃燈【國民技術(shù)N
    發(fā)表于 01-10 13:59

    【國民技術(shù)N32項目移植】MacOS開發(fā)N32G45 1、創(chuàng)建開發(fā)環(huán)境

    457/Nationstech.N32G45x_DFP.1.0.5.pack ./build/output.bin0000839 I Loading /Users/liujianhua/Downloads
    發(fā)表于 01-26 09:15

    【國民技術(shù)N32項目移植】項目提交-物聯(lián)網(wǎng)心率監(jiān)控設(shè)備

    使用中斷,減輕復(fù)雜性,本項目采用了開發(fā)板的KEY1和KEY2這兩個按鍵。IIC應(yīng)用開源項目RA6M4使用了軟件IIC,而N32G45使用了硬件IIC。加快OLED刷新率,顯示波形圖不會卡頓。LED驅(qū)動開源
    發(fā)表于 02-12 16:41

    【國民技術(shù)N32項目移植】5.項目提交-天氣顯示及預(yù)報系統(tǒng)介紹以及演示

    技術(shù)N32G45芯片微處理器,運(yùn)行RT-Thread操作系統(tǒng),實現(xiàn)包括系統(tǒng)外設(shè)初始化、網(wǎng)絡(luò)接入、系統(tǒng)管理、數(shù)據(jù)獲取、數(shù)據(jù)顯示等功能。平臺層和應(yīng)用層功能則由服務(wù)器和開發(fā)板以及顯示屏協(xié)同實現(xiàn)。系統(tǒng)整體框圖
    發(fā)表于 02-22 19:53

    N32G45的工程項目如何添加AT組件?

    目前使用的是N32G45的工程項目,需要添加AT組件,然后我根據(jù)文檔發(fā)現(xiàn)沒有AT的代碼,從rtthread studio新建的項目中把AT文件夾復(fù)制過來,在其中使用ENV工具配置,手動將程序全都放進(jìn)工程中新建的文件夾,編譯的時候發(fā)現(xiàn)沒有,下載了at_device軟件版之后不知道怎么配置了。
    發(fā)表于 09-07 16:52

    N32G45x&N32G4FR&N32WB452系列芯片串口IAP升級應(yīng)用筆記

    AN_N32G45xamp;N32G4FRamp;N32WB452系列芯片串口IAP升級應(yīng)用筆記
    發(fā)表于 11-07 15:03 ?10次下載

    N32G45x_N32G4FR_N32WB452_GCC開發(fā)環(huán)境應(yīng)用筆記

    AN_N32G45x_N32G4FR_N32WB452_GCC開發(fā)環(huán)境應(yīng)用筆記_V1
    發(fā)表于 11-07 15:05 ?17次下載

    國民技術(shù)N32G45XVL-STB開發(fā)版資料

    國民技術(shù)N32G45XVL-STB開發(fā)版資料,本資料包含原理圖源文件、PCB源文件以及N32G45XVL-STB開發(fā)板硬件使用手冊
    發(fā)表于 11-07 15:23 ?0次下載

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發(fā)表于 11-10 19:50 ?2次下載
    <b class='flag-5'>N32G45</b>x系列用戶手冊

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發(fā)表于 11-10 19:50 ?0次下載
    <b class='flag-5'>N32G45</b>x系列用戶手冊

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發(fā)表于 11-10 19:50 ?0次下載
    <b class='flag-5'>N32G45</b>x系列用戶手冊

    國民技術(shù)N32G45X&N32G4FR系列硬件設(shè)計指南V1

    國民技術(shù)UG_N32G45X&N32G4FR系列硬件設(shè)計指南V1
    發(fā)表于 10-18 16:12 ?0次下載