矩阵按键,avr单片机和stm32区别,STM32,相关问题?超高分求解答

STM32-key 基于 下的矩阵键盘按键扫描程序, 移植好了的uCOSII系统
261万源代码下载-
&文件名称: STM32-key& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 7003 KB
&&上传时间:
&&下载次数: 128
&&提 供 者:
&详细说明:基于STM32下的矩阵键盘按键扫描程序,还有移植好了的uCOSII系统-STM32 ucosii key
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&按键\OS_Proj\App\app.c&&....\.......\...\app_cfg.h&&....\.......\...\includes.h&&....\.......\...\nod.h&&....\.......\...\stm32f10x_conf.h&&....\.......\...\stm32f10x_it.c&&....\.......\...\stm32f10x_it.h&&....\.......\...\system_stm32f10x.c&&....\.......\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c&&....\.......\.........\.....\...\...........\core_cm3.h&&....\.......\.........\.....\...\DeviceSupport\ST\Release_Notes_for_STM32F10x_CMSIS.html&&....\.......\.........\.....\...\.............\..\STM32F10x\startup\arm\startup_stm32f10x_cl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_hd.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_hd_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_ld.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_ld_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_md.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_md_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_xl.s&&....\.......\.........\.....\...\.............\..\.........\.......\gcc_ride7\startup_stm32f10x_cl.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_hd.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_hd_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_ld.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_ld_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_md.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_md_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\.........\startup_stm32f10x_xl.s&&....\.......\.........\.....\...\.............\..\.........\.......\iar\startup_stm32f10x_cl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_hd.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_hd_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_ld.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_ld_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_md.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_md_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\...\startup_stm32f10x_xl.s&&....\.......\.........\.....\...\.............\..\.........\.......\TrueSTUDIO\startup_stm32f10x_cl.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_hd.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_hd_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_ld.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_ld_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_md.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_md_vl.s&&....\.......\.........\.....\...\.............\..\.........\.......\..........\startup_stm32f10x_xl.s&&....\.......\.........\.....\...\.............\..\.........\stm32f10x.h&&....\.......\.........\.....\...\.............\..\.........\system_stm32f10x.h&&....\.......\.........\.....\CMSIS debug support.htm&&....\.......\.........\.....\CMSIS_changes.htm&&....\.......\.........\.....\Documentation\CMSIS_Core.htm&&....\.......\.........\.....\License.doc&&....\.......\.........\STM32F10x_StdPeriph_Driver\inc\misc.h&&....\.......\.........\..........................\...\stm32f10x_adc.h&&....\.......\.........\..........................\...\stm32f10x_bkp.h&&....\.......\.........\..........................\...\stm32f10x_can.h&&....\.......\.........\..........................\...\stm32f10x_cec.h&&....\.......\.........\..........................\...\stm32f10x_crc.h&&....\.......\.........\..........................\...\stm32f10x_dac.h&&....\.......\.........\..........................\...\stm32f10x_dbgmcu.h&&....\.......\.........\..........................\...\stm32f10x_dma.h&&....\.......\.........\..........................\...\stm32f10x_exti.h&&....\.......\.........\..........................\...\stm32f10x_flash.h&&....\.......\.........\..........................\...\stm32f10x_fsmc.h&&....\.......\.........\..........................\...\stm32f10x_gpio.h&&....\.......\.........\..........................\...\stm32f10x_i2c.h&&....\.......\.........\..........................\...\stm32f10x_iwdg.h&&....\.......\.........\..........................\...\stm32f10x_pwr.h&&....\.......\.........\..........................\...\stm32f10x_rcc.h&&....\.......\.........\..........................\...\stm32f10x_rtc.h&&....\.......\.........\..........................\...\stm32f10x_sdio.h&&....\.......\.........\..........................\...\stm32f10x_spi.h&&....\.......\.........\..........................\...\stm32f10x_tim.h&&....\.......\.........\..........................\...\stm32f10x_usart.h&&....\.......\.........\..........................\...\stm32f10x_wwdg.h&&....\.......\.........\..........................\Release_Notes_for_STM32F10x_StdPeriph_Driver.html&&....\.......\.........\..........................\src\misc.c&&....\.......\.........\..........................\...\stm32f10x_adc.c&&....\.......\.........\..........................\...\stm32f10x_bkp.c&&....\.......\.........\..........................\...\stm32f10x_can.c&&....\.......\.........\..........................\...\stm32f10x_cec.c&&....\.......\.........\..........................\...\stm32f10x_crc.c&&....\.......\.........\..........................\...\stm32f10x_dac.c&&....\.......\.........\..........................\...\stm32f10x_dbgmcu.c&&....\.......\.........\..........................\...\stm32f10x_dma.c&&....\.......\.........\..........................\...\stm32f10x_exti.c&&....\.......\.........\..........................\...\stm32f10x_flash.c&&....\.......\.........\..........................\...\stm32f10x_fsmc.c&&....\.......\.........\..........................\...\stm32f10x_gpio.c&&....\.......\.........\..........................\...\stm32f10x_i2c.c&&....\.......\.........\..........................\...\stm32f10x_iwdg.c&&....\.......\.........\..........................\...\stm32f10x_pwr.c&&....\.......\.........\..........................\...\stm32f10x_rcc.c&&....\.......\.........\..........................\...\stm32f10x_rtc.c&&....\.......\.........\..........................\...\stm32f10x_sdio.c&&....\.......\.........\..........................\...\stm32f10x_spi.c&&....\.......\.........\..........................\...\stm32f10x_tim.c&&....\.......\.........\..........................\...\stm32f10x_usart.c&&....\.......\.........\..........................\...\stm32f10x_wwdg.c&&....\.......\MDK-Proj\JLinkLog.txt&&....\.......\........\JLinkSettings.ini&&....\.......\........\listing\os_cpu_a.lst&&....\.......\........\.......\startup_stm32f10x_hd.lst
&[]:很好,推荐下载&[]:很好,推荐下载&[]:很好,推荐下载&[]:很好,推荐下载
&近期下载过的用户:
&&&&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站261万海量源码库中尽情搜索:
&[] - 很好的自控课件。很详细的分析了自动控制的过程
&[] - 30路继电器双串口单片机控制板,很全的资料哦!
&[] - EDA汽车尾灯控制器的设计。希望能够帮到大家。
&[] - 详解ucos2任务设计,掌握任务设计流程及要点,对学习ucos2的新手,有很大帮助
&[] - FATFS文件系统在stm32上的移植,基于STM32开发,将FATFS文件系统有效的移植在STM32
&[] - UCGUI源程序 最新版本 官方下载的 绝对是源码
&[] - 基于stm32的矩阵键盘扫描驱动程序,采用非中断方式,使用最新库函数STM32F10x_StdPeriph_Lib_V3.5.0
&[] - 基于stm32的,4*4的矩阵键盘驱动(中断方式)。
&[] - 里面包含4×4矩阵键盘模块 单片机驱动程序 stm32用
&[] - stm32写的矩阵键盘程序!很简单的,仅供参考查看: 3610|回复: 2
STM32矩阵键盘扫描程序,求高人点拨
主题帖子精华
新手上路, 积分 28, 距离下一级还需 22 积分
在线时间0 小时
&STM32,PA4~PA7为矩阵键盘输出口,PA8~PA11为矩阵键盘输入口。PA0~PA3为其他输出。现在是按键按下,GPIO_IDR中的数据为0x00F0,所以按键不能识别,按下时用万用表测键盘输入端口为高电平,请高人指点下。代码如下。
GPIO端口配置
void GPIO_Configuration(void)
&&GPIO_InitTypeDef GPIO_InitS
& &/*配置矩阵键盘输出口*/
&&GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7; //选择IO端口
&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& & & & & & & & & & & && &//时钟速度为50M
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;& & & & & & & & & & & && &//端口模式为推拉输出方式
&&GPIO_Init(GPIOA, &GPIO_InitStructure);& & & & & & & & & & & & & & & & & & & && &//用以上几个参数初始化PA口
&&/* 配置矩阵键盘输入口 */
&&GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;
&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;& & & & & & & && &//端口模式为下拉输入方式
&&GPIO_Init(GPIOA, &GPIO_InitStructure);& & & &&&
键盘查找代码
int keyscan(void)
& & & & int KeyVal=0;
& & & & GPIO_Write(GPIOA,(GPIOA-&ODR&0xFF0F|0x00F0));
& & & & Delay(1);& & //延时等待端口电平稳定
& & & & if((GPIOA-&IDR&0x0F00)==0x0000)&&//如果PA8到PA11全为0,则没有键按下。返回值为-1.
& & & & & & & & return -1;
& & & & else
& & & & {& & & &
& & & & & & & & Delay(10);& & //延时10ms去抖动。
& & & & & & & & if((GPIOA-&IDR&0x0f00)==0x0000)&&//如果,延时10ms后,PA8到PA11又全为0,则刚才引脚的电位变化是抖动产生的.
& & & & & & & & & & & & return -1;
GPIO_Write(GPIOA,(GPIOA-&ODR & 0xff0f | 0x0010));& & & & //让PA4输出高电平,查找对应键码。
Delay(1);&&&&&&&
switch(GPIOA-&IDR & 0x0f00)& & & &
& && && && && &{.......}
请帮我看下是否哪里设置有问题。多谢。
我后来直接把PA4和PA8短接,IDR中还是没有PA8的输入信号。
主题帖子精华
在线时间503 小时
检查PA4~PA7的输出是否正常。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
新手上路, 积分 28, 距离下一级还需 22 积分
在线时间0 小时
呵呵,问题找出来了,是Jlink的原因,不是程序的原因。呵呵。。
Powered by单片机什么是用键值的方式解决按键扫描问题,简单解说下 单解说下写出简易8个按键的键值和按键矩阵16个按键的键值。(30分)
ycycrfv4858
左边的图,每个按键对应于一个IO口,按下按键时相应的IO口被拉到低电平,其IO寄存器位回读为“0”。因此根据回读到的哪个寄存器位为0就能知道哪个键被按下。这种方式适用于规模较小的键盘。右边的图是常见的行列扫描接法。当单个行扫描管脚拉低后,回读列扫描管脚的状态,即可知道该行有哪几个按键被按下。逐一拉低各个行扫描管脚并回读列管脚状态,即可获得整个矩阵键盘的按键状态。这种方式适用于规模较大的键盘,有效节省珍贵的IO口。
为您推荐:
扫描下载二维码&&&&STM32F103,4*4矩阵按键
STM32F103,4*4矩阵按键
STM32F103的4*4矩阵按键,调试通过。多个按键同时触发的时候,以最后一个释放的按键值为准。
4*4表盘的显示数据可以由大家自己修订。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行STM32F103C8T6配套程序源码-矩阵键盘.zip-资料-单片机-STM32 - 畅学电子网
STM32F103C8T6配套程序源码-矩阵键盘.zip
时间:01-22 10:27
查看:688次
0金币2.01 MB
已有0条评论
暂时还没有评论哟,快来抢沙发吧
添加一条评论
只有登录用户才能评论,请先或哦!
金币:18609个|学分:41860个
最新下载成员
关注我们:
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!
已有畅学电子网帐号?
可从合作网站帐号登录:

我要回帖

更多关于 stm32单片机教程 的文章

 

随机推荐