
嵌入式系统基础
文章平均质量分 88
学习笔记
机智的橙子
本人已毕业从事其他工作,本账号存在的博客涉及资料,若链接点开没有就是没有了,不用找我要了。
展开
-
嵌入式Linux系统相关练习
C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 的一部分。如果已在引用 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:二.树莓派执行.c文件使用putty远程连接树莓派,使用命令nano helloworld.c命令创建文件为该文件添加一下代码:使用gcc工具编译,运行命......原创 2022-06-18 16:43:06 · 546 阅读 · 0 评论 -
VNC Viewer方式的远程连接树莓派
①树莓派镜像https://www.raspberrypi.org/downloads/raspbian/进入官网后,点击查看所有可下载选项:选择32bit带图形化桌面的版本:②格式化工具本次使用SDCardFormatterv5,可以选择其他工具③镜像烧录工具本次使用Raspberry Pi,可以选择其他工具④VNC Viewerhttps://www.realvnc.com/en/connect/download/viewer/⑤远程工具本次使用putty,可以选择其他工具h原创 2022-06-18 09:26:58 · 3128 阅读 · 0 评论 -
STM32+W5500以太网模块
文章目录一.W5500以太网模块介绍二.模块排针功能表三.调试方法四.学习STM32+W5500+modbus协议编程五.学习STM32+W5500+httpd协议编程六.参考链接一.W5500以太网模块介绍Niren_W5500模块是一款基于WIZnet W5500芯片的以太网模块,是泥人电子继 Niren_W5100模块后设计的一块性能更好、性价比更高的以太网模块。模块集成硬件化TCP/IP协议:内部32K字节存储器作TX/RX缓存:支持10/100Mbps的传输速率;支持8个独立端口同时运行;同原创 2021-12-15 15:02:50 · 19805 阅读 · 4 评论 -
AltiumDesigner和Clion工具学习
文章目录一.使用Altium Designer软件完成STM32+W5500的系统电路原理图设计1.安装Altium Designer2.元件库下载3.绘制stm32的最小系统的电路原理图(使用现成的元件库)4.STM32+W5500的系统电路原理图设计二.使用Clion完成STM32F103点亮LED1.安装配置arm-none-eabi-gcc2.安装MinGW3.安装配置OpenOCD4.完成Clion相关配置5.实现LED点灯程序三.参考链接一.使用Altium Designer软件完成STM32原创 2021-12-14 20:49:24 · 1286 阅读 · 0 评论 -
STM32的RT-Thread-Nano移植
文章目录一.CubeMX添加RT-Thread操作系统组件二.CubeMX新建工程三.创建任务四.参考链接一.CubeMX添加RT-Thread操作系统组件获取RT-Thread Nano软件包,指路:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc安装RT-Thread参考:https://blog.csdn.net/qq_36075612/article/details/107309750二.CubeMX新建工原创 2021-12-12 18:55:39 · 1501 阅读 · 3 评论 -
使用Keil仿真逻辑仪观察引脚电平变化
文章目录一.使用Keil仿真逻辑仪观察引脚电平变化二.使用SaleaeLogic16进行逻辑分析一.使用Keil仿真逻辑仪观察引脚电平变化打开Keil工程(uC/OS移植工程),点击以下图标选择逻辑分析仪点击Setup…添加引脚和串口Display Type均设置为Bit点击图标,开始运行观察到PC13引脚电平变化周期为2s,PA3引脚电平变化周期为6s,串口USART1周期为2s。同时查看项目代码PC13:PA3:USART1:时间设置和上面逻辑分析仪一致。注原创 2021-12-01 11:08:35 · 2955 阅读 · 0 评论 -
STM32日历读取,设置和输出
文章目录一.了解时钟RTCRCT特征:RTC原理框图RTC具体流程:RTC时钟选择RTC复位过程RTC中断二.创建CubeMX工程三.添加代码四.总结五.参考链接四.总结五.参考链接一.了解时钟RTCRTC (Real Time Clock):实时时钟RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直原创 2021-11-29 22:38:31 · 1801 阅读 · 7 评论 -
STM32F103C8T6移植uCOS基于HAL库
文章目录一.使用CubeMX建立STM32F103C8T6HAL库二.准备uCOSIII源码三.移植前准备1.为uC-BSP文件夹新建bsp.c和bsp.h文件2.给文件夹uC-CONFIG添加以下文件(从以下路径复制过来)3.将uCOS相关文件复制到HAL工程的MDK-ARM文件夹下四.开始移植1.将uCOS文件添加到项目2.为bsp.c和bsp.h添加代码3.修改main.c文件代码4.修改其余文件部分代码5.参数配置五.运行六.总结七.参考链接一.使用CubeMX建立STM32F103C8T6HAL原创 2021-11-27 00:12:41 · 4443 阅读 · 0 评论 -
OLED滑动显示长字符
文章目录一.OLED屏滚动显示命令二.对将要显示的汉字进行取模三.实现代码四.总结五.参考链接一.OLED屏滚动显示命令水平向左向右滚动OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节OLED_WR_Byte(0x00,OLED_CMD); //起始页 0O原创 2021-11-21 17:21:35 · 2525 阅读 · 1 评论 -
stm32+(4SPI)OLED显示数据
文章目录一.SPI(串行外设接口)1. 什么是SPI?2.SPI接口2.1 SPI模式:极性和时钟相位2.2 SPI三线总线和多IO配置3. SPI总线事务3.1 简单SPI写事务3.2 简单SPI读事务3.3 四线IO事务二.OLED显示数据1. OLED相关资料2. 运行厂家Demo程序三.修改程序显示学号姓名1. 找到姓名的中文点阵四.总结五.参考链接:一.SPI(串行外设接口)1. 什么是SPI?SPI(Serial Peripheral Interface)[串行外围接口]是一种接口总线,通原创 2021-11-21 15:27:43 · 3101 阅读 · 0 评论 -
温湿度的OLED(4SPI)显示
文章目录一.温湿度的采集AHT20二.温湿度OLED(4SPI)的显示三.总结四.参考链接一.温湿度的采集AHT20传送门:https://blog.csdn.net/qq_45659777/article/details/121393255二.温湿度OLED(4SPI)的显示在上述温湿度采集的基础上添加OLED显示的相关代码配置。在USER的目录下添加如下文件以及相关头文件:文件内容过长,转:https://github.com/Parallel-leaves/wenshiduoled在原创 2021-11-19 00:29:24 · 1718 阅读 · 0 评论 -
stm32(I2C)接口采集温湿度(AHT20)
文章目录一.I2C总线协议1. I2C总线的物理层2. I2C总线的协议层3. I2C的两种方式——硬件I2C和软件I2C二.AHT20的采集1.AHT20芯片信息2.stm32f103连接AHT20进行温湿度采集3.代码实现三.总结四.参考链接:一.I2C总线协议I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设原创 2021-11-18 09:27:17 · 1672 阅读 · 0 评论 -
两个串口之间传输文件
文章目录一.串口连接二.传输文件三.总结一.串口连接准备两个USB TO TTL和杜邦线若根,将两个USB TO TTL的RX,TX引脚交叉连接,并将两个USB接口接上一台笔记本电脑(模拟两台计算机之间的串口传输)。二.传输文件利用可以传输文件的串口调试助手(在这里我采用的是野火多功能调试助手),打开两个窗口,每个窗口打开一个串口(两个USB TO TTL连接产生的串口),这里可以看见串口COM4和COM5这里选择的波特率是115200,数据位8,停止位1,无校验位。点击加载文件,选择提前准备原创 2021-11-03 20:51:58 · 1591 阅读 · 1 评论 -
HAL库完成STM32F103以DMA方式实现的连续发送
文章目录一.DMA二.STM32F103C8T6以DMA方式实现连续发送三.总结四.参考链接一.DMA概念STM32的DMA控制器特点DMA数据传输方式串口DMA发送函数:HAL_UART_Transmit_DMA二.STM32F103C8T6以DMA方式实现连续发送CubeMXRCC设置外部高速时钟HSE 选择外部时钟源设置串口在NVIC Settings中使能中断DMA设置生成代码在main.c中添加代码: /* USER CODE BEGIN Init原创 2021-11-02 23:17:52 · 2987 阅读 · 0 评论 -
STM32F103中断
文章目录一.中断二.HAL库中断点亮LED灯三.HAL库中断串口通信四.总结五.参考链接一.中断数据输出方式:中断过程:中断程序执行过程:中断的作用:1.可以解决快速的CPU与慢速的外部设备之间的传送数据的矛盾。2.CPU可以分时为多个外部设备服务,提高计算机的利用率。3.CPU能够及时处理应用系统的随机事件,增强系统的实用性。4.CPU可以处理设备故障及掉电等突发事件,提高系统可靠性。中断优先级:处理器根据不同中 断的重要程序设置 不同的优先等级。 不同优先级中断的 处理原原创 2021-11-02 22:27:08 · 2016 阅读 · 0 评论 -
完成一个STM32的USART串口通讯程序
文章目录一.完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式)1.使用寄存器地址方式完成:2.使用HAL库完成:二.总结三.参考链接:一.完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式)要求:①设置波特率为115200,1位停止位,无校验位;②STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。1.使用寄存器地址方式完成:在Keil中新建工程,选择使用的开发板,此处我选原创 2021-10-22 12:17:25 · 963 阅读 · 0 评论 -
分别使用寄存器地址方式和HAL库实现流水灯
文章目录一.串口协议和RS-232标准,以及RS232电平与TTL电平的区别二.CH340芯片模块的工作原理三.使用GPIO端口完成3只LED红绿灯的周期闪烁。四.总结五.参考链接:一.串口协议和RS-232标准,以及RS232电平与TTL电平的区别串口通信协议:串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据原创 2021-10-20 15:29:29 · 3617 阅读 · 0 评论 -
STM32F103寄存器方式点亮LED流水灯
文章目录一.STM32F103系列芯片的存储器映射和寄存器映射原理1.存储器映射2.寄存器映射2.1STM32的外设地址映射2.2C语言对寄存器的封装二.GPIO端口的初始化设置三.以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯(最高时钟2Mhz),轮流闪烁,间隔时长1秒。1.STM32F103C8T6四.参考链接一.STM32F103系列芯片的存储器映射和寄存器映射原理1.存储器映射存储器本原创 2021-10-18 21:36:36 · 1305 阅读 · 0 评论 -
STM32的C与汇编语言混合编程
一.Keil下C语言调用汇编程序在项目下新建文件main.c和Func.smain.c#include<stdio.h>extern void Init_1(void);int main(){ Init_1(); return 0;}Func.s AREA My_Function,CODE,READONLY EXPORT Init_1 Init_1 MOV R1,#666 MOV R2,#888 LOOP CMP R原创 2021-10-08 14:34:20 · 1078 阅读 · 0 评论 -
搭建并配置Keil嵌入式开发环境,完成一个基于STM32汇编程序的编写
一.keil环境搭建百度网盘分享下载mdk531安装链接:https://pan.baidu.com/s/1ttrDhv6kXgAvPiYINf9iGw提取码:1234注册器链接:https://pan.baidu.com/s/1T11pBKpD6xc-cNmXBskcaw提取码:1234支持包链接:https://pan.baidu.com/s/1a7UDSVeLC4ktHNN9lV9oIA提取码:1234keil安装通过以上链接下载mdk和注册器,点击安装mdk,根据提示自行更改原创 2021-09-26 21:02:19 · 4756 阅读 · 0 评论