自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (2)
  • 收藏
  • 关注

原创 嵌入式linux输出重定向实现(串口telnet互切)

telnet 设备的指定端口,打印信息就会重定向到telnet,telnet断开则重定向回串口。

2023-03-23 15:06:43 998

原创 C语言封装UTF-8转GBK函数

C语言封装UTF-8转GBK函数

2022-11-10 18:25:59 570

原创 C++实现批量文件重命名

C++实现文件夹中文件按索引值重命名

2022-08-19 09:33:15 2697

原创 Git & 小乌龟

Git常用操作

2022-06-27 18:03:26 984

原创 Nginx图片服务器搭建

搭建HTTP&HTTPS图片服务器

2022-06-27 17:50:30 576

原创 SQLite常用命令整理

增删改查

2022-06-27 17:43:27 702

原创 V4L2视频监控项目:USB摄像头+QT5

完整代码:V4L2视频监控项目:USB摄像头+QT5-嵌入式文档类资源-CSDN下载网络视频监控系统,ARM板作为服务器端,QT作为客户端 QT端的实现: 建立一个槽函数,接收UDPsocket的 readyRead() 信号 将接收到的H.264数据解码为YUV420P格式 将YUV420P格式的数据转换为RGB24格式 显示RGB图片 Start按钮的槽函数:向服务器发送 ##O#clientIP#port# Stop按钮的槽函数:向服务器发送 ...

2021-12-18 17:30:15 1363 1

原创 STM32中断

原理NVIC(Nested Vectored Interrupt Controller)嵌套向量中断控制器,属于 M3 内核的一个外设,控制着芯片的中断相关功能。在配置中断时,通常使用的只有 ISER、 ICER 和 IP 这三个寄存器, ISER 是中断使能寄存器,ICER 是中断清除寄存器,IP 是中断优先级寄存器。有关NVIC 中断相关的库函数都在库文件 misc.c 和 misc.h 中,所以当使用到中断时,一定要记得把 misc.c 和 misc.h 添加到工程组中。STM32F1

2021-11-23 18:14:42 314

原创 STM32总线架构

2021-11-23 18:13:28 516

原创 STM32时钟树

STM32 属于高级单片机,其内部有很多的外设,但不是所有外设都使用同一时钟频率工作,比如内部看门狗和 RTC,它只需 30 几 KHz 的时钟频率即可工作,所以内部时钟源就有多种选择。在 STM32 时钟系统中,有 5 个重要的时钟源:HSI 是内部高速时钟,RC 振荡器,频率为 8MHz。 HSE 是外部高速时钟,芯片的23和24引脚为外部高速晶振管脚。可外接一个频率范围是4-16MHz的时钟或者晶振。 LSI 是内部低速时钟,RC 振荡器,频率大约为 40K,可供独立看门狗...

2021-11-23 18:12:42 507

原创 STM32基础(14)SPI通信

原理SPI介绍SPI(Serial Peripheral Interface)串行外围接口,是一种高速、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,出于简单易用的特性,被越来越多的芯片集成,比如 STM32 系列芯片。SPI总线包括4条逻辑线:MISO:Master input slave output MOSI:Master output slave input SCLK :Serial Clock 串行时钟信号线,由主机产生,发送给从机 SS:Slave Selec

2021-11-23 18:11:52 2154

原创 STM32基础(13)CAN通信

原理CAN介绍CAN(Controller Area Network)控制器区域网络是ISO国际标准化的串行通信协议,是国际上应用最广泛的现场总线之一。CAN 通信只具有两根信号线,分别是 CAN_H 和 CAN_L,CAN 控制器根据这两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平。发送方通过使总线电平发生变化,将消息发送给接收方。在总线上显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。而所有的单元都输出隐性电平,总线上才为隐性电平。CAN网络拓扑结

2021-11-23 18:02:58 3386 1

原创 STM32基础(12)IIC读写AT24C02(EEPROM)

原理IIC介绍I2C(Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是同步通信的一种特殊形式,由于管脚少、硬件实现简单、可扩展性强等特点,被广泛的使用在各大集成芯片内。主机:启动数据传送并产生时钟信号的设备从机:被主机寻址的器件主模式:用 I2CNDAT 支持自动字节计数的模式;位 I2CRM,I2CSTT,I2CSTP控制数据的接收和发送从模式:发送和接收操作都是由 I2C 模块自动控制的发

2021-11-23 17:59:11 6029

原创 STM32基础(11)光敏传感

原理通过 ADC3 通道 6 采集光敏传感器的AD 值,并将该值转换为光照度值 0-100,0 对应最暗,100 对应最亮,并通过串口1输出光照强度值代码编写USART驱动程序(STM32F1系列通用) 将固件库文件stm32f10x_usart.c添加至工程 编写头文件:函数声明 编写驱动文件: 初始化函数: 使能端口时钟,串口时钟:RCC_APB2PeriphClockCmd 配置GPIO口Tx、Rx引脚:GPIO_InitTypeDef 配置串口:波

2021-11-23 17:55:17 5753 1

原创 STM32基础(11)ADC模数转换

原理ADC(analog to digital converter)即模数转换器,它可以将模拟信号转换为数字信号。①电压输入引脚:不要直接将高于 3.3V 的电压接到ADC 管脚上,那样将可能烧坏芯片。②输入通道:ADC 的输入通道多达 18 个,其中外部16 个,内部2个。③规则通道组:外部的 16 个通道在转换的时候可分为规则通道组(常用)和注入通道组(类似中断),每个组包含一个转换序列。④触发源:软件使能ADC触发,外部事件触发。⑤ADC时钟:由 APB2 经过分频产生,A

2021-11-22 09:40:16 3728

原创 STM32基础(10)串口重定向

原理C 语言中 printf 函数默认输出设备是显示器,如果要实现在串口或者 LCD 上显示,必须重定义标准库函数里调用的与输出设备相关的函数。重定向:重写库函数,对原函数进行覆盖,编译时优先调用重定向的用户函数,在 KEIL 中使用 printf 一定要勾选“微库”选项。在 STM32 程序开发中 printf 应用非常广,当我们需要查看某些变量数值或者其他信息等,都可以通过 printf 打印到串口调试助手上查看。代码编写USART驱动程序(STM32F1系列通用) 将固件库文件s

2021-11-22 09:38:04 6101 2

原创 STM32基础(9)USART串口通信

原理串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通信方式,属于串行通信方式。串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。串口通信的接口标准有很多,RS-232C 接口规定使用 25 针连接器和 9 针(DB9)的非标准连接器接口,实际应用中多是DB9接口。RS232 的通信协议比较简单,通常遵循 96-N-8-1 格式。USART (Universal Synchronous/Asyn

2021-11-22 09:36:24 2135

原创 STM32基础(8)PWM呼吸灯实验

原理PWM (Pulse Width Modulation)脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成为电力电子技术最广泛应用的控制方式。对于 STM32F1 芯片,要么输出高电平(3.3V),要么输出低电平(0),假如要输出 1.5V 的电压,就必须通过相应的处理,比如WM 输出,只要保证数字信号脉宽足够就可以使用 PWM 进行编码,从而输出 1.5V 的电压。STM32F1 除了基本定时器 TIM6 和 TIM

2021-11-22 09:34:35 2979

原创 STM32基础(7)定时器中断

原理STM32F1 的定时器非常多,由 2 个基本定时器(TIM6、TIM7)、4 个通用定时器(TIM2-TIM5)和 2 个高级定时器(TIM1、TIM8)组成。基本定时器的功能最为简单,类似于 51 单片机内定时器。通用定时器是在基本定时器的基础上扩展而来,增加了输入捕获与输出比较等功能。高级定时器又是在通用定时器基础上扩展而来,增加了可编程死区互补输出、重复计数器、带刹车(断路)功能,这些功能主要针对工业电机控制方面。STM32F1 的通用定时器可用于多种用途,包括测量输入信号的脉冲宽度(输

2021-11-22 09:32:16 1314

原创 STM32基础(6)外部中断

原理EXTI(External interrupt/event controller)外部中断/事件控制器包含多达 20 个用于产生事件/中断请求的边沿检测器。EXTI 的每根输入线都可单独进行配置,以选择类型(中断或事件)和相应的触发事件(上升沿触发、下降沿触发或边沿触发),还可独立地被屏蔽。产生中断的目的是把输入信号输入到NVIC中,进一步执行中断服务函数,实现功能,这是软件级别的。产生事件的目的是传输一个脉冲信号给其他的外设电路,属于硬件级别的,比如可以给定时器TIMER或者ADC等使用。

2021-11-22 09:29:37 1314

原创 STM32基础(5)按键控制

步骤编写SysTick驱动程序(STM32F1系列通用) 将固件库文件misc.c添加至工程,misc.c中包含SysTick寄存器的操作函数 编写头文件:函数声明 编写驱动文件:初始化函数、延时us函数、延时ms函数 对GPIO的IDR和ODR寄存器位操作进行封装(STM32F1系列通用) 编写按键驱动程序 编写头文件:宏定义连接按键的端口、端口引脚、端口时钟、引脚位带、按键值,函数声明 编写驱动文件: 按键初始化函数:开启端口时钟,定义GPIO_InitTypeDef结构

2021-11-22 09:25:56 1930

原创 STM32基础(4)使用SysTick滴答定时器实验精准延时

原理SysTick 定时器也叫 SysTick 滴答定时器,它是 Cortex-M3 内核的一个外设, 被嵌入在 NVIC 中。它是一个 24 位向下递减的定时器,每计数一次所需时间为 1/SYSTICK,SYSTICK 是系统定时器时钟,它可以直接取自系统时钟,还可以通过系统时钟 8 分频后获取。当定时器计数到 0 时,将从 LOAD 寄存器中自动重装定时器初值,重新向下递减计数,如此循环往复。如果开启SysTick 中断的话,当定时器计数到 0,将产生一个中断信号。因此只要知道计数的次数就可以准

2021-11-22 09:22:20 1268

原创 QT网络编程TCP

完整代码:QT网络编程TCP(Ubuntu16+Qt4打开运行).zip-嵌入式文档类资源-CSDN下载TCP协议的程序使用的是客户端/服务器模式,在Qt中提供了QTcpSocket类来编写客户端程序,使用QTcpServer类编写服务器端程序。QTcpServer类:QTcpServer类提供一个基于TCP的服务器。 调用listen() 来让服务器侦听到达的连接。每次客户端连接到服务器是都会发射newConnection() 信号。 调用nextPendingConn...

2021-11-22 09:12:33 291

原创 QT基本操作

QT工具Qt designer:是一个界面设计工具,使开发者可视化设计用户界面。界面保持为XML格式的”.ui”文件。qmake:为编译Qt/E库和应用提供的Makefile生成器,能根据工程文件(.pro)产生不同平台下Makefileuic:将使用designer设计的”.ui”文件转换成源程序文件。moc(源对象编译器):将Qt的源程序转为标准C++程序。QT开发程序方法开发Qt程序Qt库是一个C++类库,类名都以”Q”开头,使用Qt库开发应用程序,主要有以下两种方式:

2021-11-22 09:03:43 584

原创 STM32基础(3)使用位带操作点亮LED

原理位带操作就是将位带区中的每一位膨胀成位带别名区中的一个 32 位的字,通过访问位带别名区中的字就实现了访问位带区中位的目的。因此我们就可以使用指针来访问位带别名区的地址,从而实现访问位带区内位的目的。步骤对GPIO的IDR和ODR寄存器位操作进行封装(STM32F1系列通用) 编写LED驱动程序 编写头文件:宏定义连接LED的端口、端口引脚、端口时钟、引脚位带,函数声明 编写驱动文件: LED初始化函数:开启端口时钟,定义GPIO_InitTypeDef结构体变量并初始化,拉高引

2021-11-04 16:53:34 1971

原创 STM32基础(2)使用库函数点亮LED

步骤编写LED驱动程序 编写头文件:宏定义连接LED的端口、端口引脚、端口时钟,函数声明 编写驱动文件: LED初始化函数:开启端口时钟,定义GPIO_InitTypeDef结构体变量并初始化,拉高引脚电平 主函数点亮LED代码//led.h#ifndef _led_H#define _led_H#include "stm32f10x.h" //定义了各种地址#define LED1_PORT GPIOB#define LED1_PIN GPIO_Pin

2021-11-04 16:50:31 853

原创 STM32基础(1)使用寄存器点亮LED

步骤开启IO口的时钟 配置IO口工作模式 使引脚输出低电平代码//"stm32f10x.h"文件中定义了寄存器#define PERIPH_BASE ((unsigned int)0x40000000) //存储器Block2外设区地址 #define APB2PERIPH_BASE (PERIPH_BASE + 0x00010000) //Block2内APB2外设区地址#define GPIOB_BASE (APB2PERIPH_BASE + 0x

2021-11-04 16:45:57 443

C语言UTF8转GBK函数到手即用

C语言UTF8转GBK函数到手即用

2022-11-10

V4L2视频监控项目:USB摄像头+QT5

这是一个V4L2的视频监控项目,ARM板连接一个USB摄像头作为服务器端,QT程序作为客户端,支持多个客户端同时观看视频监控

2021-12-18

QT网络编程TCP(Ubuntu16+Qt5打开运行).zip

QT网络编程TCP(Ubuntu16+Qt5打开运行).zip

2021-11-22

空空如也

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

TA关注的人

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