①tiny4412 Linux驱动开发之GPIO驱动程序

本文详细介绍了在三星猎户座4412平台上进行蜂鸣器GPIO驱动的开发过程。通过分析电路图确定了蜂鸣器控制原理和对应的PWM0引脚(GPD0_0),地址为0x114000A0。编写驱动程序和上层测试程序后,经过编译和加载,实现了蜂鸣器间隔一秒钟响一次的功能。
摘要由CSDN通过智能技术生成

本次主要是通过讲解蜂鸣器的开发来讲述驱动开发的流程,平台是三星猎户座4412.

本次使用的是板载蜂鸣器为有源蜂鸣器,在这里我们先看电路图:

从电路图中我们可以看出我们的电平信号会控制NPN型三极管的方式驱动蜂鸣器,可以看出当PWM0为高电平时,蜂鸣器可以发出声音,低电平不发声音,接下来我们找PWM0是哪个引脚,如下图:

从图中可知,PWM0是GPD0_0,下面我们去找datasheet,以确定GPD0_0的地址,如下图:

从图中可以看出,GPD0_0的地址为0x1140000 + 0x00A0 = 0x114000A0,好的,我们现在已经掌握了我们所需要的数据:蜂鸣器高电平响,低电平不响,控制它的引脚为GPD0_0,它的地址为0x114000A0.接下来,我们写驱动程序,如下:

#include <linux/init.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>

#include <asm/io.h>
#include <asm/uaccess.h>
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 建立ANDROID应用开发环境 - 5 - 1.1 步骤一:下载并安装JDK (JAVA SE DEVELOPMENT KIT) - 5 - 1.2 步骤二:下载并安装ADT集成开发环境和ANDROID SDK - 6 - 1.2.1 下载Android SDK (API 17) - 7 - 1.2.2 启动ADT集成开发环境 (Android Developer Tools) - 8 - 1.3 步骤三:创建ANDROID模拟器 - 9 - 1.4 步骤四:开发一个ANDROID程序 (验证开发环境是否搭建成功) - 11 - 1.4.1 创建HelloWorld工程 - 11 - 1.4.2 在模拟器运行Android程序 - 13 - 1.5 步骤五:建立TINY4412调试环境 - 13 - 1.5.1 安装USB ADB驱动程序 - 13 - 1.5.2 在Tiny4412上测试ADB功能 - 14 - 1.5.3 通过USB ADB在Tiny4412上运行程序 - 16 - 1.5.4 在Tiny4412上调试Android程序 - 18 - 第二章 在ANDORID程序中访问硬件 - 20 - 2.1 如何使用函数库(LIBFRIENDLYARM-HARDWARE.SO)? - 20 - 2.2 函数库(LIBFRIENDLYARM-HARDWARE.SO)接说明 - 22 - 2.2.1 通用的输入输出接 - 22 - 2.2.2 串通讯的接说明 - 23 - 2.2.3 开关LED的接说明 - 24 - 2.2.4 让PWM蜂鸣器发声和停止发声的接说明 - 24 - 2.2.5 读取ADC的转换结果的接说明 - 24 - 2.2.6 I2C接说明 - 25 - 2.2.7 SPI接说明 - 26 - 2.2.8 GPIO说明 - 28 - 2.3 示例程序说明 - 29 - 2.3.1 在板LED示例 - 29 - 2.3.2 GPIO示例 - 30 - 2.3.3 串通讯示例 - 34 - 2.3.4 PWM示例 - 35 - 2.3.5 A/D转换示例 - 36 - 2.3.6 I2C& EEPROM示例 - 36 - 2.3.7 SPI示例 - 37 - 2.4 在ADT中导入示例工程 - 37 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值