日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【ARM】Tiny4412裸板编程之蜂鸣器(C语言)

發布時間:2024/4/24 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【ARM】Tiny4412裸板编程之蜂鸣器(C语言) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 控制原理
    • 02. 配置寄存器
    • 03. 程序示例一
    • 04. 程序示例二
    • 05. 程序示例三
    • 06. 附錄

01. 控制原理

咱們的蜂鳴器在底板上,所以需要看底板的原理圖

打開底板原理圖(Tiny4412SDK-1506-Schematic.pdf)

由上圖可知,Tiny4412有1個蜂鳴器,控制它們四個引腳分別是GPD0_0,由原理可知,當IO引腳為高電平時,蜂鳴器就響,當IO引腳為低電平時蜂鳴器就不響了。我們要做的工作就是設置GPD0_0為輸出功能,且控制且輸出電平高低即可。

02. 配置寄存器

由原理圖可知,程序只進行了兩步操作。

第一步:GPD0功能配置寄存器,地址為0x11400000+0x000000A0=0x114000A0,每四位控制一個引腳,0輸入,1輸出等等,這里我們用到的是輸出功能,相應位(GPDCON[1])配置為1

第二步:GPD0數據寄存器,輸出時相應位賦值0/1,可以輸出高低電平,引腳配置為輸入,讀取相應引腳可以獲取IO狀態,地址為0x11400000+0x000000A4=0x114000A4

03. 程序示例一

蜂鳴器開

gpio.h文件

#ifndef __GPIO_H__ #define __GPIO_H__typedef volatile unsigned int U32; typedef volatile unsigned short U16; typedef volatile unsigned char U8;//LED #define GPM4CON *(U32*)0x110002e0 #define GPM4DAT *(U32*)0x110002e4//Key #define GPX3CON *(U32*)0x11000c60 #define GPX3DAT *(U32*)0x11000c64//Buzzer #define GPD0CON *(U32*)0x114000a0 #define GPD0DAT *(U32*)0x114000a4//LED初始化 int led_init(void); //LED 全亮 int led_allon(void); //LED 全滅 int led_alloff(void);#endif/*__GPIO_H__*/

lib.c文件

int delay(unsigned int i) {while(--i); }int delay1() {unsigned int i = 0xfffff;while(--i); }

test.c文件

#include "gpio.h"int main(void) {bell_init();bell_on();return 0; }

bell.c文件

#include "gpio.h"//Buzzer初始化 int bell_init(void) {GPD0CON &= ~0xf;GPD0CON |= 0x1;return 0; }//Buzzer 開 int bell_on(void) {GPD0DAT |= 0x1;return 0; }//Buzzer 關 int bell_off(void) {GPD0DAT &= ~0x1;return 0; }

Makefile

CROSS_COMPILE = arm-linux- CC = $(CROSS_COMPILE)gcc CC_FLAGS = -c -I ./ LD = $(CROSS_COMPILE)ld LD_FLAGS = -T start.lds -Ttext 0x40000000 OBJCOPY = $(CROSS_COMPILE)objcopy COPY_FLAGS = -O binary OBJDUMP=$(CROSS_COMPILE)objdump DUMP_FLAGS=-D TARGET=test OBJS=start.o led.o lib.o test.o bell.oall: $(OBJS)$(LD) $(LD_FLAGS) $(OBJS) -o $(TARGET)$(OBJCOPY) $(COPY_FLAGS) $(TARGET) $(TARGET).bin$(OBJDUMP) $(DUMP_FLAGS) $(TARGET) > $(TARGET).disrm -rf *.o%.o:%.s$(CC) $(CC_FLAGS) $< %.o:%.S$(CC) $(CC_FLAGS) $< %.o:%.c$(CC) $(CC_FLAGS) $<.PHONY:clean clean:rm -rf *.o $(TARGET).bin $(TARGET).dis $(TARGET)

04. 程序示例二

蜂鳴器關

#include "gpio.h"int main(void) {bell_init();bell_off();return 0; }

05. 程序示例三

蜂鳴器開1秒 關1秒 如此循環

#include "gpio.h"int main(void) {bell_init();while(1){bell_on();delay1();bell_off();delay1();}return 0; }

06. 附錄

Exynos 4412 SCP_Users Manual_Ver.0.10.00_Preliminary0.pdf

總結

以上是生活随笔為你收集整理的【ARM】Tiny4412裸板编程之蜂鸣器(C语言)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品第13页 | a猛片 | 毛片123 | 特级新鲜大片片 | 蜜桃av免费看 | 性一交一乱一透一a级 | 欧美成人精品一区 | 久热免费| 草草视频在线播放 | 国产一级免费片 | 日本理论片中文字幕 | 国产成人精品无码免费看81 | www.人人草| 在线观看涩涩视频 | 日本熟妇一区二区 | 国产欧美视频一区二区三区 | 国产一卡二卡三卡四卡 | 国产麻豆免费观看 | 国产在线视视频有精品 | 女人床技48动态图 | a在线看 | 五月亚洲综合 | 婷婷伊人综合中文字幕 | 中文字幕一区二区在线观看 | 8x8ⅹ国产精品一区二区 | 三级免费黄录像 | 亚洲自拍天堂 | 可以免费看av的网址 | 综合人人 | 欧美日本三级 | 久久男人的天堂 | 99热网| 韩国三级hd中文字幕 | 校霸被c到爽夹震蛋上课高潮 | 性xxxxx大片免费视频 | 欧美午夜免费 | 国产精品99久久 | 欧美视频区 | 相亲对象是问题学生在线观看 | 三级av在线免费观看 | 国产任你操 | 麻豆91在线观看 | 色综合一区二区 | 99热在| 成人国产a | 日韩精品一区二区电影 | 天堂网国产 | www狠狠操 | 极品尤物一区二区 | 国产男女无遮挡猛进猛出 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 日韩av一级片 | 欧美精品乱码久久久久久按摩 | 天天干天天操天天玩 | 91人人爱 | 欧美少妇b | 国产一区二区三区免费观看 | 国产成人在线播放视频 | 久久男人 | 日韩一级在线 | 日本三级日本三级日本三级极 | 三年中国片在线高清观看 | 国产精品熟女一区二区不卡 | 中国老太婆性做爰 | 精品人妻少妇一区二区三区 | 免费人成年激情视频在线观看 | 亲子伦视频一区二区三区 | 亚洲av无码专区国产乱码不卡 | 污污视频在线免费观看 | 久久久久久久久国产精品 | 天堂网成人 | 欧美一二| 奇米色婷婷| 69日影院 | 亚洲日本欧美 | 一区二区三区不卡在线观看 | 丰满少妇一级片 | 在线播放国产一区 | www国产www| 在线观看不卡的av | 欧美日韩亚洲不卡 | 男女超爽视频免费播放 | 亚洲a免费 | 奇米影视四色777 | 少妇精品无码一区二区免费视频 | 日日噜噜噜夜夜爽爽狠狠 | 日韩有码中文字幕在线观看 | 黑人巨大精品人妻一区二区 | 91精品视频在线播放 | 久久97人妻无码一区二区三区 | 一区二区三区福利视频 | www操操操 | 婷婷免费 | 日韩亚洲第一页 | 露脸啪啪清纯大学生美女 | 高清国产一区二区三区四区五区 | 日韩国产在线播放 | 午夜插插 | 91丨九色丨蝌蚪丨对白 |