![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 81
以实战逐步深入嵌入式的学习
伊木子曦
这个作者很懒,什么都没留下…
展开
-
嵌入式Linux(树莓派)
gccUbuntu上使用命令scp原创 2022-06-22 15:31:16 · 570 阅读 · 0 评论 -
STM32+modbus+W5500网络通信
文章目录一、modbus二、W5500三、代码实现四、实现五、参考一、modbusModbus RTU通信时使用的数据帧结构如下图,而Moubus TCP通信的数据帧和这个稍微不一样,没有crc检验,因为tcp本就是一种可靠传输协议功能码作用01读取线圈状态02读取输入状态03读取保持寄存器04读取输入寄存器05强置单线圈06预置单寄存器07读取异常状态08回送诊断校验09编程(只用于484)0A控询原创 2021-12-28 21:28:40 · 1108 阅读 · 0 评论 -
基于 CubeMX 移植 RT-Thread Nano完成多任务
文章目录一、RT-Thread Nano 简介二、cubeMX添加RT-Thread操作系统组件三、项目创建四、代码实现五、效果六、参考一、RT-Thread Nano 简介RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位原创 2021-12-18 22:32:47 · 1745 阅读 · 0 评论 -
STM32F103寄存器方式点亮LED流水灯
目录一、 实验目的二、 端口初始化1.时钟配置2.输入输出模式设置三、代码编写四、效果显示五、总结六、参考一、 实验目的以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。二、 端口初始化1.时钟配置以下内容皆是通过查询stm32官方文档获得,可自行至官网下载对应文档查看存储器映像,找到时钟使能映射基地址。可知时钟使能寄存器偏移地址为0x18原创 2021-10-18 22:26:26 · 234 阅读 · 0 评论 -
基于 MDK 创建 STM32 汇编语言工程并分析 HEX 文件内容-仿真操作
文章目录一、新建项目二、编写代码并编译三、分析生成的 hex 文件一、新建项目新建工程命名工程,自定义工程目录这里我选择的是 STM32F103C8 芯片,然后点击 OKARM 的 CMSIS 已经把开发所需要的软件组件都封装好了,因此直接选择即可—— CMSIS 下选择 CORE;Device 下 Startup(其中包含了启动文件)添加源文件完成后二、编写代码并编译代码编写 AREA MYDATA, DATA AREA MYCODE, CODE E原创 2021-09-30 11:30:45 · 524 阅读 · 0 评论 -
HAL库实现LED流水线
目录一、实验目的二、项目创建三、实现1.代码2.使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形3. 编译,烧录4. 效果四、总结五、参考一、实验目的以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。本次实验使用HAL库实现。二、项目创建选择file->new project->选择自己对应单片机型号,我这里用的STM32F103原创 2021-10-20 20:09:43 · 921 阅读 · 0 评论 -
Keil下STM32的C与汇编语言混合编程
任务内容:1.函数Init_1,循环加1,数大于等于10退出循环2.函数int Init_1(init) ,此函数功能为 传入一个整型数x,函数运行后返回整型数 x+100。编程实现,并仿真跟踪调试ATPCS中寄存器的使用规则任务一main.c#include<stdio.h>extern void Init_1(void);int main(){ Init_1(); return 0;}test.s AREA My_Function,CODE,RE原创 2021-10-09 14:37:48 · 149 阅读 · 0 评论 -
完成STM32的USART串口通讯程序
目录实验内容USART介绍实验内容1)使用stm32f103c8t6,usb转串口一块,面包板一块,导线若干。2)设置波特率为115200,1位停止位,无校验位;3)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。4)使用Keil的软件仿真逻辑分析仪功能观察串口输出波形。USART介绍通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一原创 2021-10-20 22:37:23 · 429 阅读 · 0 评论 -
基于I2C协议的AHT20温湿度传感器的数据采集
文章目录一、AHT20介绍二、I2C总线通信协议三、I2C硬件与软件的对比四、实验过程1.实验内容2. 硬件连线3.代码4. 效果五、参考一、AHT20介绍综述AHT20,新一代温湿度传感器在尺寸与智能 方面建立了新的标准:它嵌入了适于回流焊 的双列扁平无引脚SMD 封装,底面 3 x 3mm , 高度1.0mm。传感器输出经过标定的数字信 号,标准 I2C 格式。AHT20 配有一个全新设计的 ASIC专用芯片、 一个经过改进的MEMS半导体电容式湿度传感 元件和一个标准的片上温度传感元件,原创 2021-11-24 21:23:46 · 1045 阅读 · 0 评论 -
STM32开发基于SPI接口的OLED数据显示
文章目录一、SPI简介二、0.96inch SPI OLED 介绍三、实验内容及结果1. 任务要求2. 准备工作3. 演示如下四、参考一、SPI简介SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节原创 2021-11-24 21:46:28 · 5550 阅读 · 0 评论 -
stm32F103C8T6基于FreeRTOS操作系统的多任务(STM32CUBEMX)
文章目录一、简介二、任务要求三、创建项目三、编写任务代码四、效果五、参考一、简介FreeRTOS,是指实时操作系统,是可以多任务进行的一个操作系统,相当于裸机开发而已,任务的实现相对方便很多。FreeRTOS(读作"free-arr-toss")是一个嵌入式系统使用的开源实时操作系统。FreeRTOS被设计为“小巧,简单,和易用”,能支持许多不同硬件架构以及交叉编译器。FreeRTOS自2002年Richard Barry开始开发以来,一直都在积极开发中。至于我,我不是FreeRTOS的开发人员或贡献原创 2021-11-29 18:37:18 · 10082 阅读 · 11 评论 -
STM32F103C8T6移植uC/OS-III基于HAL库完成多任务
文章目录一、任务内容二、获取uC/OS-III源码三、建立stm32 hal库工程四、复制uC/OS-III文件到工程文件夹五、添加工程组件和头文件路径1. 添加工程分组2. 添加文件到分组3. 添加头文件路径六、修改文件内容七、编写多任务代码八、效果九、参考一、任务内容学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello原创 2021-11-29 19:35:36 · 3390 阅读 · 3 评论 -
串口连接传输文件
目录一、实验内容二、实验准备三、实验过程四、总结一、实验内容串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、实验准备两台电脑,电脑上都下载好串口调试助手,方便接收和发送显示文件。连接电脑的串口线。三、实验过程打开.打开串口调试助手我这里用的是SSCOM,选择文原创 2021-11-08 21:24:01 · 3170 阅读 · 0 评论 -
STM32F103C8的中断与DMA通信
目录一、准备工作二、新建工程三、代码一、准备工作STM32开发板(我的是STM32F103C8T6)STM32CubeMx软件、 IDE: Keil软件STM32F1xxHAL库用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。采用串口中断方式重做上周的串口通信作业。按键管脚 PA11 PB4LED管脚 PC4 PC5 PB0 PB1二、新建工程原创 2021-11-07 21:35:46 · 3317 阅读 · 0 评论 -
实现STM32的日历读取、设置和输出
文章目录一、实时时钟RTC的原理二、任务内容三、创建项目四、任务一五、任务二六、任务三七、参考一、实时时钟RTC的原理实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。二、任务内容1)读取RTC初始时间,验证是否为 1970年1月1日零分零秒;2)将RTC时间调整为当前时间原创 2021-11-29 22:27:05 · 3465 阅读 · 0 评论 -
使用Keil虚拟仿真逻辑仪和真实逻辑仪(SaleaeLogic16)
文章目录一、任务内容一、任务内容分别使用Keil虚拟仿真逻辑仪和 真实逻辑仪(SaleaeLogic16)抓取STM32F103C8T6移植uC/OS-III基于HAL库完成多任务LED输出电平和串口通信的波形,进行协议分析链接:https://pan.baidu.com/s/10PaspJRG7OH1GI5jxoIgTg提取码:0614...原创 2021-12-03 17:13:04 · 1303 阅读 · 0 评论