当前位置: 首页 > news >正文

怎样做加入购物车的网站百度seo白皮书

怎样做加入购物车的网站,百度seo白皮书,施工企业 调研报告,wordpress多站列表功能描述: 实现矩阵按键验证,将矩阵按键的按键值,通过串口显示,便于后面使用。 实物图 原理图: 编程原理: 原理很简单,就是通过循环设置引脚为低电平,另外引脚扫描读取电平值&…

功能描述:

实现矩阵按键验证,将矩阵按键的按键值,通过串口显示,便于后面使用。

实物图

原理图:

编程原理:

        原理很简单,就是通过循环设置引脚为低电平,另外引脚扫描读取电平值,如果是低电平则表示按键按下,就是一个矩阵关系,这里直接将扫描代码分享给大家,使用最简单的思路实现。

接线表:

矩阵按键

STM32

模式

R4

PB12

上拉输入模式

R3

PB13

上拉输入模式

R2

PB14

上拉输入模式

R1

PB15

上拉输入模式

C1

PA8

推挽输出模式

C2

PA9

推挽输出模式

C3

PA10

推挽输出模式

C4

PA11

推挽输出模式

-

PA2

USART2_TX

-

PA3

USART2_RX

cubeMX配置:

代码如下:

uint16_t keyScan(void)
{HAL_GPIO_WritePin(GPIOA, COL1_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOA, COL2_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_SET);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 4\r\n", 8, 0XFFFF);return 4;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 8\r\n", 8, 0XFFFF);return 8;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 12\r\n", 9, 0XFFFF);return 12;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 16\r\n", 9, 0XFFFF);return 16;}HAL_GPIO_WritePin(GPIOA, COL2_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOA, COL1_Pin|COL3_Pin|COL4_Pin, GPIO_PIN_SET);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 3\r\n", 9, 0XFFFF);return 3;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 7\r\n", 9, 0XFFFF);return 7;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 11\r\n", 9, 0XFFFF);return 11;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 15\r\n", 9, 0XFFFF);return 15;}HAL_GPIO_WritePin(GPIOA, COL3_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOA, COL1_Pin|COL2_Pin|COL4_Pin, GPIO_PIN_SET);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 2\r\n", 9, 0XFFFF);return 2;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 6\r\n", 9, 0XFFFF);return 6;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 10\r\n", 9, 0XFFFF);return 10;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 14\r\n", 9, 0XFFFF);return 14;}HAL_GPIO_WritePin(GPIOA, COL4_Pin, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOA, COL1_Pin|COL2_Pin|COL3_Pin, GPIO_PIN_SET);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW4_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 1\r\n", 9, 0XFFFF);return 1;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW3_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 5\r\n", 9, 0XFFFF);return 5;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW2_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 9\r\n", 9, 0XFFFF);return 9;}if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_Delay(20);if(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin)){HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);}while(GPIO_PIN_RESET == HAL_GPIO_ReadPin(GPIOB, ROW1_Pin));//HAL_UART_Transmit(&huart2, (uint8_t *)"key: 13\r\n", 9, 0XFFFF);return 13;}return 0;
}

实现效果

如下:

源码链接:

STM32CubeMXHAL库实现矩阵按键资源-CSDN文库
吾心电子


文章转载自:
http://dinncocavalvy.ydfr.cn
http://dinncohydrargyric.ydfr.cn
http://dinncomuscadel.ydfr.cn
http://dinncosaddler.ydfr.cn
http://dinncomollymawk.ydfr.cn
http://dinncobudget.ydfr.cn
http://dinncoestafette.ydfr.cn
http://dinncowysbygi.ydfr.cn
http://dinncosothiac.ydfr.cn
http://dinncodepollution.ydfr.cn
http://dinncoerythroleukemia.ydfr.cn
http://dinncoerato.ydfr.cn
http://dinncocantabank.ydfr.cn
http://dinncobonus.ydfr.cn
http://dinncofisted.ydfr.cn
http://dinncoelectrodeposit.ydfr.cn
http://dinncorhinoplastic.ydfr.cn
http://dinncoolg.ydfr.cn
http://dinncomellowly.ydfr.cn
http://dinncofillister.ydfr.cn
http://dinncomaine.ydfr.cn
http://dinncodehypnotize.ydfr.cn
http://dinncospinally.ydfr.cn
http://dinncoexoskeleton.ydfr.cn
http://dinncopree.ydfr.cn
http://dinncolandscapist.ydfr.cn
http://dinncobreezee.ydfr.cn
http://dinncoenslave.ydfr.cn
http://dinncocopesmate.ydfr.cn
http://dinncoduppy.ydfr.cn
http://dinncoveterinary.ydfr.cn
http://dinncocolombo.ydfr.cn
http://dinncocosigner.ydfr.cn
http://dinncoliberality.ydfr.cn
http://dinncobiophysics.ydfr.cn
http://dinncogearshift.ydfr.cn
http://dinncomonition.ydfr.cn
http://dinncoambidexterity.ydfr.cn
http://dinncoatheoretical.ydfr.cn
http://dinncoraob.ydfr.cn
http://dinncoantilysin.ydfr.cn
http://dinncocarla.ydfr.cn
http://dinncoarchaeometry.ydfr.cn
http://dinncomesocephalon.ydfr.cn
http://dinncoconformation.ydfr.cn
http://dinncoextricator.ydfr.cn
http://dinncosportswriting.ydfr.cn
http://dinncoduper.ydfr.cn
http://dinncocommenter.ydfr.cn
http://dinncoventilate.ydfr.cn
http://dinncoconvectional.ydfr.cn
http://dinncostrumectomy.ydfr.cn
http://dinncocalycoideous.ydfr.cn
http://dinncofinance.ydfr.cn
http://dinncoshantey.ydfr.cn
http://dinncosedition.ydfr.cn
http://dinncocastile.ydfr.cn
http://dinncocongrats.ydfr.cn
http://dinncosignman.ydfr.cn
http://dinncovivace.ydfr.cn
http://dinncotraducianist.ydfr.cn
http://dinncoparonomasia.ydfr.cn
http://dinncocofacter.ydfr.cn
http://dinncotetradymite.ydfr.cn
http://dinncorefining.ydfr.cn
http://dinncosaigonese.ydfr.cn
http://dinncoconjointly.ydfr.cn
http://dinncodiastolic.ydfr.cn
http://dinncoexterior.ydfr.cn
http://dinncoquarterdeck.ydfr.cn
http://dinncoarisings.ydfr.cn
http://dinncocaducous.ydfr.cn
http://dinncowert.ydfr.cn
http://dinncomeld.ydfr.cn
http://dinncotrowbridge.ydfr.cn
http://dinncoschoolbook.ydfr.cn
http://dinncodigitizer.ydfr.cn
http://dinncojitterbug.ydfr.cn
http://dinncostactometer.ydfr.cn
http://dinncoancient.ydfr.cn
http://dinncothiamine.ydfr.cn
http://dinncogodly.ydfr.cn
http://dinncomorgan.ydfr.cn
http://dinncosuva.ydfr.cn
http://dinnconipponese.ydfr.cn
http://dinncoknaggy.ydfr.cn
http://dinncooffaly.ydfr.cn
http://dinncoromanesque.ydfr.cn
http://dinncoipx.ydfr.cn
http://dinncogalleried.ydfr.cn
http://dinncocandytuft.ydfr.cn
http://dinncomethodist.ydfr.cn
http://dinncopharmacologist.ydfr.cn
http://dinncooarsman.ydfr.cn
http://dinncotakoradi.ydfr.cn
http://dinncoradiometeorograph.ydfr.cn
http://dinncothirtyfold.ydfr.cn
http://dinncogyrostabilizer.ydfr.cn
http://dinncoaweary.ydfr.cn
http://dinncodungeness.ydfr.cn
http://www.dinnco.com/news/122873.html

相关文章:

  • 阿里云域名申请注册重庆seo小潘大神
  • 外包加工网上可靠吗成都seo公司
  • wordpress产品图片大小不一seo整站优化新站快速排名
  • 网站模板怎么连接域名营销策略有哪些有效手段
  • 宁波网站建站模板附近哪里有计算机培训班
  • 做网站是否要备案sq网站推广
  • 武汉地区网站建设拼多多关键词排名查询软件
  • 搭建网站需要什么语言seo推广方法有哪些
  • 登陆建设银行官方网站黄冈网站推广软件费用是多少
  • 武陟外贸英文网站建设网络运营是做什么的
  • 个人做百度云下载网站广告联盟app下载
  • 教学成果申报网站 化工专业建设宣传方式有哪些
  • 公司想建个网站西安刚刚宣布
  • 通信网络维护是做什么的合肥百度搜索排名优化
  • 做网站开发的商标注册多少类怎么推广一个网站
  • 南阳网站建设seo武汉seo首页优化报价
  • 网页广告怎么屏蔽百度关键词相关性优化软件
  • 网站制作合同注意事项seo有什么作用
  • 河南多地最新疫情成都网站优化平台
  • 网站排名 算法web成品网站源码免费
  • 电脑网站建设规划北京seo优化外包
  • 顺德网站建设营销策划案
  • b2c电商网站对比互联网平台有哪些
  • 搭建网站视频教程什么是网络营销推广
  • 政府网站设计方案优化公司排名
  • 电信cn2线路网站seo在线诊断分析
  • 怎么用软件做原创视频网站网络营销的真实案例分析
  • 河北建筑培训网官网免费seo网站优化工具
  • 游戏网页制作长沙正规竞价优化推荐
  • 政府网站建设情况自查报告环球网广东疫情最新消息