一、前言 使用STM32F103C8T6最小系统,实现4x4矩阵键盘的键值上报,通过串口调试助手打印相关的键值,使用的是逐行逐列扫描法,通过库函数实现。二、概述(一)矩阵键盘简述 矩阵键盘是单片机外部设备中所使用排布类似于矩阵键盘组,矩阵式结构的键盘会比独立键盘复杂一点,识别按键按下也会相对复杂。但是,需要使用大量的按键时,矩阵键盘的设计会减少I/O资源。常用的矩阵键盘有3x3、4x4、8x8等。 矩阵键盘又称行列式键盘,它是使用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线与列线的交叉处放置一个按键。(二)矩阵键盘扫描方法
一、前言 使用STM32F103C8T6最小系统,实现4x4矩阵键盘的键值上报,通过串口调试助手打印相关的键值,使用的是逐行逐列扫描法,通过库函数实现。二、概述(一)矩阵键盘简述 矩阵键盘是单片机外部设备中所使用排布类似于矩阵键盘组,矩阵式结构的键盘会比独立键盘复杂一点,识别按键按下也会相对复杂。但是,需要使用大量的按键时,矩阵键盘的设计会减少I/O资源。常用的矩阵键盘有3x3、4x4、8x8等。 矩阵键盘又称行列式键盘,它是使用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线与列线的交叉处放置一个按键。(二)矩阵键盘扫描方法
没什么可说的,想说的都写在注释里了,重要的事情说三遍:看注释,看注释,看注释定时器的.c文件:/*****************************************************************************TIM1,TIM2,TIM3,TIM4,TIM5,TIM8输出4路PWM配置要用TIM2-TIM5记得注销TIM1,TIM8要用TIM1,TIM8记得注销TIM2-TIM5默认:TIM2-TIM5注意:要使用TIM8的话别忘记把 TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset;
没什么可说的,想说的都写在注释里了,重要的事情说三遍:看注释,看注释,看注释定时器的.c文件:/*****************************************************************************TIM1,TIM2,TIM3,TIM4,TIM5,TIM8输出4路PWM配置要用TIM2-TIM5记得注销TIM1,TIM8要用TIM1,TIM8记得注销TIM2-TIM5默认:TIM2-TIM5注意:要使用TIM8的话别忘记把 TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Reset;
将USB中的接线端与板子上的对应接口相互连接,由于我的USB只有5针,所以不会涉及到在此处用短接线帽。其中的电源与接地对应相连接,但是再接收与发送端要错开相接,其中TXD--RXD;RXDTXD之后就可以打开代码烧录助手,我用的是flymcu,设置好对应的参数及其端口之后: 但是后面会发现:(一直烧录不进去) 后面上了查找了多方资料,总算找到了,需要将板子上的boot0先置1,才能够进行代码烧写: 烧录结束之后,又得将boot0重置为0,之后就可以进行串口通信的调试了烧录完成之后,一定得进行将boot1重置为0,否则调试结果不会如你所愿得 之后使用xcom串口助手,就可以进行串口调试了
将USB中的接线端与板子上的对应接口相互连接,由于我的USB只有5针,所以不会涉及到在此处用短接线帽。其中的电源与接地对应相连接,但是再接收与发送端要错开相接,其中TXD--RXD;RXDTXD之后就可以打开代码烧录助手,我用的是flymcu,设置好对应的参数及其端口之后: 但是后面会发现:(一直烧录不进去) 后面上了查找了多方资料,总算找到了,需要将板子上的boot0先置1,才能够进行代码烧写: 烧录结束之后,又得将boot0重置为0,之后就可以进行串口通信的调试了烧录完成之后,一定得进行将boot1重置为0,否则调试结果不会如你所愿得 之后使用xcom串口助手,就可以进行串口调试了
最近两年芯片价格暴涨,而我平时使用stm32比较多,常用的stm32f103系列有的涨价接近20倍,记得stm32f103c8t6芯片价格最低的时候6-8块钱就可以买到了,而现在再去看,需要120+。显然,对于普通老百姓的我对于这个价格瑟瑟发抖。于是只能去寻找可以替换的,国产的显然是比较好的选择,但是根据以往的经验,国产的芯片稳定性实在是让人不敢恭维(实话实说,不喜勿喷)。经过一番折腾,发现stm32f103c6t6和c8t6引脚完全对应,且价格相对友好很多:简单记录一下二者区别: STM32F103
最近两年芯片价格暴涨,而我平时使用stm32比较多,常用的stm32f103系列有的涨价接近20倍,记得stm32f103c8t6芯片价格最低的时候6-8块钱就可以买到了,而现在再去看,需要120+。显然,对于普通老百姓的我对于这个价格瑟瑟发抖。于是只能去寻找可以替换的,国产的显然是比较好的选择,但是根据以往的经验,国产的芯片稳定性实在是让人不敢恭维(实话实说,不喜勿喷)。经过一番折腾,发现stm32f103c6t6和c8t6引脚完全对应,且价格相对友好很多:简单记录一下二者区别: STM32F103
2020年大三上的时候和同学们一起组队参加了学校举办的机器人大赛,走的是循迹竞速赛道,规则很简单,就是看谁可以以最快的速度跑完全程,经过一个多月的学习与调试,最终我们的小车“德芙”(因为全程跑的十分丝滑)以26s的成绩(领先第二名7s)获得了第一,在此就写一篇博客记录记录自己调车的经历吧。 我们队在比赛中使用的是舵机加双编码电机的机械结构,以芯片主频为72MHz的STM32F103ZET6为核心控制器,赛道的主要元素包括直道,环岛,S弯和连续直角弯;我们通过一字排列的光电传感器阵列对黑线进行识别,进而检测车身在赛道上的位置;通过编码电机检测智能车的实时速度;使用结合BANGB
2020年大三上的时候和同学们一起组队参加了学校举办的机器人大赛,走的是循迹竞速赛道,规则很简单,就是看谁可以以最快的速度跑完全程,经过一个多月的学习与调试,最终我们的小车“德芙”(因为全程跑的十分丝滑)以26s的成绩(领先第二名7s)获得了第一,在此就写一篇博客记录记录自己调车的经历吧。 我们队在比赛中使用的是舵机加双编码电机的机械结构,以芯片主频为72MHz的STM32F103ZET6为核心控制器,赛道的主要元素包括直道,环岛,S弯和连续直角弯;我们通过一字排列的光电传感器阵列对黑线进行识别,进而检测车身在赛道上的位置;通过编码电机检测智能车的实时速度;使用结合BANGB