oled的一套stm32实验1】的更多相关文章

stm32与OLED屏接口的引脚介绍: CS————GPIOD3: RST————GPIOD4: DC—————GPIOD5: D0——————GPIOD6: D1——————GPIOD7; 上是我参考别人的oled引脚的接线 但是 我买的oled模块和别人的不是很一样,虽然也是spi通信的 看一下我的接线: 模块与stm32: GND--GND VCC--3.3v SCL--PD6  :这个是时钟 SDA--PD7 :这个是传输数据的,也就是数据线spi本应是两条的,但是屏幕并没有返回值,所以…
详细的oled介绍:http://blog.sina.com.cn/s/blog_57ad1bd20102wtq8.html 整理自:https://www.cnblogs.com/wp2312139418/p/5988713.html 应该可以直接运行了. stm32与OLED屏接口的引脚介绍: CS————GPIOD3: RST————GPIOD4: DC—————GPIOD5: D0——————GPIOD6: D1——————GPIOD7; OLED引脚介绍: CS:OLED片选信号 RS…
前言 DMA即直接内存存取.我理解它就是一个“交通部长”抑或是一个“搬运工”,协助CPU存储或读取数据.既然它的主要工作就是“搬运”数据,服务对象自然就是内存(不太严格的说法吧,STM32中Flash闪存也可成为DMA的服务对象). 问题1   DMA传输数量寄存器DMA_CNDTRx的含义 描述 在中文版本参考手册里,寄存器DMA_CNDTRx有如下解释: 对于“指示待传输字节数目”的解释,我有些疑惑,因为在参考手册DMA主要特性中又是这么说的:可编程的数据传输数目:最大为65535.同样的,…
内设与外设: 端口复用和端口重映射都需要了解内设和外设,那么什么是内设?什么是外设? 内设:单片机内部集成的功能一般包括:串口模块.SPI模块(Serial Peripheral Interface  串行外设接口).I2C模块(Philips公司开发的一种简单.双向二线制同步串行总线).A/D模块(模数转换器).PWM模块(Pulse Width Modulation  脉冲宽度调制).CAN模块(Controller Area Network  控制器局域网络).EEPROM(Electri…
开学STM32 跑马灯的实验主要就是了解GPIO口的配置及使用,我这里是使用库函数进行编程,主要需要设置以下两方面: 1.使能需要使用的IO口的时钟,一共有A.B.C.D.E.F.G七组IO口 2.初始化IO口(设置IO口的端口号(有GPIO_Pin_0 ~ GPIO_Pin_15,共16个IO端口).设置IO口的输出速度.设置IO口的工作模式) 代码如下 //端口初始化 #include "led.h" #include "stm32f10x.h" void LE…
一.基础知识 1.cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断 2.STM32只有84个中断,包括16个内核中断和68个可屏蔽中断 3.STM32F103上只有60个可屏蔽中断(本文重点讲解F103) 4.先占优先级和次占优先级 先占优先级(抢占优先级):抢占优先级不同,会涉及到中断嵌套,抢占优先级高的会优先抢占优先级低的,优先得到执行.抢占优先级相同,不涉及到中断嵌套,响应优先级不同,响应优先级高的先响应. 次占优先级(响应优先级/亚优先级/副优先级):只在同…
优秀文章 https://blog.csdn.net/qq_38351824/article/details/82619734 一.STM32通用定时器(TIM2.TIM3.TIM4和TIM5共四个通用定时器,它们之间完全独立,不共享任何资源) STM32F1系列的通用定时器是一个通过可编程预分频器(PSC)驱动的16位自动重装载计数器(CNT)构成. STM32的通用计时器可用于: 测量输入信号的脉冲长度(输入捕获) 产生输出波形(输出比较和PWM) 使用定时器预分频器和RCC时钟控制器预分频…
一.中断 由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理事件的一个程序.该程序执行完成后,CPU接着执行被暂停的程序.这个过程称为中断.(我正在捉泥鳅,但是我妈喊我回家吃饭,我必须回家吃饭,回家途中,发现泥鳅没带,回去把泥鳅带回家,然后吃完饭继续捉泥鳅!!!) 中断是CPU处理外部突发事件的一个重要技术.引起中断的原因或者说发出中断请求的来源叫做中断源.根据中断源的不同,可以分为硬件中断和软件中断两大类,有了中断,系统可以更好更快的利用有限的系统资源解决系统响应速度和运行效率的一…
STM32串口通信(F1系列包含3个USART和2个UART) 一.单片机与PC机串行通信研究目的和意义: 单片机自诞生以来以其性能稳定,价格低廉.功能强大.在智能仪器.工业装备以及日用电子消费产品中得到了广泛的应用.在单片机的输入输出控制中,除直接接上小键盘和LCD显示屏等方法外,一般都通过串口和上位机PC进行通信.这样不仅能够实现远程控制,而且能够利用PC机强大的数据处理功能以及友好的控制界面.在一般的利用PC机对单片机进行控制的场合,都是采用操作系统作为上位机的平台,其优点是界面友好,编程…
按键实验和前面的跑马灯.蜂鸣器主要的区别就是这个是读取外部的输入信号,之前的实验都是对外部输出信号. 一.硬件设计 本实验的硬件为三个按键.两个lED(LED0.LED1).一个蜂鸣器(BEEP). KEY0控制LED0和LED1开,KEY1控制LED0和LED1关,按键WK_UP控制BEEP. 二.软件设计 1.子函数 //key.h #ifndef __KEY_H #define __KEY_H #include "sys.h" #define KEY0 GPIO_ReadInpu…
蜂鸣器:是一种一体化结构的电子讯响器.主要分为分压式蜂鸣器和电磁式蜂鸣器两种类型. 一.有源/无源蜂鸣器(不是指是否带电源,而是有没有自带震荡电路) 1.有源蜂鸣器:有源蜂鸣器自带震荡电路,一通电就会发声. 2.无源蜂鸣器:没有自带震荡电路,需要外部提供2~5Khz左右的方波驱动,太能发声. 二.硬件设计 因为STM32的单个IO口最大可以提供25mA电流,而蜂鸣器的驱动电流在30mA左右,两者十分相近,但是STM32整个芯片的电流,最大也就150mA左右,如果用IO口直接驱动蜂鸣器,其它功能使…
时钟系统是处理器的核心,所以认真学习时钟系统是必要的,有助于深入理解STM32. 由于STM32的外设很多,有的外设不需要太高的时钟频率,同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也越弱,所以对于较为复杂的MCU一般都是采取多时钟源的方法来解决这些问题. 一.STM32时钟源 在STM32中共有五个时钟源,为HSI.HSE.LSI.LSE.PLL 按时钟频率来分:高速时钟源和低速时钟源    高速时钟源:HSI.HSE.PLL    低速时钟源:LSI.LSE 按来源可分为外部时钟源(外接…
GPIO(General-purpose input/output 通用目的输入/输出端口) 电压(A模拟量)与电平(D数字量) GPIO 8种工作模式(输入四种.输出四种) 1.GPIO_Mode_AIN 模拟输入 2.GPIO_Mode_IN_FLOATING 浮空输入 3.GPIO_Mode_IPD 下拉输入 4.GPIO_Mode_IPU 上拉输入 5.GPIO_Mode_Out_OD 开漏输出 6.GPIO_Mode_Out_PP 推挽输出 7.GPIO_Mode_AF_OD 复用开漏…
一.独立看门狗和窗口看门狗 看门狗:单片机系统在外界的干扰下会出现程序跑飞的现象导致死循环,或者崩溃,看门狗电路就是为了避免这种情况的发生,看门狗的作用就是在一定的事件内(通过计数器实现)若没有收到喂狗信号(表示MCU已经挂了),便实现处理器的自动复位重启(发送复位信号) 独立看门狗IWDG:独立于系统之外,因为有独立时钟30-60KHz,所以是不受系统影响的系统故障检测器,主要用于监视硬件错误. 窗口看门狗WWDG:系统内部的故障探测器,时钟与系统相同.如果系统时钟不走了,这个狗也就失去了作用…
其实各种协议是很重要的,这篇文章就当做我对spi协议的一个整理吧. 必要的spi简介: https://www.cnblogs.com/zengsf/p/7221207.html?utm_source=itdadao&utm_medium=referral 前几天在网上看到一段关于oled的程序 不过那段程序是用的io口模拟spi来控制oled模块的 我在想stm32本身就有spi为何要用io口来模拟spi协议呢 所以就想自己试着写一写. 首先第一部分是关于stm32的spi引脚: http:/…
[转]http://bbs.21ic.com/icview-434543-1-1.html 前面几章的实例,均没涉及到液晶显示,这一章,我们将向大家介绍OLED的使用.在本章中,我们将使用战舰STM32开发板上的OLED模块接口(与摄像头共用的这个),来点亮OLED,并实现ASCII字符的显示.本章分为如下几个部分: 17.1 OLED简介 17.2 硬件设计 17.3 软件设计 17.4 下载验证 17.1 OLED简介 OLED,即有机发光二极管(Organic Light-Emitting…
最近在搞stm32实验板的can现场总线实验,之前只是搞过STC51的串口通信,相比之下,发觉can总线都挺复杂的.开始时,知道自己是新手,只知道can总线跟串行通信,485通信,I2C通信一样都是用来传输数据通信的,对其工作原理一窍不通,还是从基础开始看书看资料,先了解它的基本原理吧. 原来can总线有以下特点: 主要特点 支持CAN协议2.0A和2.0B主动模式 波特率最高可达1兆位/秒 支持时间触发通信功能 发送 3个发送邮箱 发送报文的优先级特性可软件配置 记录发送SOF时刻的时间戳 接…
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 中级教程-OSAL操作系统(OSAL系统解基本套路) 中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~ 中级教程-OSAL操作系统(ADC-光敏电阻) OSAL操作系统-实验16 串口波特率扩展 OSAL操作系统-实验1…
SEED(SEcurity EDucation)项目由雪城大学杜文亮教授2002年创立,为计算机教学提供一套信息安全实验环境,目前已开发超过30个实验,涵盖广泛的安全原理,被全世界数百个高校采用. 实验楼是国内首家IT在线实训平台,拥有最丰富的计算机在线实验课,而且全部免费.创业团队对老师的服务真是贴心细致,比第一次去海底捞的感觉都好,与参加"高校实验教学信息化建设与示范中心发展研讨会"那些大爷公司真的不一样,实验质量不如实验楼上免费实验,一个实验系统张口就要十几万,几十万. 现在,实…
使用 C++ 语言给 STM32 编写一个 I2c(Soft)类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++ I2c(Soft)类 的下载地址可以在本篇博客的最下面找到. I2cSoft.h: #ifndef __AOBO_stm32f10x_I2c_H_ #define __AOBO_stm…
使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++ Adc类 的下载地址可以在本篇博客的最下面找到. Adc.cpp #include "Adc.h" using namespace stm32f10x; Adc::Adc(ADC_Ty…
使用 C++ 语言给 STM32 编写一个 Usart 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++ Usart类 的下载地址可以在本篇博客的最下面找到. Usart.cpp #include "Usart.h" #include "Gpio.h" using…
使用 C++ 语言给 STM32 编写一个 Gpio 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++工程模板 的下载地址可以在本篇博客的最下面找到. Gpio.h //Gpio.h //#pragma once //编译一次 #ifndef __AOBO_stm3210x_Gpio_H_ #d…
将 STM32的官方工程模板 修改为我们这套教材的:STM32 C++工程模板 我使用的 STM32 库的版本 : V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏是有点门槛的.你需要有一点点 STM32 基础 和 一点点 C++ 语言基础. 完整的STM32 C++工程模板 的下载地址可以在本篇博客的最下面找到. 下面是:将 STM32的官方工程模板 修改为我们这套教材的 STM32 C++工程模板 的修改步骤: 1. 在启动文件中,增大了 堆 和 栈 的空间 原启动文件里堆栈…
目录 前言 项目 1. 模数转换,并通过OLED屏显示出来 需求: 实验器材: 接线: 源程序: 成品: 2. 简易频率计(0.1-10MHZ) 需求: 原理: 实验器材: 接线: 源程序: 写在结尾 前言 跳槽进了另个实验室,老师看上去就是强者(强者发型…
cfssl生成证书 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/local/bin/cfssl wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/local/bin/cfssljson wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/local/bin/cfssl-c…
第46章     DCMI—OV5640摄像头 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 关于开发板配套的OV5640摄像头参数可查阅<ov5640datasheet>配套资…
第45章     DCMI—OV2640摄像头 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.<STM32F4xx规格书>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 关于开发板配套的OV2640摄像头参数可查阅<ov2640datasheet>配套资…
STM32学习笔记--OLED屏 OLED屏的特点: 1.  模块有单色和双色可选,单色为纯蓝色,双色为黄蓝双色(本人选用双色): 2.  显示尺寸为0.96寸 3.  分辨率为128*64 4.  多种接口方式,该模块提供了总共 5 种接口包括: 6800. 8080 两种并行接口方式. 3线或4线的SPI接口,IIC接口方式 5.  不需要高压,直接接3.3V就可以工作:(可以与stm32的引脚直接相接) OLED图片: OLED引脚介绍: CS:OLED片选信号 RST:OLED复位端口…
这算是我这个系列的第一篇博客吧.首先要解决的就是屏幕显示问题.我选择了目前新兴起的OLED显示模块. OLED(OrganicLightEmittingDiode),中文译作有机发光二极管,目前被广泛的应用于移动设备甚至电视上.它既拥有超快的响应速度和轻薄的优势,又存在寿命与对大尺寸支持不足的瓶颈. OLED的优点 1.厚度可以小于1毫米,仅为LCD屏幕的1/3,并且重量也更轻: 2.固态机构,没有液体物质,因此抗震性能更好,不怕摔: 3.几乎没有可视角度的问题,即使在很大的视角下观看,画面仍然…