资源简介
研究生生期间,在导师公司实习做的基于stm32单片机的一个usb声卡程序,中间调试会出现杂音,期间花了将近两个月解决这个问题,最后对频率做了裁剪。希望对广大战友有所帮助,谢谢

代码片段和文件信息
/*
*********************************************************************************************************
*
* 模块名称 : 按键驱动模块
* 文件名称 : bsp_button.c
* 版 本 : V2.0
* 说 明 : 实现按键的检测,具有软件滤波机制,可以检测如下事件:
* (1) 按键按下
* (2) 按键弹起
* (3) 长按键
* (4) 长按时自动连发
* (5) 组合键
*
* 修改记录 :
* 版本号 日期 作者 说明
* v0.1 2009-12-27 armfly 创建该文件,ST固件库版本为V3.1.2
* v1.0 2011-01-11 armfly ST固件库升级到V3.4.0版本。
* v2.0 2011-10-16 armfly ST固件库升级到V3.5.0版本。
*
* Copyright (C) 2010-2011 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/
#include “stm32f10x.h“
#include
#include “bsp_button.h“
static BUTTON_T s_BtnUser; /* USER 键 */
static BUTTON_T s_BtnTamper; /* TAMPER 键 */
static BUTTON_T s_BtnWakeUp; /* WAKEUP 键 */
static BUTTON_T s_BtnUp; /* 摇杆UP键 */
static BUTTON_T s_BtnDown; /* 摇杆DOWN键 */
static BUTTON_T s_BtnLeft; /* 摇杆LEFT键 */
static BUTTON_T s_BtnRight; /* 摇杆RIGHT键 */
static BUTTON_T s_BtnOk; /* 摇杆OK键 */
static BUTTON_T s_BtnUserTamper;/* 组合键,USER和TAMPER键 */
static KEY_FIFO_T s_Key; /* 按键FIFO变量结构体 */
static void bsp_InitButtonVar(void);
static void bsp_InitButtonHard(void);
static void bsp_DetectButton(BUTTON_T *_pBtn);
/*
安富莱STM32F103ZE-EK 按键口线分配:
USER键 : PG8 (低电平表示按下)
TAMPEER键 : PC13 (低电平表示按下)
WKUP键 : PA0 (!!!高电平表示按下)
摇杆UP键 : PG15 (低电平表示按下)
摇杆DOWN键 : PD3 (低电平表示按下)
摇杆LEFT键 : PG14 (低电平表示按下)
摇杆RIGHT键: PG13 (低电平表示按下)
摇杆OK键 : PG7 (低电平表示按下)
定义函数判断按键是否按下,返回值1 表示按下,0表示未按下
*/
static uint8_t IsKeyDownUser(void) {if (GPIO_ReadInputDataBit(GPIOG GPIO_Pin_8) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownTamper(void) {if (GPIO_ReadInputDataBit(GPIOC GPIO_Pin_13) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownWakeUp(void) {if (GPIO_ReadInputDataBit(GPIOA GPIO_Pin_0) == Bit_SET) return 1; return 0;}
static uint8_t IsKeyDownUp(void) {if (GPIO_ReadInputDataBit(GPIOG GPIO_Pin_15) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownDown(void) {if (GPIO_ReadInputDataBit(GPIOD GPIO_Pin_3) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownLeft(void) {if (GPIO_ReadInputDataBit(GPIOG GPIO_Pin_14) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownRight(void) {if (GPIO_ReadInputDataBit(GPIOG GPIO_Pin_13) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownOk(void) {if (GPIO_ReadInputDataBit(GPIOG GPIO_Pin_7) == Bit_SET) return 0; return 1;}
static uint8_t IsKeyDownUserTamper(void) {if (IsKeyDownUser() && IsKeyDownTamper()) return 1; return 0;} /* 组合键 */
/*
*********************************************************************************************************
* 函 数 名: bsp_InitButton
* 功能说明: 初始化按键
* 形 参:无
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_InitButton(void)
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16768 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_button.c
文件 2806 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_button.h
文件 8465 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_i2c_gpio.c
文件 917 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_i2c_gpio.h
文件 5376 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_led.c
文件 801 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_led.h
文件 1960 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_printf.c
文件 4164 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_sram.c
文件 753 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_sram.h
文件 39501 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_tft_lcd.c
文件 3256 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_tft_lcd.h
文件 5951 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_timer.c
文件 962 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_timer.h
文件 3162 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_usart.c
文件 508 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\bsp\bsp_usart.h
文件 17273 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\CORE\core_cm3.c
文件 85714 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\CORE\core_cm3.h
文件 15503 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\CORE\startup_stm32f10x_hd.s
文件 12765 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\CORE\startup_stm32f10x_md.s
文件 21841 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\fonts\asc16.c
文件 739 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\fonts\fonts.h
文件 9461 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\fonts\hz16.c
文件 188 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\fonts\说明.txt
文件 1234 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\AUDIOSEL\audiosel.c
文件 918 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\AUDIOSEL\audiosel.h
文件 1813 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\KEY\key.c
文件 1114 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\KEY\key.h
文件 16156 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\LCD\font.h
文件 50109 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\LCD\lcd.c
文件 8640 2015-04-29 18:19 USB声卡实验WM8978(16位改动)\HARDWARE\LCD\lcd.h
............此处省略261个文件信息
相关资源
- usb hid调试工具
- HID调试助手
- USB.Over.Network.Server 注册机
- WPF USB 网络 串口 通信软件
- USB转串口驱动,FT232R驱动程序,最新
- WinCE下CP210x的驱动程序
- hidusage.h hidpi.h 等USB开发用头文件
- 基于JM20329的SATA转USB 1394
- 430系列单片机USBFET下载驱动
- CY7C68013A固件程序(用于摄像机采集)
- 基于delphi的声卡采集程序.rar
- usb调试程序 对USB设备进行数据的读写
- USB 驱动 让电脑与arm进行通信
- USB助手(调试USB通信协议的工具) 源
- 基于FPGA的USB接口设计
- 枚举USB设备接口(C 源代码)
- 多普达USB Modem驱动(适用于818、828、
- 一个适用的虚拟声卡频率计
- SN9C291B datasheet
- 希捷公布USB外部硬盘解决方案
- USB调试模式一键设置
- USB网卡驱动 USB2.0 TO Fast Ethernet Adapte
- USB转串口(RS232/RS485/RS422)驱动程序文
- USB Type-C SPEC
- 基于LabVIEW的声卡声音采集与播放
- H310.B360.H370.Z390.USB WIN7 64位第三方驱动
- 300系列WIN7 USB驱动.7z
- 华硕P8H61/USB3 R2.0主板BIOS驱动 免费版
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- RTL8188 USB无线网卡模块完整方案
评论
共有 条评论