自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

echo_bright_的博客

计算机网络基础/ Linux网络编程

  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 STM32标准外设库

6月份最后一篇技术文章了,记录比较简单的STM32标准外设库。1. 标准外设库概述STM32标准外设库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征,该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少开发者开发使用片内外设

2017-06-30 16:07:08 7590

原创 上拉电阻

上下拉电阻的作用是为硬件电路提供一个稳定的、电平可知的运行环境。下面电路,可体现上拉电阻的必要性。假设没有上拉电阻R02,开发者想让LED灯D0灭,让电平端输出TTL高电平3.3V就能实现灭灯吗? 分析:三极管的e(发射)极是5V,b(基)极是3.3V,e极大于b极正好0.7V,所以三极管还是处于导通状态,所以D0并不能达到熄灭的效果。此时在电路中加入电阻R02,这样,当电平端输出高电平3.3V时

2017-06-29 12:48:47 1639 1

原创 数字电路中的三极管

单片机软件开发,离不开基本的硬件电路知识,而三极管在其中占据关键地位,不论是在数字电路,还是模拟电路,它的应用十分普遍。在模拟电路中,三极管的主要作用是放大信号,在数字电路中只要是利用其开关特性来控制、驱动其他器件。对于单片机软件开发者来说,主要是要熟悉三极管在数字电路中的应用。三极管电路符号如图: 三极管分为NPN型和PNP型,它有3个极:基极(base)、集电极(collector)和发射极(

2017-06-28 21:05:26 10898 1

转载 c++的unique函数

unique是 c++标准模板库STL中十分实用的函数之一,使用此函数需要#include <algorithm>该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素,注意 (1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。 (2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用st

2017-06-26 21:23:54 17043 1

原创 STM32时钟体系结构

STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册) 下面就此图做分析1. STM32输入时钟源1.1 时钟源的作用无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。1.2 STM

2017-06-20 08:36:51 22641

原创 STM32的位段操作

位操作就是可以读/写单独的一个比特位,在STM32中没有像51单片机的sbit来实行位定义,但是它可以通过位带别名区来实现。 在STM32中有两个地方实现了位带操作,一个是SRAM区的最低1MB空间,另一个是外设区最低1MB空间。0x2000 0000 ~ 0x200f ffff (SRAM区中的最低1MB)0x4000 0000 ~ 0x400f ffff (片上外设区中的最低1MB,已覆盖了

2017-06-19 11:14:31 7577

原创 c语言和c++的相互调用

在实际项目开发中,c和c++代码的相互调用是常见的,c++能够兼容c语言的编译方式,但是c++编译器g++默认会以c++的方式编译程序,而c程序编译器gcc会默认以c的方式编译它,所以c和c++的相互调用存在一定的技巧。1.c方式编译和c++方式编译一般.cpp文件是采用g++去编译,.c文件是采用gcc编译,然而这不是绝对的。 (1)gcc和g++都可以编译.c文件,也都可以编译.cpp文件。g

2017-06-16 15:47:58 19397 5

原创 c++的引用

1. 变量名在引入引用之前,先回顾下c/c++中的变量名。所谓变量名,实际是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,因此,可以通过变量的名字可以使用存储空间。那么一段连续的存储空间是否只能有一个别名?肯定不是的,那么在c++中就引进引用的概念。2. 引用引用可以看作是一个已定义变量的别名,分为普通引用和特殊引用。2.1 普通引用普通引用其语法方式如下:type& name =

2017-06-16 11:28:39 426

转载 ROM、RAM、DRAM、SRAM和FLASH的区别

转载自http://www.openedv.com/thread-6138-1-1.htmlROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(Static RAM/

2017-06-16 09:20:44 644

转载 gcc和g++

文章转自http://blog.chinaunix.net/uid-23023613-id-88201.html,写得很清晰,下面copy过来的。一、gcc和g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern “C”,分歧就更多了,这里我想作

2017-06-13 16:36:15 559

原创 c++对c的优化

c++的诞生,肩挑兼容c语言所有特性的担子,所以c++继承了c语言的的所有特性,但是在c的基础上提供了更多的语法和特性。c++既以c语言为基础,又支持面向对象,且具有类型加强、函数加强、异常处理等特点。听了狄泰软件唐老师的课程,现总结c++对c语言的升级。1. register关键字c语言中,register关键字请求(只是请求,编译器完全可以拒绝)编译器将局部变量存储于寄存器中,在c++中依然支持

2017-06-13 12:46:48 511

Linux内核链表(移植完成)

linux内核链表设计的得十分巧妙,代码将其从内核代码总移植出来,可适用于应用程序软件。

2018-02-07

空空如也

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

TA关注的人

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