STM32
柠檬精爱喝白醋
2020年Java转C#.net
展开
-
STM32 嵌入式开发学习笔记七:外部中断 EXTI
一、 EXTI 简介EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。二、 EXTI 功能框图EXTI 的功能框图包含了 EXTI 最核心内容,掌握了功能框图,对 EXTI 就有一个整体的把握,在编程时思路就非常清晰。EXTI功能框转载 2020-11-20 10:08:45 · 1477 阅读 · 0 评论 -
STM32 嵌入式开发学习笔记六 :串口通信
本文转载自:https://www.cnblogs.com/isakovsky/p/11437355.html和https://www.cnblogs.com/isakovsky/p/11444056.html,笔者将讲解STM32与外部设备通过串口通信的方式。所谓串口通信,其实是一个类似于计算机网络的概念,它有物理层,比如规定用什么线通信,几伏特算高电平,几伏特算低电平。传输层,通信前要发RTS,CTS。每一层都有不同的协议所约束。在STM32中采用的USART就是其中之一。USART模块由GPIO_转载 2020-07-06 13:50:32 · 278 阅读 · 0 评论 -
STM32 嵌入式开发学习笔记五 :中断
本文转载自:https://www.cnblogs.com/isakovsky/p/11437202.html我们了解了用循环实现延时,或用系统滴答计时器实现延时,但这两种方法都有一种问题:会阻塞处理器的运行。下面我们学习一种不阻塞处理器运行其他事件的功能:时钟中断。所谓中断,就是让处理器放下手头的事情,立刻去做一件事情,做完了再做原来的事情。比如说你在写作业,但是突然来了一个人找你说话,你就停下来跟他说话,这就是中断。要实现时钟中断,我们必须了解两种特性:通用定时器和中断控制器。通用定时器也是通过转载 2020-07-06 10:33:26 · 303 阅读 · 0 评论 -
STM32 嵌入式开发学习笔记四 :使用滴答计时器实现精准计时
本文转载自:https://www.cnblogs.com/isakovsky/p/11428230.html,笔者将利用滴答计时器实现精准延时。因为在STM32上没有系统时间的接口,因此无法调用sleep函数。查阅技术手册,滴答计时器依赖于一个SysTick_Type类型寄存器,定义如下typedef struct{vu32 CTRL; //控制和状态vu32 LOAD; //重装载值vu32 VAL; //当前值vuc32 CALIB;//校准值} SysTick_TypeDef转载 2020-07-04 16:44:47 · 579 阅读 · 0 评论 -
STM32 嵌入式开发学习笔记三 :使用按键折腾小灯
本文转载自:https://www.cnblogs.com/isakovsky/p/11424459.html按键和小灯一样,也是通过GPIO外设与主板连接,也是通过GPIO_InitStruct类型结构体控制其工作。查阅技术手册,按键连接GPIOA控制下的管脚0。但与之不同的是,按键是一种输入设备,输入设备的工作状态也有四类,模拟输入,浮空输入,下拉输入和上拉输入。模拟输入就是输入一个波形,浮空输入指的是未按下按钮时,不确定此管脚的信号状态。上拉输入指按下按钮时,输出低电平,即0,松开按钮时,输转载 2020-07-04 16:19:02 · 225 阅读 · 0 评论 -
STM32 《STM32固件库使用手册中文版》和《STM32F10x参考手册中文版》
最近领导让我学学嵌入式开发,在网上看了看老前辈们总结的嵌入式开发学习不归路,还是决定按照步骤开始学习。首先是获取到《STM32固件库使用手册》和《STM32F10x参考手册》两个开局手册,在网上找了找资源,发现居然还要收费下载!明明STM官网就能免费下载(笑哭)做人厚道一点啊~下载地址:固件库使用手册链接: https://pan.baidu.com/s/1n_flJ3TuGo4Nvf3dMOKOKg 提取码: qrb2参考手册链接: https://pan.baidu.com/s/1beJlqU原创 2020-07-04 15:28:14 · 27305 阅读 · 20 评论 -
STM32 嵌入式学习笔记二 :将功能封装为库文件来折腾小灯
本文转载自https://www.cnblogs.com/isakovsky/p/11424183.html,笔者将展示如何把各个独立的功能封装为库文件以便主函数进行调用。将所有的函数都堆在main.c文件里不是好的选择,庞大的代码文件会是你维护的障碍,明智的做法是,一种功能封装到一个库文件里。库文件就是你代码开始部分写的#include<xxxx.h>里面的xxxx.h。在窥视stdio.h文件后,我们发现文件中大部分是注释的废话,剩下的只有一堆宏命令和函数定义,一行具体实现也没有。具体转载 2020-07-04 15:07:37 · 1048 阅读 · 0 评论 -
STM32 嵌入式开发学习笔记一 :折腾小灯
本文中,笔者将介绍使用嵌入式开发工具Keil uVision5,使用C语言,对微处理器STM32F103C8进行嵌入式开发。开发使用C语言,首先需要新建一个C语言文件,将其设为主函数的入口,因此,将此文件命名为main.c配置好软硬件依赖环境后,在此文件中键入如下内容,尝试编译,如果能够编译成功说明环境配置成功。stm32f10x.h库的功能是提供对于stm32f10x系列开发板的所有功能的定义与实现,因此在头文件中要加一句。#include <stdio.h>#include <转载 2020-07-04 14:57:11 · 416 阅读 · 0 评论