自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 STM32的学习与完成流水灯

一、学习1.串口协议串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。2.RS-232RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要.

2022-01-12 15:12:22 542

原创 STM32的C与汇编语言混合编程

一、Keil下C语言调用汇编程序创建两个文件如a1.c和a2.c、a1.c#include<stdio.h> extern void Init_1(void); int main(){ Init_1(); return 0;}a2.s AREA My_Function,CODE,READONLY EXPORT Init_1 Init_1 MOV R1,#666 MOV R2,#888 LOOP CMP R1

2022-01-12 14:48:28 201

原创 基于I2C/SPI总线的温湿度采集与OLED显示

目录一、 学习I2C总线通信协议二、理解OLED屏显和汉字点阵编码原理三、总结一、 学习I2C总线通信协议I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。协议层:I2C的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。1.软件I2..

2022-01-12 14:34:03 2103

原创 STM32对音频数据的 Flash 读取与 DAC 播放

1 项目准备1.1 具体要求 Flash 地址空间的数据读取。 STM32F103C8T6 只有 20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部 Flash 的总计 64KB 存储空间(地址从 0x08000000 开始),运行一次写入 8KB 数据,总计复位运行代码 4 次,将 32KB 数据写入 Flash。并验证写入数据的正确性和读写速率。 (用cubemx写stm32f103c8t6的内部Flash) 基于片内 Flash 的提示音播放程序。...

2021-12-31 11:52:16 698

原创 SD卡数据读取

一安装 Altium Designer18 并用其绘制 stm32 最小系统的电路原理图1.下载与安装2.文件配置打开下载的 AltiumDesigner 软件,选择 license ,选择文件进行保存。3.绘制 stm32 最小系统的电路原理图3.1绘制前目标使用 Altium Designer 绘制一个 stm32 最小系统的电路原理图。何为stm32 最小系统的电路原理图最小系统为单片机工作的最低要求,不含外设控制,原理简单,...

2021-12-25 12:23:13 347

原创 Clion源码编辑器的学习与实践

目录一、重温全局变量、局部变量、堆、栈1.Ubuntu下的C程序中堆、栈、全局、局部等变量的分配地址二、Clion2021完成stm32F103 点亮LED的程序。1.安装使用2.安装配置 arm-none-eabi-gcc3.安装配置 MinGW4.安装配置 OpenOCD5.配置stm32cube6.配置 CLion 工程文件三、参考文献一、重温全局变量、局部变量、堆、栈1.Ubuntu下的C程序中堆、栈、全局、局部等变量的分配地址先...

2021-12-16 19:48:22 272

原创 uc/OS系统移植

目录一、建立stm32 hal库工程1.文件配置二 uCOSIII的移植1.准备源码3.开始添加文件4.参数配置三、波形分析1.用示波器去观察LED输出电平和串口通信的波形2.Keil虚拟仿真逻辑仪四、参考文献一、建立stm32 hal库工程1.文件配置配设置PC13为GPIO_Output用于点亮LED灯设置串口USART1设置工程点击生成代码,并在Keil中打开该工程。在main函数中的while循环里...

2021-12-06 22:52:18 203

原创 Ubuntu下利用OpenCV进行点阵汉字的字模读取与显示

一. 点阵字库原理1. 汉字编码1.1 区位码国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的区位码。**区位码的前两位是它的区号,后两位是它的位号。**用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。例如汉字“

2021-11-16 20:51:59 139

原创 串口传输文件

1.串口相连准备若干条USB TO TTL, 杜邦线;将两个串口的TX,RX交叉相连;2.发送文件从手机中找出一个1m多的图片文件;打开串口调试助手,选择端口号并且打开串口。接着设置波特率,点击打开文件,选择要发送的文件,可以看见传输文件的字节大小,现在就可以发送文件了。时间比预计的时间长了很多,文件很小却用了一百多秒。根据手机计时实际用了114s。(手动计时有误差)3.总结这次试验难度不大,串口通信的实际时间比预计时间长一些,连接时一定注意两根线交错链.

2021-11-16 19:08:51 1676

原创 STM32中断与串口DMA通信编程

一、中断与DMA通信原理1.中断1.1什么是中断中断是由内核外部产生的,一般由硬件引起,比如外设中断和外部中断等。通常在CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序或中断处理程序),来处理该事件,该事件处理完成后又返回被中断的程序继续执行。其过程如下:1.2.中断通道微控制器片内集成了很多外设,对于单个外设而言,它通常具备若干个可以引起中断的中断源,而该外设的所有中断源只能通过指定的中断.

2021-11-06 21:43:11 644

原创 基于MDK5实现STM32串口通信

一、串口协议与RS-232标准1. 串口协议串口通信(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。下面主要讲解RS-232标准。...

2021-10-27 17:19:54 3920

原创 STM32F103寄存器方式点亮LED流水灯

一、关于STM32芯片寄存器1.什么是寄存器提到单片机,就不得不提到寄存器。根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。简单来说,寄存器就是存放东西的东西。从名字来看,跟火车站寄存行李的地方好像是有关系的。只不过火车站行李寄存处,存放的行李;寄存器可能存放的是指令、数据或地址。  存放数据的寄存器是最好理解的,如果你需要读取一个数据,直接到这个寄存器所在的地方来问问他,数据是多少就行了。问寄存器这个动作,叫做访问寄存器。不同的

2021-10-24 21:27:27 2442

原创 Keil下STM32的C与汇编语言混合编程

1,无参函数调用1,创建项目在我上一次博客中有介绍如何创建一个新的项目,这里就不写如何创建了,直接上代码和图片MDK基于STM32汇编程序并编写软件程序_可小阿木的博客-CSDN博客这里是创建.c文件创建.s文件2,代码然后是ccc.c中代码# include<stdio.h> extern void Init_1(void); int main(){ Init_1(); return 0;}Fun.c中代码 ARE.

2021-10-14 16:28:36 119

原创 gcc编译器的使用操作及opencv图像编程

一、gcc 生成 .a 静态库和 .so 动态库1.创建作业目录(1)创建test1目录(2)进入test1目录2.用vim编写hello.h、hello.c和main.c文件程序1 hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif //HELLO_H程序2 hello.c#include <stdio.h>void hello(const char *n

2021-10-06 23:18:53 859

原创 基于MDK创建STM32汇编语言工程

一、安装MDK-5.10和STM32pack1、MDK-5.10的安装(1)打开下载好的压缩包(官网下载)并解压(2)打开压缩包中的“mdk_510.exe”进行安装(3)打开后选择next(4)选择好安装位置后点击next(5)随便写好后然后点击next(6)点击同意安装(7)完成安装2、stm32 pack的安装将压缩包的这3个依次点击安装即可、二、在keil中编写51程序并生成hex文件2.1打开软件,新建工程点第一个新建工程,输入一个.

2021-09-30 09:53:20 193

原创 Ubuntu系统下gcc和Makefile的运用

目录一、在Ubuntu系统下用C语言编写程序 1.在终端用vim编写Hello World! 2.使用Ubuntu与C语言实现程序的链接 1). 使用Ubuntu实现程序链接 2)使用C语言实现程序链接 3.使用Ubuntu调用Makefile 二、总结...

2021-09-14 10:14:59 165

空空如也

空空如也

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

TA关注的人

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