自定义博客皮肤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)
  • 收藏
  • 关注

原创 嵌入式RTOS编程

MDK-ARM\uCOS-III\Ports\ARM-Cortex-M3\Generic\RealView路径下选中以下文件,Add添加。MDK-ARM\uC-LIB\Ports\ARM-Cortex-M3\RealView路径下选中下图绿框文件,Add添加。MDK-ARM\uCOS-III\Source路径下选中以下全部 .c .h 文件,Add添加。MDK-ARM\uC-CONFIG路径下选中以下全部文件,Add添加。MDK-ARM\uC-BSP路径下选中以下全部文件,Add添加。

2022-11-07 21:45:46 134

原创 基于IIC和SPI协议的OLED显示

SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。下降沿到来的时候,sdi 上的电平将被接收到主设备的寄存器中。

2022-11-04 19:58:44 256

原创 基于IIC和SPI协议的温湿度测试

I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。

2022-11-04 19:42:33 120

原创 PWM练习

修改完成后,保存调试生成hex文件,然后通过串口助手将文件烧录完成后,实验就完成了。打开刚刚生成的代码找到并打开main.c文件,在这两行代码中间添加代码。开始TIM2的通道2,输出PWM。定义一个变量,用来存储占空比。选择好芯片,创建新工程。再找到while(1)

2022-10-30 20:28:12 242

原创 定时器练习

如图所示,依次点击位置1,选中定时器2;位置2,配置定时器2的时钟源为内部时钟;位置3,分频系数为71,向上计数模式,计数周期为5000,使能自动重载模式。然后调试后生成hex文件,通过串口助手烧录,再根据配置连接上led灯就完成了。点击ACCESS TO MCU SELECTOR创建新的工程文件,如图。选择Crystal/Ceramic Resonator。打开刚刚生成的文件,找到main.c文件。如图,生成定时器2中断优先级配置代码。芯片选择STM32F103C8T6。如图,开启定时器2的中断。

2022-10-30 20:14:49 137

原创 了解DMA (串口DMA发送接收)

DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。

2022-10-23 20:52:07 6085

原创 HAL库中断方式进行串口通信

char c;//指令 0:停止 1:开始 char message [ ] = "hello Windows\n";//输出信息 char tips [ ] = "CommandError\n";//提示1 char tips1 [ ] = "Start.....\n";//提示2 char tips2 [ ] = "Stop......\n";//提示3 int flag = 0;//标志 0:停止发送 1.开始发送。

2022-10-23 19:17:18 64

原创 stm32外部中断模式控制灯亮灭

另外在Toolchain/IDE处一定要选择MDK-ARM,否则不会生成你需要的keil文件。打开刚刚生成的keil代码文件,在main.c文件中找到这个函数。这里是为了保证,运行代码后能够生成hex文件以烧录到芯片中。烧录成功后,就可以根据引脚功能连接灯,并对灯进行调试。A4输出控制灯的亮灭,设置为GPIO_Output。做好这些以后,就调试文件 ,运行代码生成hex文件。B5模拟开关,设置为GPIO_EXTI5。A1持续输出高电平,设置同上。A7持续输出低电平,设置同上。在调试运行代码之前先检查设置。

2022-10-23 18:46:30 161

原创 基于 MDK 创建 STM32 汇编程序:串口输出 Hello Windows

通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UART。

2022-10-18 19:24:43 119

原创 搭建STM32开发环境——STM32CubeMX,Keil5

GPIO mode:推挽输出和开漏输出两者模式,两者模式的区别在于推挽输出中1代表VCC,0表示GND;GPIO Pull-up/Pull-down:输入需要上下拉,输出一般没有上下拉。GPIO output level:有low和high两种选择,一般选择low。点击next,选择安装位置,默认在C盘(安装路径文件不能出现中文)(2)配置系统调试接口sys,选择Serial Wire。(4)选择Configuration,接着选择GPIO。(1)点击New Project,选择需要的芯片类型。

2022-10-18 17:55:12 1361

原创 寄存器实现流水灯

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。

2022-10-13 19:54:34 545

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

分析第一行的内容:020000040800F2,可以看成:0x02,0x00,0x00,0x04,0x08,0x00,0xF2。0x08,0x00 :该行两个字节的数据,数据类型是 04 ,即该行记录的是一个拓展地址(0x08 0x00 是地址信息,用法是将该地址(0x0800

2022-10-08 17:28:33 188

原创 Ubuntu环境下Opencv的使用

一.显示图片示例1、 在目录下创建一个code文件夹并进入该目录mkdir codecd code2、 在code目录下使用vim编辑器编写一个test.cpp#include <opencv2/highgui.hpp>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(int argc, char** argv){ CvPoint center;

2022-09-25 23:17:09 1132

原创 gcc编译工具集中各软件的用途以及了解EFF文件格式

一.Gcc不是一个人在战斗,gcc编译工具集中各软件的用途1.BinutilsBinutils是一组二进制程序处理工具,包括:addr2line、ar、objcopy、objdump、as、ld、ldd、readelf、 size 等。这 一组工具 是开发和 调试不可 缺少的工具 ,分别简 介如下:(1) addr2line:用 来将程序 地址转 换成其所 对应的程 序源文 件及所对 应的代 码行,也可以得到所对应的函数。该工具将帮助调试器在调试的过程中定位对应的源代码位置。(2) as:主要用

2022-09-25 22:32:13 264

原创 在Ubuntu系统下用gcc生成动态库和静态库并与主函数链接

一.用vim编辑器编写程序1.main.c2.sub.c和sub.h3.hello.c和hello.h二.用gcc生成静态库1.生成.o文件2.生成.a文件3.链接静态库运行函数输入./main三.用gcc生成动态库1.生成.so文件2.用动态库运行程序先将动态库复制到/usr/lib目录下输入./main

2022-09-24 15:48:06 237

原创 Ubuntu系统实现简单c语言编程

一.Ubuntu系统c语言输出hello world1.在终端窗口输入vi hello.c创建文件,输入i进入编辑模式开始输入程序,输入完后按esc到命令模式,输入:wq保存并退出。2.使用gcc编译实行可执行文件在终端窗口输入gcc hello.c -o hello命令编译hello.c 再输入./hello执行输出二.Ubuntu系统下便携编写简单的主程序和子程序1.编写主程序(创建文件和编写过程与hello world类似)2.编写子程序3.用gcc命令将主程序和

2022-09-10 17:25:44 4246 1

空空如也

空空如也

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

TA关注的人

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