91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-15
  • 語言: 其他
  • 標簽: STM32??4*4按鍵??

資源簡介

在STM32F103ZET6上實現了 4*4按鍵,可以直接使用

資源截圖

代碼片段和文件信息

#include?“stm32f10x_lib.h“
#include?“Delay.h“
#include?“usart.h“



void?RCC_Configuration(void);
void?NVIC_Configuration(void);
unsigned?char?Get_KeyValue(void);


unsigned?char?const?Key_Tab[4][4]=//鍵盤編碼表
{
??{‘1‘‘2‘‘3‘‘4‘}
??{‘5‘‘6‘‘7‘‘8‘}
??{‘9‘‘0‘‘A‘‘B‘}
??{‘C‘‘D‘‘E‘‘F‘}
};

void?main(void)
{?
??unsigned?char?i;
??RCC_Configuration();
??NVIC_Configuration();

??USART1_Config();

??while?(1)
??{
????i=Get_KeyValue();
????if(i!=0)//有按鍵按下
??????USART1_Putc(i);
???
??}
}

/*******************************************************************************
*?函數??:?void?RCC_Configuration(void)
*?功能??:?配置不同的系統時鐘
*?參數??:無
*?返回??:無
*******************************************************************************/
void?RCC_Configuration(void)
{
??ErrorStatus?HSEStartUpStatus;
??
??/*?RCC?system?reset(for?debug?purpose)?*/
??RCC_DeInit();

??/*?Enable?HSE?*/
??RCC_HSEConfig(RCC_HSE_ON);

??/*?Wait?till?HSE?is?ready?*/
??HSEStartUpStatus?=?RCC_WaitForHSEStartUp();

??if(HSEStartUpStatus?==?SUCCESS)
??{
????/*?Enable?Prefetch?Buffer?*/
????FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

????/*?Flash?2?wait?state?*/
????FLASH_SetLatency(FLASH_Latency_2);
?
????/*?HCLK?=?SYSCLK?*/
????RCC_HCLKConfig(RCC_SYSCLK_Div1);?
??
????/*?PCLK2?=?HCLK?*/
????RCC_PCLK2Config(RCC_HCLK_Div1);?

????/*?PCLK1?=?HCLK/2?*/
????RCC_PCLK1Config(RCC_HCLK_Div2);

????/*?PLLCLK?=?8MHz?*?9?=?72?MHz?*/
????RCC_PLLConfig(RCC_PLLSource_HSE_Div1?RCC_PLLMul_9);

????/*?Enable?PLL?*/?
????RCC_PLLCmd(ENABLE);

????/*?Wait?till?PLL?is?ready?*/
????while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)?==?RESET)
????{
????}

????/*?Select?PLL?as?system?clock?source?*/
????RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

????/*?Wait?till?PLL?is?used?as?system?clock?source?*/
????while(RCC_GetSYSCLKSource()?!=?0x08)
????{
????}
??}
}

//沒有得到鍵值返回0,否則返回相應的鍵值
unsigned?char?Get_KeyValue(void)//使用PA0~PA7
{//使用線反轉法
??GPIO_InitTypeDef?GPIO_InitStructure;
??
??u8?i=5j=5;
??u16?temp1temp2;
??
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA?ENABLE);
??
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_0?|?GPIO_Pin_1?|?GPIO_Pin_2?|?GPIO_Pin_3;

評論

共有 條評論