• 大小: 2.41MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-14
  • 语言: 其他
  • 标签: stm32  US100  

资源简介

stm32f103和串口输出数据的US100模块进行工作,串口1显示距离值

资源截图

代码片段和文件信息

/**********************************************************************************
 * 文件名  :key.c
 * 描述    :按键扫描(系统滴答时钟SysTick实现扫描延时)
 * 实验平台:NiRen_TwoHeart系统板
 * 硬件连接:  PB1 -> KEY1     
 *             PB2 -> KEY2       
 * 库版本  :ST_v3.5
**********************************************************************************/

#include “key.h“ 
#include “SysTick.h“

/*******************************************************************************
* 函数名  : Key_GPIO_Config
* 描述    : KEY IO配置
* 输入    : 无
* 输出    : 无
* 返回    : 无 
* 说明    : KEY设置的引脚为:PA4-7
*******************************************************************************/
void Key_GPIO_Config(void)
{
GPIO_InitTypeDef  GPIO_InitStructure; //定义一个GPIO_InitTypeDef类型的GPIO初始化结构体

RCC_APB2PeriphClockCmd(KEY_RCC ENABLE); //使能GPIOA的外设时钟

GPIO_InitStructure.GPIO_Pin = KEY0 | KEY1 | KEY2 | KEY3; //选择要初始化的GPIOA引脚(PB1PB2)
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置引脚工作模式为上拉输入 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置引脚输出最大速率为50MHz
GPIO_Init(KEY_PORT &GPIO_InitStructure); //调用库函数中的GPIO初始化函数,初始化GPIOA中的PB1PB2引脚
}

/*******************************************************************************
* 函数名  : Key_Detection
* 描述    : 按键按下检测
* 输入    : GPIOx:按键对应的GPIO,GPIO_Pin:对应按键端口
* 输出    : 无
* 返回    : KEY_DOWN(0):对应按键按下,KEY_UP(1):对应按键没按下
* 说明    : KEY设置的引脚为:PA4-7
*******************************************************************************/
u8 Key_Down_Detection(GPIO_TypeDef* GPIOx u16 GPIO_Pin)
{
if(GPIO_ReadInputDataBit(GPIOxGPIO_Pin) == KEY_DOWN) //检测是否有按键按下 
{    
delay_ms(10); //延时消抖
if(GPIO_ReadInputDataBit(GPIOxGPIO_Pin) == KEY_DOWN) //检测是否有按键按下   
{  
while(GPIO_ReadInputDataBit(GPIOxGPIO_Pin) == KEY_DOWN); //等待按键释放  
return KEY_DOWN;  
}
else
{
return KEY_UP;
}
}
else
{
return KEY_UP;
}
}

/*******************************************************************************
* 函数名  : Key_Down_Scan
* 描述    : 按键按下扫描
* 输入    : 无
* 输出    : 0:没有按键按下,1:按键按下
* 返回    : 无 
* 说明    : KEY设置的引脚为:PA4-7
*******************************************************************************/
u16 Key_Down_Scan(void)
{
u16 downflag = 0;
u16 value    = 0;

   downflag = GPIO_ReadInputData(KEY_PORT);
value    = (~downflag) & (0x0001 << 4);
if((~downflag) & (0x0001 << 4)) //检测是否有按键按下 
{    
delay_ms(1); //延时消抖
downflag = GPIO_ReadInputData(KEY_PORT);
if((~downflag) & (0x0001 << 4)) //检测是否有按键按下   
{  
value = (~downflag) & (0x0001 << 4);
while((~GPIO_ReadInputData(KEY_PORT))& (0x0001 << 4));//等待按键抬起
}
}
else if((~downflag) & (0x0001 << 5)) //检测是否有按键按下 
{    
delay_ms(1); //延时消抖
downflag = GPIO_ReadInputData(KEY_PORT);
if((~downflag) & (0x0001 << 5)) //检测是否有按键按下   
{  
value = (~downflag) & (0x0001 << 5);
while((~GPIO_ReadInputData(KEY_PORT))& (0x0001 << 5));//等待按键抬起
}
}
else if((~downflag) & (0x0001 << 6)) //检测是

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-27 14:37  超声波US100\
     目录           0  2017-12-27 14:37  超声波US100\BSP\
     目录           0  2017-12-27 14:37  超声波US100\BSP\Key\
     文件        3962  2017-06-11 22:37  超声波US100\BSP\Key\key.c
     文件         513  2017-12-27 14:15  超声波US100\BSP\Key\key.h
     目录           0  2017-12-27 14:37  超声波US100\BSP\LED\
     文件        2678  2017-06-04 13:08  超声波US100\BSP\LED\Led.c
     文件        1016  2017-06-04 01:50  超声波US100\BSP\LED\Led.h
     目录           0  2017-12-27 21:54  超声波US100\BSP\SysTick\
     文件        3040  2017-12-27 21:54  超声波US100\BSP\SysTick\SysTick.c
     文件         163  2017-06-11 22:36  超声波US100\BSP\SysTick\SysTick.h
     目录           0  2017-12-27 14:37  超声波US100\BSP\TIMER\
     文件        1603  2013-09-28 11:23  超声波US100\BSP\TIMER\timer.c
     文件         126  2013-09-28 11:23  超声波US100\BSP\TIMER\timer.h
     目录           0  2017-12-27 20:00  超声波US100\BSP\USART\
     文件        6898  2017-12-27 20:00  超声波US100\BSP\USART\usart.c
     文件         591  2017-06-11 23:00  超声波US100\BSP\USART\usart.h
     目录           0  2017-12-27 14:37  超声波US100\CMSIS\
     文件       17273  2010-06-07 10:25  超声波US100\CMSIS\core_cm3.c
     文件       85714  2011-02-09 14:59  超声波US100\CMSIS\core_cm3.h
     目录           0  2017-12-27 14:37  超声波US100\CMSIS\startup\
     目录           0  2017-12-27 14:37  超声波US100\CMSIS\startup\arm\
     文件       15766  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_cl.s
     文件       15503  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_hd.s
     文件       15692  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_hd_vl.s
     文件       12376  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_ld.s
     文件       13656  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_ld_vl.s
     文件       12765  2011-03-10 10:52  超声波US100\CMSIS\startup\arm\startup_stm32f10x_md.s
     文件       14073  2011-03-10 10:51  超声波US100\CMSIS\startup\arm\startup_stm32f10x_md_vl.s
     文件       15955  2011-03-10 10:51  超声波US100\CMSIS\startup\arm\startup_stm32f10x_xl.s
     文件      633933  2013-07-30 23:52  超声波US100\CMSIS\stm32f10x.h
............此处省略133个文件信息

评论

共有 条评论