stm32编程
little_engineer
一个菜鸟的成长之路
展开
-
#RTThread完整版学习(RCEA考试练习)之信号量使用
信号量是线程间同步的一种方式。在rtthread中用于线程间同步的还有互斥量和事件集。什么是进程间同步,简单点的类比就是工厂中的生产线,如果想要执行B工序就必须等待A工序的完成,那么工序A和工序B就是同步的关系,在程序中也是一样。只不过是工序变成了线程。在RTThread的文档里有这样的描述:同步是指按预定的先后次序进行运行,线程同步是指多个线程通过特定的机制(如互斥量,事件对象,临界区)来控制...原创 2020-05-02 15:00:10 · 1502 阅读 · 0 评论 -
【学习】蓝桥杯嵌入式--第十届省赛试题
代码下载(内含试题)https://gitee.com/litte_enigner/lqb_emb_10th.git第十届蓝桥杯自我感觉不论是在单片机组还是嵌入式组都是十分简单的。但是如果不会ADC那就凉凉了。先看一下功能要求大致意思是说设计一个电压检测装置,在电压值达到上限或者限制的时候有相应的指示。同时还可以设置电压值的上限和下限的值和哪个LED闪烁。按键扫描,显示...原创 2020-02-24 15:06:35 · 4423 阅读 · 1 评论 -
蓝桥杯嵌入式组第九届省赛练习(算是解决了长短按键,解决了高亮显示)
第九届代码实现代码https://gitee.com/litte_enigner/lqb_emb_9th.git蓝桥杯开发板的基本模块以及玩的差不多了,接下来就拿第九届题练一下手。算是解决了长短按键,解决了高亮显示先看一下第九届试题的题目和硬件框图。题目就是“电子定时器”。硬件框图如下感觉控制的外设不多,那么就按照描述一步一步的实现就可以了。第一步是LCD的显示部分...原创 2020-02-21 10:51:36 · 1645 阅读 · 0 评论 -
PWM实现呼吸灯以及对其的一些思考(一)(STM32F429)
脉冲宽度调制(Pulse Width Modulation,PWM)这个东西学过数电的都知道,它其实就是一种脉冲宽度调制的技术。首先介绍一下什么是PWM。如下图PWM波形是脉冲波形,发出的信号只有两个状态,高(开)低(关)。其中,从一个上升(下降)沿到下一个上升(下降)沿称作一个周期(T),频率便是f =1/T.(f:Hz,T:s.)还有一个概念就是占空比,其实也很简单,就如上图Duty...原创 2019-08-16 19:18:54 · 1597 阅读 · 0 评论 -
【uFun试用体验】串口通信(1)
通信,按照传统的理解就是信息的传输与交换。对于单片机来说,通信则与传感器、存储芯片、外围控制芯片等技术紧密结合,成为整个单片机系统的“神经中枢”。没有通信,单片机所实现的功能仅仅局限于单片机本身,就无法通过其它设备获得有用信息,也无法将自己产生的信息告诉其它设备。如果单片机通信没处理好的话,它和外围器件的合作程度就受到限制,最终整个系统也无法完成强大的功能,由此可见单片机通信技术的重要性。 UAR...原创 2019-05-07 13:38:39 · 325 阅读 · 0 评论 -
【ufun试用】按键(2)前后台实现
上次写了一个按键的程序,那个比较简单,但是有时我们可以用另一种方法写按键程序,由于这个学习板不是机械按键,所以消抖的问题就不存在了,所以在这个开发板中,写这个键盘程序的目的是描述一个写程序的思想。这个思想会在之后说,在此之前先介绍一下基础知识,stm32定时器的应用。在说定时器之前首先得说一下中断的概念,中断就是异常,怎么理解中断呢?中断字面意思就是打断,把一个程序打断去执行中断服务的程序,形象...原创 2019-04-17 19:23:25 · 387 阅读 · 0 评论 -
【ufun使用】之按键
其实按键的使用和点亮led灯是差不多的,只不过一个是输出,一个输入,GPIO的初始化上也差不多,配置的时候将GPIO_Mode设置为GPIO_Mode_IN_FLOATING浮空输入,这里插一下,在stm32中有4种输入方式他们分别是GPIO_Mode_AIN(模拟输入)GPIO_Mode_IN_FLOATING(浮空输入)GPIO_Mode_IPD(下拉输入)GPIO_Mode_IPU(上拉输入...原创 2019-04-08 19:58:26 · 327 阅读 · 0 评论 -
【ufun】开发板使用-点亮LED(库函数)
点亮一个LED灯就像是程序里的Holle world,可以了解整个流程。首先说一下STM32的内部资源flash(放程序的地方),RAM(放数据的地方),各种总线(放好多功能的地方比如ADC),我一直认为单片机就是一个小电脑,它里面有CPU,有运算器,有硬盘(flash),有内存(RAM),还有各种接口(外围总线上挂的外设)如图接下来说最小系统那么什么是最小系统呢?单片机的最小系统...原创 2019-04-01 11:38:15 · 971 阅读 · 0 评论 -
【ufun使用】普通的延时和使用SysTick(系统定时器)延时
上次点了一个灯之后,总觉得没有什么意思,因为LED一直亮的也没什么意思,所以就得让它闪动起来,学过C语言的同学都知道一个空的循环函数就可以使CPU在那里空转,以达到延时的目的,所以这是我们的第一个延时的代码void delay(unsigned int t){ while(t --);}但是,如果这样就结束了,那就太没意思了,这可是stm32单片机啊,一个普普通通的延时就可以搞出花...原创 2019-04-04 09:55:37 · 647 阅读 · 0 评论 -
stm32点亮LED二(固件库版)
上一章配置好了环境,就可以写程序了配置GPIO口有如下几个步骤时钟使能,也就是rcc使能(stm32默认是关闭) 选择引脚 选择引脚模式 配置输出状态 设置速度 初始化引脚首先在led.h写如下程序#ifndef __led_h#define __led_h#include "stm32f10x_gpio.h"#include "stm32f10x_rcc.h"...原创 2018-07-29 10:48:30 · 1862 阅读 · 0 评论 -
stm32点亮LED灯一(库函数版)
学习51单片机的第一个控制IO口的操作就是流水灯,stm32的学习我也是从一个流水灯开始,是stm32是32位机,里面有很多的寄存器,操作stm32单片机也可以使用寄存器操作,使用寄存器操作的好处就是程序的执行速度快,程序的体积小,但是,问题也有很多,比如不方便移植,stm32不同型号的寄存器是有差别的,同时开发的效率低,因为操作寄存器需要频繁地查芯片手册。权衡了一下,我选用库函数点亮LED。...原创 2018-07-29 09:56:10 · 13561 阅读 · 2 评论