按键驱动控制的代码编写

本文介绍了如何使用C语言编写按键驱动控制代码,内容涵盖芯片内置的8个按键的查询、24ms滤波功能以及按键中断屏蔽。在嵌入式系统中,GPIO口作为通用IO口用于控制简单设备的开关状态,通过控制寄存器和数据寄存器实现对外设的灵活控制。
摘要由CSDN通过智能技术生成

芯片内部支持8个按键;支持每个按键状态查询;支持每个按键输入滤波,滤波时间为24ms ; 支持每个按键可单独屏蔽中断。GPIO(general-purpose io port通用IO口), 在嵌入式系统中许多结构简单的外部设备/电路,对这些设备会电路就需要CPU提供控制手段。这样的设备只要有三极管控制实现开/关两种状态,如灯亮或灭。对这些外设的控制,传统的串行口或并行口都不合适,这时候也微控制芯片上会提供一个“通用的可编程IO口",即GPIO口。接口至少需要2个寄出器,即”通用IO控制寄存器“与”通用IO数据寄存器“。数据寄存器的各位都直接引导芯片的外部,这样寄存器中每一位的流通方向,就可以通过控制寄存器中的对应的位进行独立的设置。

//UART_rx口模式寄存器通过bitband映射到的地址
//UART_rx口数据寄存器通过bitband映射到的地址
//UART_tx口模式寄存器通过bitband映射到的地址
//UART_tx口数据寄存器通过bitband映射到的地址
#include <stdio.h>
#define  UART_rxgpio_mode 0x50000000     
#define  UART_rxgpio_data 0x50000004     
#define  UART_txgpio_mode 0x50000008     
#define  UART_txgpio_data 0x5000000C     

//适合所有GPIO口的通用的数据结构


	struct gpio_t
	{
		int *gpio_data_out;//gpio数据寄存器,用来输出数据
		int *gpio_data_in;//gpio数据寄存器,用来输入数据
		int *gpio_mode;    //gpio模式寄存器,用来控制io口是输入还是输出的。
		void (*out_
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值