嵌入式学习
文章平均质量分 84
伊始不觉
这个作者很懒,什么都没留下…
展开
-
W5500+STM32F103C8T6进行TCP通信(modbus)
一路生花一、w5500资料二、modbus通信三、从机代码四、总结五、参考一、w5500资料w5500的资料就放在下面了,单纯的客户端和其他模式上面有教程https://www.aliyundrive.com/s/enPnnZgNtpE二、modbus通信Modbus RTU通信时使用的数据帧结构如下图,而Moubus TCP通信的数据帧和这个稍微不一样,没有crc检验,因为tcp本就是一种可靠传输协议这里是Modbus TCP数据帧公共功能码定义三、从机代码原创 2021-12-25 21:17:03 · 4725 阅读 · 2 评论 -
AD绘制电路图AND Clion完成点灯实验
一路生花一、AD绘制stm32f103c8t6和w5500系统电路原理图二、Clion编写点灯程序三、总结四、参考一、AD绘制stm32f103c8t6和w5500系统电路原理图AD18下载教程如下https://blog.csdn.net/weixin_42014622/article/details/83721000stm32f103c8t6元件库下载https://pan.baidu.com/s/1j8TW4BbuEHMBATg7ZncSTw提取码:1234AD18操作原创 2021-12-25 20:27:48 · 1569 阅读 · 0 评论 -
RT移植STM32F103C8(基于CUBEMX移植)
孤勇者一、RTthread二、移植三、总结一、RTthread官网链接https://www.rt-thread.org/二、移植RT-Thread有移植教程,就不重复描述了,下面是教程链接,要使用到串口打印信息,所以这里得在后面选上一个串口用于打印,顺便将PC13引脚勾选为gpiooutput,用于点灯确保程序正常运行。https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-p原创 2021-12-22 16:29:30 · 427 阅读 · 0 评论 -
STM32F103移植freeModebusRTU(HAL)
如愿一、 ModbusRTU介绍及下载1.1 介绍1.2下载二、移植准备三、STMCUBEMX建立项目三、移植port.h文件四、测试五、总结六、参考资料一、 ModbusRTU介绍及下载1.1 介绍MODBUS 通讯协议,是1979年由美国Modicon 公司提出的,就是被称为PLC 之父的迪克·莫利先生创造的品牌。 MODBUS 是世界上第一个用于工业现场的总线协议,可以说,它的出现标志着工业现场从模拟量时代向通讯时代迈进。详细介绍1.2下载下载建议去GitHub去下:官网二、原创 2021-12-03 15:51:59 · 1402 阅读 · 1 评论 -
使用示波器和keil仿真逻辑仪分析串口波形
少年一、使用软件 & 硬件二、keil仿真使用三、使用真实逻辑仪查看四、总结一、使用软件 & 硬件keil5,logic1.1.30和真实逻辑仪(SaleaeLogic16)logic1.1.30及其说明书下载链接https://pan.baidu.com/s/1B8V3RNnwL-zF2VDHCBYRVw提取码1111二、keil仿真使用打开一个项目,什么项目都可以,只要能向上位机发送信息就行点击仿真,进入仿真调试点击系统分析窗口的第一个逻辑分析点击小正方原创 2021-11-30 15:47:15 · 1484 阅读 · 0 评论 -
STM32使用RTC(hal)
少年一、RTC介绍1.1 简介1.2 RTC特征1.3 RTC组成二、HAL选项三、代码部分四、总结五、参考资料一、RTC介绍1.1 简介实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。-实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后, RTC的设置和原创 2021-11-29 19:49:10 · 1368 阅读 · 0 评论 -
STM32F103C8移植uCOSIII(HAL库)
少年一、随笔二、uCOSIII源码三、项目导入文件整理四、导入文件和增加头函数路径五、代码改动六、参考资料一、随笔移植一个嵌入式系统用了一天时间,只能说不愧是我,在不了解的情况下还是少一些自己的操作,自己挖坑埋自己。记录一下过程和踩过的坑。二、uCOSIII源码官网上可以去下,但是比较麻烦,就不多描述了,这里放一份源码(百度网盘的),提取码1111https://pan.baidu.com/s/1jCoc2sfiij78J0Q-C6ChmA三、项目导入文件整理在这个页面建立这两个原创 2021-11-25 13:24:20 · 1943 阅读 · 3 评论 -
OLED滚动显示
少年一、滚动显示介绍1.1 具体介绍1.2 水平滚动命令1.3 垂直滚动命令二、代码模块三、显示效果四、总结五、参考资料一、滚动显示介绍1.1 具体介绍SSD1306(OLED驱动芯片)指令详解1.2 水平滚动命令OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节OL原创 2021-11-21 11:02:55 · 7931 阅读 · 7 评论 -
OLED屏显示温湿度(STM32F103C8+0.96寸OLED屏))
少年一、前置实验二、项目三、总结四、参考一、前置实验采集温湿度回传到电脑屏幕上STM32103C8通过IIC采集温度(AHT20)在LED屏幕上显示温湿度STM32F103C8+OLED显示二、项目导入文件,将OLED显示那个实验的这些文件导入到采集温湿度这个项目里进入bsp_ic2.c里,改动一些代码,先将存放温湿度的变量设为全局变量增加show_info函数,这个函数是将信息显示到OLED屏上的。void show_info(){ GUI_ShowCHines原创 2021-11-17 18:42:25 · 4194 阅读 · 0 评论 -
STM32103C8通过IIC采集温度(AHT20)
少年一、IIC1.1 IIC介绍1.2 通信原理1.3 分类二、实现采集三、总结四、参考一、IIC1.1 IIC介绍IIC(Inter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。I²C的正确读法为“I平方C”(“I-squared-C”),而“I二C”(“I-two-C”)则是另一种错误但被广泛使用的读法。自2006年10月1日起,使原创 2021-11-17 18:19:37 · 878 阅读 · 0 评论 -
STM32F103C8+OLED显示
少年一、SPI串行外设接口1.1 定义1.2SPI协议概括二、0.96寸OLED显示屏显示数据三、代码模块四、总结五、参考资料一、SPI串行外设接口1.1 定义SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。1.2SPI协议概括SPI总线是一原创 2021-11-17 16:33:18 · 2184 阅读 · 0 评论 -
电脑之间利用串口传文件
呦呦鹿鸣一、实验目的二、实验设备三、进行实验四、总结一、实验目的将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、实验设备两台笔记本电脑,两个usb转ttl,一个rx接另一个tx,两个都是这样接,电源可以不用接,电脑都可以供电,然后一个可以传输文件的串口调试助手三、进行实验以波特率原创 2021-11-05 19:59:28 · 958 阅读 · 0 评论 -
图片上打印汉字(C++、OPENCV+字库)
呦呦鹿鸣一、汉字点阵库使用原理1.1 汉字编码1.1.1区位码1.1.2 机内码1.2 点阵字库结构1.3汉字点阵获取二、实现代码三、总结四、参考一、汉字点阵库使用原理1.1 汉字编码1.1.1区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码原创 2021-11-03 21:46:57 · 4762 阅读 · 1 评论 -
STM32F103C8通过DMA方式向上位机连续发送信息
呦呦鹿鸣一、DMA1.1 基本概念1.2 DMA传输数据四个要素1.3 特点1.4 传输方式二、实现用DMA连续向上位机发送数据一、DMA1.1 基本概念直接存储器访问 (DMA) :用于在外设与存储器之间以及存储器与存储器之间进行高速数据传输。DMA传输过程的初始化和启动由CPU完成,传输过程由DMA控制器来执行,无需CPU参与,从而节省CPU资源,提高利用率。1.2 DMA传输数据四个要素① 传输源 :DMA数据传输的来源② 传输目标:DMA数据传输的目的③ 传输数量:DMA传输数据原创 2021-11-01 08:21:36 · 737 阅读 · 0 评论 -
通过中断来控制LED灯(STMF103C8+HAL库)
呦呦鹿鸣一、STM32中断介绍1.1 中断概念1.2 中断全过程1.3 中断作用1.4 中断优先级二、HAL库的中断处理流程三、高低电平控制控制LED灯亮和灭四、中断实现串口通信五、总结六、参考一、STM32中断介绍1.1 中断概念中断是由内核外部产生的,一般由硬件引起,比如外设中断和外部中断等。1.2 中断全过程中断发生:当CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理。中断处理:CPU暂停当前的工作,转去处理事件B。中断返回:当CPU将事件B处理完毕后,再回到事件A原创 2021-10-31 20:54:28 · 1641 阅读 · 0 评论 -
STM32通过串口通信(汇编)
小鹿一、UART介绍二、原理三、程序四、运行结果![在这里插入图片描述](https://img-blog.csdnimg.cn/331a57d4ecd247818862e0cccd7744e6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5LyK5aeL5LiN6KeJ,size_20,color_FFFFFF,t_70,g_se,x_16)五、小结六、参考一、UART介绍原创 2021-10-17 11:24:40 · 655 阅读 · 0 评论 -
使用STMCubeMX生成代码(使用hal库)实现流水灯
小鹿一、实验工具二、STM32CUBEMX生成代码三、keil仿真调试并生成hex文件四、运行结果五、参考一、实验工具STMCubeMX,用来生成代码keil5,编译代码生成hex文件flymcu,将代码烧录到板子里,不会点这里板子为STM32C8T6二、STM32CUBEMX生成代码1.安装完成之后,点击help,下载依赖包2.选择自己的芯片,选上前面的复选框就可以下载了,前面是绿色就代表已经下载好了,我已经下载过一个了,就以上一个版本的举例3.包下载好之后就可以了,原创 2021-10-17 09:44:03 · 1488 阅读 · 0 评论 -
STM32F103C8T6实现流水灯(c语言和汇编两个版本)
小鹿一、实验原理1.1 stm32f103c8t6介绍1.2 stm32f103c8t6点亮流水灯原理二、C语言实现三、汇编格式四、小结五、参考六、附件一、实验原理1.1 stm32f103c8t6介绍STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。1.2 stm32f103c8t6点亮流水灯原理寄存器可以存储数据,指令,也可以担任一些特定的功能,stm32板子里由很多原创 2021-10-17 00:17:16 · 3269 阅读 · 2 评论 -
使用keil5遇到 error 65: access violation at 0x08040000 : no ‘execute/read‘ permission
小录在这一、情况二、解决办法一、情况在使用keil5时,build是没有问题的,但在仿真调试的时候一直卡在了systeminit()函数这里,不是卡在循环里面了,是进不去。二、解决办法有可能是版本不适配的问题,点击魔法棒进入target界面,在arm complier选择version5,说不定可能解决问题。...原创 2021-10-06 14:40:08 · 3245 阅读 · 0 评论 -
STM32的C与汇编语言的混合编程
小录在这一、混合编程的原因二、C语言嵌入汇编语言2.1 实现调用函数(无参数)2.2 实现调用函数,有参数三、汇编语言嵌入C语言四、小结五、参考一、混合编程的原因c语言对于我们来说还是比较容易理解的,而汇编语言的效率高,有效结合这两者的优点,会为我们编程带来更多便利。二、C语言嵌入汇编语言2.1 实现调用函数(无参数)c语言程序调用汇编语言里的函数,代码如下:main.c#include<stdio.h>extern void Init_1();int main(){ I原创 2021-10-06 14:32:40 · 443 阅读 · 0 评论 -
Linux下安装opencv.3.4.15并初步使用
目录在这一、opencv简介二、下载安装opencv2.1下载opencv2.2 配置opencv环境2.3 代码测试三、小结四、参考一、opencv简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法,并在可用时利用MMX和SS原创 2021-10-05 11:18:25 · 3830 阅读 · 1 评论 -
Linux系统下利用库生成可执行文件
看这里一、库的定义1.1 动态链接库1.2 静态链接库1.3 不同点二、前置准备三、使用静态链接库四、使用动态链接库五、小结六、参考一、库的定义库分为动态链接库和静态链接库,作用相似但又有不同。1.1 动态链接库动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个 DLL 副本的内容。使用动态链接库可以更为原创 2021-10-04 20:17:47 · 1372 阅读 · 0 评论 -
MDK基于STM32汇编程序并编写软件程序
在这在这1.创建新项目1.创建新项目keil5和其他软件不太一样,不是在file里创新项目,而是在project里接下来就是创建项目,这里的名字是TEST板子选择的是STM32F103RC原创 2021-09-25 12:48:33 · 496 阅读 · 0 评论 -
postman测试restful接口
there一、postman简介二、postman检测接口2.1 测试接口四、总结一、postman简介Postman 是一种常用的接口测试工具,可以发送几乎所有类型的HTTP请求。Postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。二、postman检测接口postman的下载入口官网,下载好了直接安装就行了,开始的界面可能有点懵,先点击worksp原创 2021-09-15 13:12:36 · 8352 阅读 · 2 评论 -
Linux使用gcc和makefile分别编译程序
目录在这一、目的二、编译运行2.1、代码展示2.2 Ubuntu里用gcc编译运行2.3 在Windows里用编译器里运行(vscode)2.4 在Ubuntu系统里用makefile方式运行2.4.1 make简介2.4.2 makefile简介2.4.3 makefile文件里的内容2.4.4 运行三、总结一、目的编写一个主程序main1.c和一个子程序文件sub1.c,sub1.c里包含一个运算函数,main1.c引用sub1.c文件分别在Ubuntu系统用gcc编译运行、在Windows用编译工原创 2021-09-13 23:13:01 · 333 阅读 · 0 评论