自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (12)
  • 收藏
  • 关注

转载 嵌入式系统应该怎样设计硬件电路

1、MCU的选择选择MCU时要考虑MCU所能够完成的功能、MCU的价格、功耗、供电电压、I/O口电平、管脚数目以及MCU的封装等因素。MCU的功耗可以从其电气性能参数中查到。供电电压有5V、3.3V以及1.8V超低电压供电模式。为了能合理分配MCU的I/O资源,在MCU选型时可绘制一张引脚分配表,供以后的设计使用。2、电源(1)考虑系统对电源的需求,例如系统需要几种电源,如24V、12V、5...

2020-01-17 14:24:01 478

转载 单片机零基础学习之从“点灯”入门STM32

本篇文章我们通过一个简单的例子来熟悉模块化编程以及利用库函数的方法进行开发使用STM32外设的基本流程。首先,我们打开本讲的例程,在工程目录我们可以看到驱动分组下有 led、delay 两个.c源文件,其实,它们对应的还有两个头文件,它们就保存在我们的 DRIVER 文件夹下的 inc 文件夹中,同理,源文件就保存在 src 文件夹中。我们在源文件里定义相关的函数,然后在对应的头文件里声明它,...

2020-01-13 10:01:16 822

转载 STM32学习笔记之核心板PCB设计

PCB设计流程PCB规则设置设计规则的单位跟随画布属性里设置的单位,此处单位是mil。导线线宽最小为10mil;不同网络元素之间最小间距为8mil;孔外径为24mil,孔内径为12mil;线长不做设置;在PCB设计过程中,都要开启“实时规则检测”、“检测元素到覆铜的距离”和“在布线时显示DRC安全边界”功能。布局原则布局一般要遵守以下原则:(1)布线最短原则。例如,集成电路(IC)的...

2020-01-10 09:47:10 2687

转载 stm32学习笔记之串口通信

本篇文章主要讲解一个在开发过程中经常使用到的一个外设—串口。串口是绝大多数 MCU 中不可或缺的一个外设,同时也是我们开发中经常使用的一种调试手段,所以在STM32的学习中,串口的配置使用也是必须要掌握的。那么,对于新手来讲,串口是什么呢?串口是串行通信接口的简称,即是一种采用串行通信方式的扩展接口,那么什么又是串行通信呢??所谓串行通信就是,在一根数据线上,数据进行一位一位的发送或接收,从...

2020-01-09 09:30:57 358

转载 stm32串口USART 硬件流控 --学习笔记

流控的概念源于 RS232 这个标准,在 RS232 标准里面包含了串口、流控的定义。大家一定了解,RS232 中的“RS”是Recommend Standard 的缩写,即”推荐标准“之意,它并不像 IEEE-1284、IEEE-1394 等标准,是由“委员会定制”。因而,不同的厂商在做 RS232 时,多少会有不同,流控也都会存在差异。以下我们与大家一起探讨流控的作用、搭建及如何操作。本文着...

2020-01-07 09:13:12 1285

转载 USART波特率 vs SPI速率--学习笔记

本篇文章将与大家探讨USART波特率 vs SPI速率。这里提出一个问题,为什么USART的波特率是内核时钟的1/8或者1/16,而SPI最快的频率可以是内核时钟的1/2。请大家带着这个问题来阅读本文。串口和SPI内部时钟在回答上面问题之前,需要先了解STM32内部时钟的概念,尤其是串口和SPI的内部时钟。STM32里包含有系统时钟、AHB时钟和APB时钟。APB时钟来源于AHB,AHB时...

2020-01-03 11:16:45 778

转载 STM32时钟系统之利用 systick 定时器来实现准确的延时。

本篇文章带着大家来认识一下 STM32 的时钟系统,以及利用 systick 定时器来实现一个比较准确的延时。我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺。STM32 的时钟相比 51 的单一时钟要复杂些,它有多个时钟源可以使用,那么大家可能会有所疑惑,STM32 的时钟搞的那么复杂干什么,原因其实在于,STM32的外设资源比起51来说,是很丰富的,那么不同外设使用的...

2020-01-02 13:20:46 719

转载 通信的基本概念

串行通讯与并行通讯按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用8、16、32 及64 根或更多的数据线进行传输的通讯方式,它们的通讯传输对比说明见图 20-1,并行通讯就像多个车道的公路,可以同时传输多个数据位的数据,而串行通讯,而串行通讯就像单个...

2019-12-31 13:17:03 1041

转载 串口通信—串口发送和接收代码讲解

USART 初始化结构体详解标准库函数对每个外设都建立了一个初始化结构体,比如USART_InitTypeDef,结构体成员用于设置外设工作参数,并由外设初始化配置函数,比如USART_Init()调用,这些设定参数将会设置外设相应的寄存器,达到配置外设工作环境的目的。初始化结构体和初始化库函数配合使用是标准库精髓所在,理解了初始化结构体每个成员意义基本上就可以对该外设运用自如了。初始化结构体...

2019-12-30 11:38:40 5974

转载 单片机STM32的启动文件详解--学习笔记

启动文件简介启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作:1、初始化堆栈指针SP=_initial_sp2、初始化PC 指针=Reset_Handler3、初始化中断向量表4、配置系统时钟5、调用C 库函数_main 初始化用户堆栈,从而最终调用main 函数去到C 的世界查找ARM 汇编指令在讲解启动代码的时候,会涉及到ARM 的汇编指令和Cortex ...

2019-12-27 10:00:31 886

转载 STM32学习笔记之寄存器映射详解

我们知道,存储器本身没有地址,给存储器分配地址的过程叫存储器映射,那什么叫寄存器映射?寄存器到底是什么?在存储器Block2 这块区域,设计的是片上外设,它们以四个字节为一个单元,共32bit,每一个单元对应不同的功能,当我们控制这些单元时就可以驱动外设工作。我们可以找到每个单元的起始地址,然后通过C 语言指针的操作方式来访问这些单元,如果每次都是通过这种地址的方式来访问,不仅不好记忆还容易出错...

2019-12-25 10:14:55 2632 2

转载 STM32f103 学习笔记之中断应用概览

异常类型F103 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。其中系统异常有8 个(如果把Reset 和HardFault 也算上的话就是10 个),外部中断有60个。除了个别异常的优先级被定死外,其它异常的优先级都是可编程的。有关具体的系统异常和外部中断可在标准库文件stm32f10x.h 这个头文件查询到,在IRQn_Type 这个结构体里面包含了F103 系列全...

2019-12-24 09:29:54 432

转载 stm32学习笔记之GPIO功能框图分析

GPIO 是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,STM32 芯片的GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的GPIO被分成很多组,每组有16 个引脚,如型号为STM32F103VET6 型号的芯片有GPIOA、GPIOB、GPIOC 至GPIOE 共5 组GPIO,芯片一共100 个引脚,其中GPIO就占了一大部分,所...

2019-12-23 09:59:03 838

转载 STM32的I2C框图详解及通讯过程

STM32 的I2C 特性及架构如果我们直接控制STM32 的两个GPIO 引脚,分别用作SCL 及SDA,按照上述信号的时序要求,直接像控制LED 灯那样控制引脚的输出(若是接收数据时则读取SDA 电平),就可以实现I2C 通讯。同样,假如我们按照USART 的要求去控制引脚,也能实现USART通讯。所以只要遵守协议,就是标准的通讯,不管您如何实现它,不管是ST 生产的控制器还是ATMEL 生...

2019-12-20 15:53:34 1414

转载 零基础入门必备的Linux命令和C语言基础

挂载一个文件系统(底部有视频资料)mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 ‘/ mnt/hda2’ 已经存在umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 ‘/ mnt/hda2’ 退出fuser -km /mnt/hda2 当设备繁忙时强制卸载umount -n /mnt/hda2 运行卸载操作而不写入 /...

2019-12-19 09:08:27 89

转载 单片机stm32零基础入门之--初识STM32 标准库

CMSIS 标准及库层次关系因为基于Cortex 系列芯片采用的内核都是相同的,区别主要为核外的片上外设的差异,这些差异却导致软件在同内核,不同外设的芯片上移植困难。为了解决不同的芯片厂商生产的Cortex 微控制器软件 的兼容性问题,ARM 与芯片厂商建立了CMSIS 标准(CortexMicroController Software Interface Standard)。所谓CMSIS ...

2019-12-18 10:22:05 701

转载 STM32中断三步曲教你如何数量应用中断

中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本。所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够输入密码?最终,调试出bug就是由于中断优先级的影响。本项目使用到的是STM32F030C8型号的MCU,我们可以从官方下载到的标准库文件中的启动汇编文件中,查看到本型号单...

2019-12-17 10:28:10 710

转载 嵌入式单片机之stm32串口你懂了多少!!

stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm32的视频资料便于学习参考。什么是串口UART : Universal Asynchronous Receiver/Transmitter 通用异步收发器USART : Universal Sy...

2019-12-16 11:15:47 952 1

转载 零基础要怎么样学习嵌入式--带你走进嵌入式

零基础要怎么样学习嵌入式希望可以通过这一篇帖子让大家走进嵌入式,对嵌入式的学习不再那么陌生。嵌入式Linux工程师的学习需要具备一定的C语言基础,因此面对许多朋友只是在大一或者大二学习过C(还不一定认真学了,呵呵!),之后基本就不再用过的情况,建议零基础学习嵌入式的朋友们在学习之前先复习一下C语言基础这块。要提醒大家的是,复习时不能只关注基本语法,对于常用的数据存储及处理方式,例如:数组、结构体...

2019-12-13 14:51:02 641

转载 stm32电机控制之控制两路直流电机!看完你会了吗

小车使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下:由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动,通过改变PWM占空比的大小可以改变电机的转速,由于我们的控制目标是实现电机运行在速度范围内任意给定的速度,这里就需要采用闭环控制的思想,通过编码器获取电机的实时转速,通过与给定速度做差,将偏差作...

2019-12-12 16:11:55 2383 1

转载 Linux线程互斥学习笔记--详细分析

一、互斥锁为啥要有互斥?多个进程/线程执行的先后顺序不确定,何时切出CPU也不确定。多个进程/线程访问变量的动作往往不是原子的。1. 操作步骤(1)创建锁// 创建互斥锁mutexpthread_mutex_t mutex;(2)初始化锁在Linux下, 线程的互斥量数据类型是pthread_mutex_t 在使用前, 要对它进行初始化:初始化的两种方法:(推荐使用第二种)1...

2019-12-09 16:54:32 316

【资料分享】快速上手Linux

Linux是嵌入式单片机的基础 除非你想裸机跑,不管现在用没用到还是先学学的好,别急想要继续深入迟早都要用到

2018-11-05

快速上手Linux

Linux是嵌入式单片机的基础 除非你想裸机跑,不管现在用没用还是先学学的好,别急迟早都要用到

2018-11-02

Java小白新手入门必看的Java学习路线图,认真看错不了

Java小白新手入门必看的Java学习路线图,认真看错不了 ,自学必备

2018-11-01

STM32库函数代码自动生成器V2015

已经和谐不会失效,对于stm32的开发很有帮互助,减少了很多工作量呢

2018-10-31

嵌入式单片机Linux C语言自学视频资料

非常适合自学单片机,嵌入式,Linux,C语言 这几个方向的人群的视频学习资料,对于自学的人希望不要错过这份系统的学习资料

2018-10-30

STM32 TCS3200 颜色感应

用STM32做的颜色感应,开始需要白平衡。 RGB用算法转换成了HVS。

2018-10-29

最新Linux视频资料

最新的Linux的视频资料,根据自己的实际情况选择适合自己的视频资料,对于新手入门和进阶的朋友很难得的一批Linux视频资料。

2018-10-26

华为C语言编程规范

搜索了一下,发现论坛关于编程规范的内容非常少,在此分享一份华为的软件编程规范文档,有需要的拿去

2018-10-23

单片机毕业设计——33个单片机类

每个设计包含论文、原代码,个别的有PCB,文件虽好,仅供参考,还是要自己做啊!

2018-10-18

stm32学习方法以及资料

一共 24 个库,不可能都学,都学也没用。按照我的工作需求必须学的有 16 个, 这 16 个也不是全学。主要学习来源是各种例程代码、“固件函数库用户手册”和“参考手册”。具体学习方法是通读不同来源的程序,在程序中找到相关的函数库的应用,然后再阅读相关文档,有条件的实验。

2018-10-17

关于 STM32F102/103 STM32F102/103 STM32F102/103 STM32F102/103 的 USB 模块和 USB 库函数

主要分享的是怎样配合 ST 提供的库函数理解 STM32F102/103 的 USB 模块,以及怎么调用这些库函数来实现基本的 USB 通信。

2018-10-17

stm32库函数中文使用手册

stm32库函数中文使用手册,stm32开发中经常会需要查文档,但是全部是英文的,特意找了一个中文版的给大家分享

2018-10-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除