自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 【Linux系统编程】

1.什么是进程,什么是程序,区别程序是静态的概念 gcc xx.c -o pro磁盘中生成的pro文件时程序进程是动态的概念,是程序一次的运行活动2.如何查看进程过滤查看进程:ps -aux|grep inittop 查看进程(类似于任务管理器)3.什么是进程标识符每个进程都有一个非负整数表示的唯一ID--pidPid = 0;成为交换进程(swapper)作用--进程调度 即当前某一时刻谁来运行Pid = 1;init进程作用--系统初始化。

2024-04-24 18:07:46 1439

原创 STM32

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog)。独立看门狗工作在主程序之外,能够完全独立工作,它的时钟是专用的低速时钟(LSI),由VDD 电压供电, 在停止模式和待机模式下仍能工作。

2024-04-17 21:26:24 692

原创 51单片机

STC89C52一.定时器 1.介绍 2.计时 2.定时器寄存器  2.1 定时器控制寄存器TCON  2.2 定时器模式寄存器TMOD  2.3 定时器如何定时10毫秒  2.4 定时器寄存器配置    2.4.1 TCON    2.4.2 TMOD    2.4.3 实现    2.4.5 按位操作 3.定时器中断  3.1 定时器中断相关寄存器    3.1.1 IE 中断允许寄存器 4.PWM开发SG90  4.1 控制舵机  4.2 IO输出模拟PWM  4.3 舵机控制  4.4 超声波测距 

2024-04-15 17:43:01 1292

原创 QT天气预报

【代码】QT天气预报。

2024-04-07 21:54:42 781 1

原创 QT-QPainter

坐标系为QPainter是Qt 库中用于在屏幕上进行绘画的类。它提供了各种绘制功能,比如画线、画图形、画文本等。在使用QPainter之前,需要对QPaintEvent事件进行重写。

2024-04-05 16:22:31 1080

原创 QT网络调试助手

链接:https://pan.baidu.com/s/1uI_bhvufjcuW1R6CrR9P7g。–来自百度网盘超级会员V5的分享。

2024-04-02 19:54:59 629

原创 QT串口调试助手

完成串口助手相应功能将QComboBox提升为MyComboBox自定义信号与槽重写鼠标点击事件事件关联文件名:customthread.h内容:Q_OBJECTpublic:protected:signals:文件名:mycombobox.h内容:Q_OBJECT //发送信号的宏public:protected:signals:文件名:widget.h内容:Q_OBJECTpublic:~Widget();

2024-03-31 16:52:52 1743

原创 QT记事本

支持文本创建、打开、关闭、保存功能添加打开快捷键、添加保存快捷键底部显示行列号及文本字符 编码ctrl+鼠标滚轮支持字体放大缩小在Qt中,自定义信号与槽是实现对象间通信的一种机制。信号和槽是Qt对象通信的核心特性,使得一个对象能够在发生某种事件时通知其他对象。自定义信号与槽的实现步骤如下: 1. 定义信号:在Qt中,信号是由signals关键字声明的类成员函数。它们不需要实现,只需要声明 2. 定义槽::槽可以是任何普通的成员函数,但通常在类定义中用 slots 关键字标识。

2024-03-29 16:16:54 1316 1

原创 C语言笔记

C语言一.环境安装 1.代码编辑工具notepad++ 2.代码编译工具mingw 3.使用二.概述 1.基本框架 2.数据表现形式  2.1变量  2.2常量 3.输入输出  3.1输出printf()/打印  3.2输入scanf()/扫描键盘   3.2.1 scanf()—数值型   3.2.2 scanf()—字符型   3.2.3 scanf()—混合型(需注意输入类型顺序)   3.2.4 输入输出补充   3.2.5 例题三.流程控制 1.选择结构和判断句  1.1 if...else.. 

2024-03-12 21:33:18 966

原创 2.linux创建进程函数fork

一、创建进程fork() pid_t fork(void) fork函数调用成功,返回两次 返回值为0,代表当前进程是子进程 返回值为非负数,代表当前进程是父进程 返回值-1,代表调用失败代码示例:#include<stdio.h>#include<sys/types.h>#include<unistd.h>int main(){ pid_t pid; printf("father

2021-05-17 11:16:58 173

原创 1.进程的概念

一、进程额的概念什么是程序,什么是进程程序(静态):例gcc xxx.c -o pro在磁盘中生成的pro文件叫程序。进程(动态):程序的一次运行如何查看系统中进程1)ps指令,ps -aux 通常配合grep使用获得所需的进程例:ps -aux|grep init(获取带init的字段)2)top:类似于Windows中的任务管理器进程标识符1)pid:每个进程都有一个非负整数表示唯一idpid=0;称为交换进程(swapper),进程调度作用;pid=1;in

2021-03-26 11:24:13 123

原创 Linux编程修改文件内容

思路打开文件读取文件内容并存放到buf中查询所要更改的内容修改内容关闭文件具体代码#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#include <stdlib.h>#include <unistd.h>int main(int argc, ch

2020-11-30 10:30:40 357

原创 Linux编程 int main()介绍及实现cp命令

cp src.c des.c实现思路:打开src.c读取src.c到buf打开/创建des.c将buf写入des.cclose文件int mian()参数介绍:int main(int argc,char**argv){//argc 表示有几个参数//argv 数组的指针里面的每一项都是数组以cp src.c des.c为例argc = 3cp argv[0]里面有数组char型cp 2个字符串以此类推 src.c argv[1]des.c argv[2]}具体

2020-11-22 10:59:36 633

原创 Linux系统编程open()函数,write()函数,read()函数,lseek()函数

#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>int open( const char * pathname, int flags);int open( const char * pathname,int flags, mode_t mode);函数说明参数pathname 指向欲打开的文件路径字符串。下列是参数flags 所能使用的旗标:O_RDONLY 以只读方式打开文件O_WR

2020-09-18 16:23:03 500

原创 STM32-IIC通信解析

一、IIC通信I2C,两线式串行总线,由数据线SDA和时钟SCL构成的穿行总线,可发送和接受数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。半双工通信方式二、IIC协议1. 空闲状态:I2C总线,总线的SDA和SCL同时处于高电平时,规定为总线的空闲状态。2. 起始信号和停止信号:起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低到高的跳变;停止信

2020-08-06 11:11:45 795

原创 STM32-USART串口初始化配置

一、串行通信的基本概念1.同步通信和异步通信通信,最少要两个对象,一个收,一个发同步通信:通信双方根据同步信号进行通信的方式。异步通信:数据传输速度匹配依赖于通信双方有自己独立的系统时钟,大家约定好通信的速度。异步通信不需要同步信号,但是并不是说通信的过程不同步2.串行通信和并行通信的区别串行通信:同一时刻只能收或发一个bit位信息因此只用1根信号线并行通信:同一时刻可以收或发多个bit位的信息,因此需要多根信号线才行3.单工、半双工、全双工单工:要么收,要么发,只能做接收设备或

2020-07-14 07:12:12 8182

原创 STM32定时器中断设置

一、时钟选择计数器时钟可由下列时钟源提供:内部时钟(CM_INT)外部时钟模式1:外部输入脚(TIx)外部时钟模式2:外部触发输入(ETR)内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如果可以配置一个定时器Timer1而作为另一个定时器Timer2的预分频处理二、计数模式向下计数模式(时钟分频因子=1)向上计数模式(时钟分频因子=1)中央对其计数模式(时钟分频因子=1 ARR=6)三、定时器常用寄存器和库函数定时器参数初始化: voi

2020-07-08 09:29:55 857

原创 STM32 通用定时器原理介绍

一、STM32 通用定时器简介STM32F1 的通用定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。 使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。STM3F1 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定

2020-07-07 19:20:33 1008

原创 STM32 外部中断实现方式及示例

一、外部中断的概述:STM32的每一个IO都可以作为外部中断输入STM32的中断控制器支持19个外部中断/事件请求:线0~15: 对应外部IO口的输入中断线16: 连接到PVD 输出线17: 连接到RTC 时钟事件线18: 连接到USB唤醒事件*每个外部中断线都可以独立的配置触发方式(上升沿,下降沿或者双边沿出发),触发/屏蔽,专用的状态位。从上面可以看出,STM32 供 IO 口使用的中断线只有 16 个,但是 STM32 的 IO 口却远远不止 16 个,那么 STM32 是怎么把 1

2020-07-06 12:39:27 2824

原创 STM32 中断介绍

一、NVIC 中断优先级分组CM3内核支持256个中断,其中包含16个内核中断和240个外部中断,并且具有256级的可编程中断设置STM32并没有使用CM3内核的全部东西,而是只用了它的一部分STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级STM32F103系列上面,又只有60个可屏蔽中断(在107系列才有68个)...

2020-07-04 10:48:43 1898

原创 基于Wemos的wifi避障小车的项目实现

注:本人小白,本文为个人学习后自行敲出的代码,,项目来源于上官可编程陈老师的一个可玩,有想学习,了解嵌入式的朋友可以抖音搜索上官可编程。项目实现:手机操控小车行动,遇到障碍物自动后退。项目所需模块:wemos D1 wifi esp8266开发版,超声波模块,继电器实现代码:#include <ESP8266WiFi.h>#define Zhuan1 D6#define Zhuan2 D7#define Dong1 D4#define Dong2 D5#define Echo

2020-07-04 10:07:57 771 1

原创 STM32 端口重映射基础知识

一、端口重映射部分重映射:功能外设的部分引脚重新映射,还有一部分引脚是原来默认的引脚完全重映射:功能外设的所有引脚都重新映射二、引脚重映射配置过程(串口1为例):使能GPIO时钟(重映射后的IO);使能功能外设时钟(例如串口IO);使能AFIO时钟。重映射必须使能AFIO时钟; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);开启重映射 GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABL

2020-07-04 09:47:13 426

原创 STM32 端口复用学习

一、 STM32端口复用1. 端口复用定义:STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。2. 作用:最大限度的利用端口资源3. 以PA9,PA10配置为串口1为例GPIO端口时钟使能: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);- 复用外设时钟使能(如将端口PA9,PA10复用为串口,所以要使能串口

2020-07-03 13:09:17 1122

原创 关于动态链表嵌套问题的解决方法及思路

注:本文为个人学习的测试题,此题目如果可以自己独立完成基本上算入门了,题目来源于上官可编程陈老师出的的一个c语测试题,有想学习c语了解嵌入式的朋友可以抖音搜索上官可编程。链表A,每个节点存放一个新的链表B1,B2,B3,B4,B5的头结点。场景:一个年级,相当链表A该年级5个班,每个班5个人,相当于链表B1–B5做一个学生成绩管理系统学生成绩有语文 数学 英语功能: 录入成绩 找最三科总分的最高分 最低分 算出平均分思路:先创建链表B录入5个学生的各科成绩,然后返回链表头,将链表头给链表

2020-07-03 12:00:35 2289 2

原创 STM32 时钟系统介绍

一、时钟系统框图1.时钟系统知识总结(与上图结合看)STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL HSI(high speed internal): 高速内部时钟,RC振荡器,频率为8MHZ,精度不高 HSE(high speed external): 高速外部时钟,可接受石英/陶磁谐振器,或者接外部时钟源,频率范围4MHZ~16MHZ LSI(low speed internal): 低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。WDG LSE(lo

2020-07-03 11:28:20 241

原创 STM32 GPIO初始化的学习

注:本文只是个人学习的STM32遇到的问题和整理1.GPIO的端口初始化即函数GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

2020-07-02 11:16:37 1045

南邮数据结构811思维导图

南邮数据结构811思维导图

2024-03-12

空空如也

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

TA关注的人

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