• 大小: 4.4MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-28
  • 语言: 其他
  • 标签: usb  声卡  wm8978  

资源简介

研究生生期间,在导师公司实习做的基于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个文件信息

评论

共有 条评论