说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 目录: 一、64位机器汇编代码源文件:datatype.c编译运行结果:二、32位机器汇编代码源文件:datatype.c编译运行结果:三、union与struct源文件:datatype.c编译运行结果:四、sizeof(指针)
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 QQ 群 号:513683159 【相互学习】内容来源: 用到在修正 0、container_of 宏的理解 /** * @brief 通过“结构体成员”的地址与“结构体”的类型推导出“结构体”的首地址 * * @ptr:
概念 bash shell用一个叫做环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息.环境变量的使用大大方便了程序或者shell中运行的脚本查找和访问内存中存储的数据和系统信息。 分类 Ubuntu系统下环境配置文件分为两种:系统级和用户级。 系统级 /etc/profile:(第一)【全局:任何用户】【设
引入:准备: STM32固件库包。 ST官方提供的STM32固件库包:STM32F10x_StdPeriph_Lib_V3.5.0(文件夹名)介绍: 文件夹含有:Libraries、Project、Utilities等文件夹。 Libraries文件夹含有:CMSIS、STM32F10x_StdPeriph_Driver(包含固件库核心的所有子文件夹和文件,建立工程时都会使用到)
一、线程基本操作函数 pthread_equal()——比较线程ID 1.函数功能:比较两个线程的线程标识符 项目 说明 函数原型 int pthread_equal(pthread_t t1, pthread_t t2); 头文件 pthread.h 参数说明 t1:线程标识符1 t2:线程标识符2 返回值 t1与t2
一、什么是环境变量及其作用? 环境变量(environment variables)= 用于保存运行环境相关信息的变量。一般是指在操作系统中用来指定操作系统运行环境的一些参数,具有特定名字的对象,包含了一个或者多个应用程序所将使用到的信息,如:Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到pa
一、同步(Synchronous) 同步:相【同】的【步】调同步在不同场景的含义略有区别,如: 生活中: 场景一:两个人跳舞,这两人舞步好同步 ==》舞步一致 场景二:将本地通讯录与云端通讯录同步一下 ==》通讯录一致 所以生活中理解的同步是: (使得)两个类似事物一致、一样. 数据通信中: 通信:通信双方交换数据,双方需协同工作。 协同什么呢?何时发送,以什么样的速率发送 同步
C程序的内存布局 C程序运行时会被加载入内存中,而内存一般分为五个分区:栈区、堆区、数据区、常量区、代码区。 一、动态区 动态区的内容会根据执行情况而动态变化。 1、栈区(stack) 栈区存放:函数调用时所需保存的信息(局部变量/自动变量、参数、返回值等) 栈区大小:最大大小由编译时确定,不会太大。 由编译器自动分配释放,由操作系统自动管理,无须手动管理。(函数调用时自动创建,销毁时
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 内容来源:目录:1.功能简介:2.源码及注释:3.源文件测试理解步骤 main.c Makefile4.结果: 1.功能简介: list_entry:获取链表结点p的数据。list_first_entry:获取链表结点p的下一个
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 内容来源: 串行、并行与并发的理解 并发和并行的区别(图解) 一、串行(Serial) 1️⃣串:一连串(一列),行:向前走 ==》 一列的向前走 2️⃣在多任务的单处理器执行环境下的表现:每次只能处理一个任务,处理好后才会处理下一
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 内容来源: 目录: 一、list_for_each宏1.功能简介:2.源码及注释:3.源文件测试理解步骤main.cMakefile结果二、list_for_each_safe宏1.功能简介:2.源码及注释:3.源文件测试理解步骤ma
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 目录: 零、常用操作 一、终端窗口基本操作 二、终端窗口/字体大小操作 三、终端窗口内编辑操作 四、终端窗口特殊操作 五、终端命令输入操作 六、快捷键自定义设置
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 内容来源: 目录: 1.功能简介: 2.源码及注释: 3.源文件测试理解步骤 1.功能简介: 若仅知某 结构体的数据类型 和其中一个 成员变量的数据类型和变量名,
说明: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 内容来源: VS code找不到头文件 目录: 问题: 解决方法: 问题: 场景: VScode 找不到头文件(头文件下有波浪线),实际编译是成功的(编译器没找到头文件)。 解决方法: ①在软
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。详细请看: David Herrmann’s Blog: Linux DRM Mode-Setting API David Herrmann’s Github: drm-howto/modeset.c modeset-atomic.c文件 源代码在上面可获取,原先备注是英文的,我就简单用翻译软件翻译
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。 详细请看: David Herrmann’s Blog: Linux DRM Mode-Setting API David Herrmann’s Github: drm-howto/modeset.c modeset-double-buffered.c文件 源代码在上面可获取,原先备注是英文的,我就简单
相关函数英文版请查看:nvidia-Direct Rending Manager函数原型请查看:xf86drm.c函数原型请查看:xf86drmMode.c 文章目录 相关函数 int drmGetCap (int fd, uint64_t capability,uint64_t * value ) drmModeResPtr drmModeGetResources (in
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。 这边对该示例进行简单的修改,从多次遍历改用固定一个,实验效果与前面相同。相对来说也是进行了一定的简化,看起来应该会更容易理解一些。若想具体查看相关函数和结构体的样子可看下篇:学习篇5:相关函数与结构体详细请看: David Herrmann’s Blog: Linux DRM Mode-Setting API
@@@表示程序中有具体的函数 1️⃣~8️⃣表示不可缺少的步骤(两个6️⃣无7) 目录可用来整理整体思路 简化描述 [TOC] 思维导图 一、1️⃣检查并打开DRM设备:@@@open(&fd, card); 其实直接用open函数即可,这么写健壮性会比较强 modeset_open(int *out, const char *node):该函数用于打开DRM设备表示为
/bin/ 存放系统命令的目录。(普通用户和超级用户都可执行)。 不过放在/bin下命令和单用户模式下也可执行。 /sbin/ 保存和系统环境设置相关的命令。(只有超级用户可执行,有些命令可允许普通用户查看) /usr/bin/ 存放系统命令的目录。(普通用户和超级用户都可执行)。 这些命令和系统启动无关,单用户模式不能执行。PS: Linux系统中单用户模
1.软件安装 群文件中。 2.查看虚拟机IP地址 这边我是使用“桥接模式”,打开虚拟机后进入终端(快捷键:Ctrl+Alt+T)输入命令:ifconfig,可查询到IP地址:192.168.1.112。 3.打开SecureCRT 选择“文件”——》“快速连接(Q)”——》进入菜单界面,输入主机名(IP地址),和用户名——》点击“链接”,得到“The re
前提知识: 查看主机网卡(win10) 选中“网络”图标右击选中“属性”,进入“网络和共享中心”窗口,找到并点击”更改适配器设置“,进入“网络连接”窗口,如一下页面: 可观察到VMnet1和VMnet8(这是当我们下载虚拟机后就会安装的,若没有的话,就重新安装一下虚拟机) VMnet1是与仅主机模式的虚拟网关, VMnet8是NAT模式的虚拟网关, WL
安装虚拟机VMware: VMware简介 一款虚拟PC的软件,在现有操作系统上虚拟出一个新的硬件环境,相当于模拟一台新的PC,实现一台机器上真正同时运行两个独立的操作系统。 VMware特点 ①无需分区或重开机就能在一台PC机上使用两种以上的操作系统。 ②本机系统可与虚拟机系统网络通信。 ③可设定并随时修改虚拟机操作系统硬件环境。 V
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。 详细请看: David Herrmann’s Blog: Linux DRM Mode-Setting API David Herrmann’s Github: drm-howto/modeset.c modeset.c文件 源代码在上面可获取,原先备注是英文的,我就简单用翻译软件翻译一下,有错请指出:
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。 这边主要参考以下博客,前辈们水平很高,写的很详细,详细的知识学习可查看以下链接。详细请看: 何小龙CSDN:https://blog.csdn.net/hexiaolong2009/article/details/83720940 源码获取地址:hexiaolong2008/sample-code 源码获
David Herrmann’s Blog: Linux DRM Mode-Setting API David Herrmann’s Github: docs 步骤一: 方法一:git 打开上面docs页面,复制网址 方法二:下载压缩包 然后就是进行解压,然后直接从本机中复制粘贴到虚拟机中,正常是可以直接传送(VM虚拟机里的小公举)的,当然还有其他的方法可以传送,
刚开始学习,记忆不是很好,容易忘,边学边记,阅读的速度会比较慢,看的会比较仔细。 这边主要参考以下博客,前辈们水平很高,写的很详细,详细的知识学习可查看以下链接。详细请看: 蜗窝科技:http://www.wowotech.net/graphic_subsystem/graphic_subsystem_overview.html 何小龙CSDN:https://blog.csdn.net/h
本文是下载的文本,不知道作者是谁。 刚开始学习,若有错误处请指出,共同进步。 QQ 群 号:513683159 最好还是使用文本在虚拟机里直接学习会比较好些,文档上传到群里了。 总结: vim工作模式 插入命令 定位命令 删除命令 替换或取消命令 搜索和搜索替换命令 保存或退出命令
刚开始学习,若有错误处请指出,共同进步。 QQ 群 号:513683159 基础命令学习 找个教学视频边看边敲。并把所有命令保存在word文档中。用到了,忘记ctrl+F查找一下。 命令格式 命令格式:命令 【-选项】 【-参数】 例如:ls -la /etc 说明: ①个别命令使用不遵循此格式。 ②当有多个选项时,可写在一起。 ③简
软件包分类 源码包(一般都是使用C语言写的) 脚本安装包 优点: ①开源,如果有足够的能力,可以修改源代码 ②可以自由选择所需的功能 ③软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高 ④A卸载方便 缺点: ①安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误 ②编译过程时间较长,
刚开始学习,若有错误处请指出,共同进步。 QQ 群 号:513683159 若系统出错应该怎么办?(快照功能) ①删除系统,重新安装。 ②在系统正常时,应该先保存一个快照,当系统出错时,就能够回到系统正常的快照中。(感觉有点像打游戏前先存档,失败就重新读档) 右击选项卡——快照(N)——拍摄快照 拍照之后想回到初始化则可按照前面一样的路径,里面有保存的快照名。 对应
MQ-135 气体传感器模块简介(空气质量检测 有害气体检测) MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。
声音传感器简介 声音传感器的作用相当于一个话筒(麦克风)。它用来接收声波,显示声音的振动图像,但不能对噪声的强度进行测量。 该传感器内置一个对声音敏感的电容式驻极体话筒。声波使话筒内的驻极体薄膜振动,导致电容的变化,而产生与之对应变化的微小电压。这一电压随后被转化成0-5V的电压,经过A/D转换被数据采集器接受,并传送给主板。 使用说明: 1.声音模块对环境声音强度最敏感,
DHT11温湿度传感器模块简介 DHT11概述 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。 传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极
MQ-3酒精乙醇传感器模块简介 MQ-3气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sn02)。当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-3气体传感器对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本
干簧管传感器模块简介 干簧管是干式舌簧管的简称,是一种有触点的无源电子开关元件,具有结构简单,体积小便于控制等优点,其外壳一般是一根密封的玻璃管,管中装有两个铁质的弹性簧片电板,还灌有一种叫金属铑的惰性气体。 干簧管的工作原理 常态时候,玻璃管中的两个由特殊材料制成的簧片是分开的,电路断开。 当有磁性物质靠近玻璃管时,在磁场磁力线的作用下,管内的两个簧片被磁化而互相吸
SW-420 常闭型震动模块简介 感应震动力大小将感应结果传递到电路装置,并使电路启动工作的电子开关。 用于各种震动触发作用,报盗报警,智能小车,地震报警,摩托车报警等。 本模块与常开型震动传感器模块相比、震动触发的时间更长、可以驱动继电器模块。 工作原理 平时任何角度开关都是接通状态,受到振动或移动时,开关内导通电流的滚轴会产生移动或振动,从而导致通过的电流断开或电阻阻
LM35温度传感器简介 LM35 是由National Semiconductor 所生产的温度传感器,其输出电压为摄氏温标。LM35是一种得到广泛使用的温度传感器。 由于它采用内部补偿,所以输出可以从0℃开始。LM35有多种不同封装型式。在常温下,LM35 不需要额外的校准处理即可达到 ±1/4℃的准确率。 LM35温度传感器的输出电压和摄氏度温度呈线性关系,0℃时输出0V,每升高
光敏电阻简介 光敏电阻属于无极性器件,利用硫化镉或硒化镉等半导体材料的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器。光照越强,阻值就越低。为了增加灵敏度,光敏电阻常做成梳状。 光敏电阻是器件中用的较广的一种,由于它体积小、灵敏度高、性能稳定、价格低,因此在自动控制、家用电器中得到广泛应用。例如在电视机中作亮度自动调节、照相机中作自动曝光、音乐石英钟中控制晚间不奏鸣报点,另外在路灯航
电位器简介: 电位器属于无极性器件,可变电阻的一种,三个触点,通过旋转旋钮改变2号脚的位置,从而改变阻值的大小,1脚和3脚分别接开发板的5V和GND,2脚接模拟输入引脚。 电位器的使用 实验一:电位器数值读取 项目要求: 通过串口监视器(或串口绘图器)查看电位器输入的数值。注意:电位器为模拟输入器件,对应的端口为:A0~A5。 电路搭建
蜂鸣器简介 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于各种电子产品中作发声器件。 蜂鸣器分类 按驱动方式的原理:有源蜂鸣器(内含驱动线路)和无源蜂鸣器(外部驱动)。 按构造方式的不同:电磁式蜂鸣器和压电式蜂鸣器。 按封装的不同:插针蜂鸣器(DIP BUZZER)和贴片式蜂鸣器(SMD BUZZER)。 按电流的不同:直流蜂鸣器和交流蜂鸣器。
按键开关简介 按键是一种常用的控制电器元件,常用来接通或断开电路,从而达到控制电机或者其他设备运行的开关。按键的外观多种多样,本次实验使用的是这种微型按键,6mm的,如下图:由图可知:按键没按下时候:1,2号脚相连,3,4号脚相连。 按键按下去时候,1,2,3,4号脚就全部接通。 按键开关实验 试验一:按键控制LED亮灭 实验说明: 通过串口监视器
SG90舵机简介 舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。主要是由外壳、电路板、驱动马达(直流电机)、减速齿轮组、位置检测元件(控制电路)所构成,是一套自动(闭环)控制装置。 所谓自动(闭环)控制就是用一个闭环反馈控制回路不断校正输出的偏差,使系统的输出保持恒定。 注意:①舵机的连线接口和舵机转动范围 ②舵机内有位置控制电路,一
SW-520D 角度倾倒模块简介 本模块由高灵敏度角度开关SW-520D、LM393双压比较器,信号干净,驱动能力强,超过15mA,可用于:各种产品倾斜,倾倒触发报警,倾倒断电传感器,倾斜传感器。 使用说明: 1.当模块向帽盖端倾斜、倾斜角大于10度时,为开路OFF状态。 当模块水平状态发生倾斜改变(并且引线平行于平面方向,下上高度一样),触发端(镀金引脚端A与B)低于水平倾斜
本节目标 1.什么是Arduino类库? 2.类库的分类:核心库、软件自带库、外部库 3.类库组成 4.类库使用 引入 上节课清楚了函数的相关概念,而将一个或多个函数放在文件夹或文件里全部打包在一起就组成了库函数。 库函数(类库)的出现方便了我们使用各种元器件,在Arduino程序中,直接调用类库中封装的功能函数(也称为成员函数),就可以直接使用该硬件。有了类库,就可
本节目标: 1.基础认识2.对Blink示例进行分析: ①setup()函数与loop()函数的理解 ②注释:/_ _/ 和 // ③关键字 (1)pinMode()函数 (2)digitalWrite()函数 (3)delay()函数 ④结束符 ; ⑤括号 ( )、{ }、[ ]3.将自己想象成导演,指挥演员(元器件)演出剧本(执行代码)
器件简介 LED是英文light emitting diode(发光二极管)的缩写,属于半导体二极管的一种,可以把电能转化成光能;它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。 发光二极管的核心部分是由Р型半导体和N型半导体组成的晶片,在Р型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半
HC-SR04 超声波测距模块简介 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。 电气参数 基本工作原理 超声波测距模块—
本节目标: 1.对主板界面各元器件的认识。2.编程软件的下载与安装。3.对编程软件的界面认识。4.进行示例程序的上传与观察现象。 Arduino Uno R3 介绍 编程软件安装 网址: http://arduino.cc/en/Main/Software 编程软件界面介绍 第一个实验(Blink示例) 第一步:打开程序:“文件”—>“示例”—>
摘抄自正点原子官方PPT 什么是 I2C? I2C(IIC,Inter-Integrated Circuit),两线式串行总线,由PHILIPS公司开发用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。 IIC是半双工通信方式。 多主机I2C总线
摘抄自正点原子官方PPT 数模转换原理 STM32的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可
摘抄自正点原子官方PPT 什么是ADC? ADC的Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。 典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号。 STM32F10x ADC特点 STM32F10x系列芯片ADC通道和引脚对应关系 ADC引脚 AD
摘抄自正点原子官方PPT 什么是RTC? RTC (Real Time Clock):实时时钟,是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期。 RTC模块和时钟配置系统(RCC_BDCR寄存器)是在后备区域(断电后还会工作),即在系统复位或从待机模式唤醒后RTC的设置和时间维持不变。但是在系统复位后
摘抄自正点原子官方PPT TFTLCD驱动原理TFTLCD简介 TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。 TFTLCD具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。是目前最主流的LCD显示器
摘抄自正点原子官方PPT OLED简介 OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面
电容触摸按键原理RC充放电电路原理: RC充放电原理,其实就是电(R)和电容(C)组成的串联电路。 按键开关未按下时,电路两端电压都是0V,无法形成电势差,也就无法形成电流。但当按键开关按下,电阻端上端有电压:V 1而电容下端有电压Gnd(0V),自此形成电流,形成电流的同时,电容开始充电的过程,由于充电初期电势差比较大,而随着电容的充电,电容的电压会越来越大(电势差越来越小),于是就形
三种STM32定时器区别 通用定时器功能特点描述 1、STM3 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定时器功能特点包括: 2、位于低速的APB1总线上(APB1) 3、16 位向上、向下、向上/向下(中心对齐)计数模式,自动装载计数器(TIMx_CNT)。 4、16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的
看门狗概述 为什么要看门狗? 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog
外部中断概述 STM32的每个IO都可以作为外部中断输入。 STM32的中断控制器支持19个外部中断/事件请求: 线0~15:对应外部IO口的输入中断。 线16:连接到PVD输出。 线17:连接到RTC闹钟事件。 线18:连接到USB唤醒事件。 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。 从
通信的两种方式:并行通信 -传输原理:数据各个位同时传输。 -优点:速度快 -缺点:占用引脚资源多 串行通信 -传输原理:数据按位顺序传输。 -优点:占用引脚资源少 -缺点:速度相对较慢 串行通信分类(按照数据传送方向) 单工(a): 数据传输只支持数据在一个方向上传输 半双工(b): 允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输
Systick定时器是什么? Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。 Systick定时器常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如UCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做UCOS心跳时钟。 Systick定时器就是系统滴答定时器,
时钟系统框图 观察上图时钟系统框图,可知道 蓝色矩形表示时钟振荡源(5个):HSI RC、HSE Osc、PLL(锁相环、倍频器)、LSE Osc、LSI RC H:快速、L:低速、S:速度、I:内部、E:外部 灰色梯形表示选择器:通过不同选择器的选择,SYSCLK系统时钟、RTCCLK实时时钟、IWDGCLK独立看门狗时钟、USBCLK USB时钟可有多种选择。 黄色矩形css
硬件电路图 注意: 不能通过IO口直接驱动大功率器件(蜂鸣器不能直接接IO口,要像上面电路一样通过三极管进行放大,通过电路图易知当BEEP端输出高电平则基极与发射极导通,电流放大从集电极输出,蜂鸣器响,反之不然) R38(10K电阻)有什么用?因为STM32复位后默认是浮空状态,IO口电平是不确定的,若不接则可能会通过三极管的B极进行放大,接了之后会从这边走从而就不会导致复位后蜂鸣器响
硬件电路图 查看电路图可知,当输出高电平时候LED灭,输出低电平时LED亮。 GPIO输出方式:推挽输出。 LED0是连接GPIO_B中的第5个引脚。 LED1是连接GPIO_E中的第5个引脚。 前面设置与前篇一致,主要修改的地方就是main.c、led.c。led.h与前面一致,程序如下: #ifndef __LED_H #define __LED_H void LED_I
件电路图 查看电路图可知,当输出高电平时候LED灭,输出低电平时LED亮。 GPIO输出方式:推挽输出。 LED0是连接GPIO_B中的第5个引脚。 LED1是连接GPIO_E中的第5个引脚。 库函数介绍 头文件:stm32f10x_gpio.h 源文件:stm32f10x_gpio.c 跑马灯实验: 打开跑马灯实验的程序代码(官网光盘有提供) FWLIB:misc.
前提 芯片引脚数量 STM32F103ZET6为:144脚芯片。一共有7组IO口(GPIOA~GPIOG),每组IO口有16个IO(PA0 ~ PA16),共计16*7=112个IO. STM32的大部分引脚除了当GPIO使用外,还有一些特殊功能 1、端口复用功能:所谓复用,就是一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚,比如PA9,PA10可以复用为S
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信