Haohao fighting!
码龄3年
关注
提问 私信
  • 博客:233,482
    问答:61
    233,543
    总访问量
  • 59
    原创
  • 1,571,865
    排名
  • 135
    粉丝
  • 6
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2021-11-30
博客简介:

ChenWenHaoHaoHao的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,278
    当月
    7
个人成就
  • 获得331次点赞
  • 内容获得71次评论
  • 获得2,253次收藏
  • 代码片获得3,645次分享
创作历程
  • 23篇
    2023年
  • 36篇
    2022年
成就勋章
TA的专栏
  • STM32
    21篇
  • 树莓派
    8篇
  • opencv学习
    5篇
  • 蓝桥杯15单片机
    14篇
  • 数据结构
    1篇
  • 51单片机
    3篇
  • C语言题目
    5篇
兴趣领域 设置
  • Python
    python
  • 编程语言
    c语言
  • 人工智能
    opencv计算机视觉目标检测机器学习人工智能深度学习神经网络自动驾驶视觉检测图像处理
  • 网络与通信
    信号处理
  • 嵌入式
    单片机stm3251单片机物联网
  • 前沿技术
    智能家居无人机车载系统机器人
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

编译错误:C4056E type of input file ‘xxx‘ unknown

最近在Proteus上面进行仿真,将编译后的hex文件导入到电路图中,进行程序运行的时候,Proteus报了这么一个错误:Error: C4065E: type of input file 'Pian' unknown我上网一搜,好像与文件名称中存在空格有关,导致文件识别出现问题。于是我就想起了我的整个keil文件所在的文件夹,当时取名为“Dan Pian Ji”.我的Keil编译如下图
原创
发布博客 2023.12.28 ·
1999 阅读 ·
7 点赞 ·
1 评论 ·
9 收藏

STM32 定时器介绍

STM32F103系列单片机定时器主要有:系统定时器SysTick,2个高级定时器TIM1和TIM8,4个通用定时器TIM2/3/4/5,2个基本定时器TIM6和TIM7。下面先简单介绍一下:基本定时器:基本定时器只能计时,不能产生中断。它们适合于需要简单计时的应用程序。通用定时器:通用定时器可以配置为计时器或者PWM发生器,并且可以产生中断。它们可以用于控制电机、LED灯等。高级定时器:高级定时器有更多的功能,如输入捕获、输出比较和PWM发生器。它们适用于需要高精度计时或PWM控制的应用程序。
原创
发布博客 2023.10.25 ·
1971 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

STM32 定时器介绍--通用、高级定时器

前面文章中说过,STM32F103系列单片机中除了有系统定时器SysTick外,还有2个高级定时器TIM1和TIM8,4个通用定时器TIM2/3/4/5,2个基本定时器TIM6和TIM7。通用定时器的功能在高级定时器中都存在,不做赘述,这篇文章主要介绍STM32中的高级定时器。对于系统定时器SysTick和基本定时器的介绍分别如下:
原创
发布博客 2023.09.26 ·
2008 阅读 ·
1 点赞 ·
0 评论 ·
18 收藏

STM32 定时器介绍--基本定时器

在我之前文章中说过一个系统定时器SysTick,它存在于内核,嵌套在NVIC中,所有的Cortex-M内核的单片机都具有这个定时器。而今天介绍的STM32定时器是相当于一个外设,功能更加丰富全面。基本定时器(TIM6和TIM7)、通用定时器(TIM2、TIM3、TIM4和TIM5)、高级定时器(TIM1和TIM8)功能:基本定时器:只能实现定时的功能通用定时器:定时、输出比较、输入捕获、互补输出高级定时器:包含了基本定时器和通用定时器的所有功能。
原创
发布博客 2023.09.22 ·
647 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

树莓派 python3.9降级为python3.7

今天烧录了一个官方烧录器中的最新的镜像,打开之后python的版本是3.9的,之前做的一些东西都是基于python3.7的,再重新架构十分麻烦,于是干脆就把python3.9进行降级,降为python3.7.这个镜像不像之前的一些镜像,同时拥有python2.7和python3.7两个版本,直接切换软链接就完事,这个没有安装python3.7,所以还得进行python3.7的安装。5.移除之前的链接 这里之前的链接是3.9,所以是python3,如果是2.7版本的,就要是python2.
原创
发布博客 2023.06.24 ·
6394 阅读 ·
9 点赞 ·
14 评论 ·
88 收藏

树莓派与STM32之间串口通信

树莓派串口通信与蓝牙模块的基本介绍树莓派3/4B有两个串口,分别为 “硬件串口”/dev/ttyAMA0 和“mini串口” /dev/ttyS0。“硬件串口”有单独的波特率时钟源,性能高、可靠,“mini串口”性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供,因此“mini串口”有个致命的弱点是:波特率受到内核时钟的影响,内核若在智能调整功耗降低主频时,相应的这个mini串口的波特率便受到牵连。简单概括来说:“硬件串口”是全功能的,而“mini串口”则是阉割过的。
原创
发布博客 2023.06.23 ·
7233 阅读 ·
9 点赞 ·
0 评论 ·
128 收藏

树莓派使用VNC、SSH、Xrdp等方式进行远程控制的方法和注意事项

下面来总结一下远程操控树莓派用到的三种方式及其注意事项,其实这三种方式对于所有的Linux系统来说都是适用的。一、ssh控制树莓派SSH 是一种加密的远程登录协议,可以让用户通过网络远程访问树莓派的命令行界面。要使用 SSH 远程控制树莓派,需要在树莓派上启用 SSH 服务,然后在远程计算机上使用 SSH 客户端软件,例如 PuTTY 或 OpenSSH,连接到树莓派的 IP 地址和 SSH 服务器的端口号。
原创
发布博客 2023.06.23 ·
4757 阅读 ·
6 点赞 ·
0 评论 ·
22 收藏

树莓派VNC控制报错:The connection was refused by the computer 已解决

在进行VNC远程操控树莓派的时候,出现了这个错误:The connection was refused by the computer。如果以后VNC登录控制树莓派的时候,只输入IP地址即可。大概原因有两个:一个是树莓派的IP地址更改了,另一个就是树莓派的VNC服务没有开启。我的这块板子是个新板子,原因很显然是后者。密码在输入的时候看不见,自己输入完按回车即可。好了,这样就可以通过VNC远程操控树莓派了。5.打开VNC软件,输入IP和端口号。2. 输入自己树莓派的用户名和密码。
原创
发布博客 2023.06.06 ·
11714 阅读 ·
4 点赞 ·
2 评论 ·
36 收藏

备份树莓派SD卡 — 保姆级教学

在我们树莓派项目开发的过程中,经常遇到以下问题:1.自己辛辛苦苦开发出来的项目,害怕内存卡损坏,系统被破坏掉,想做一个备份。2.自己的树莓派内存卡内存不够了,想将原来卡上的内容放在新的大容量内存卡上。3.想将自己的项目分享给别人。这时候就需要将自己现在内存卡上的东西备份一下,做成镜像,这样就可以随时进行下载了。
原创
发布博客 2023.05.20 ·
2790 阅读 ·
1 点赞 ·
0 评论 ·
17 收藏

error: #5: cannot open source input file “sys.h“: No such file or directory 解决办法

把“sys.c”和“sys.h”这两个文件复制到我工程“user”文件夹下的“sys”文件夹内,这个文件夹用于存放一些外设等东西的.c、.h文件。其实这个错误的意思是没有找到“sys.h”这个文件,我复制的程序中用到了这个文件,而我的工程里面没有这个文件。复制进去之后,再回到工程内,把这两个.c、.h文件添加进去,右击“user”添加即可。好,这一步完成之后就可以了,编译已经不会再报错了。接下来,继续添加,按照方框顺序自上而下操作即可。这一类型的其他问题解决办法大同小异,添加文件即可。那么添加一下就好了。
原创
发布博客 2023.05.07 ·
17224 阅读 ·
24 点赞 ·
15 评论 ·
64 收藏

树莓派 二维云台调零控制

二维云台是通过IIC进行控制的,我们可以通过窗口命令输入:来检测IIC总线是否连接正常。当有40显示的时候就说明IIC总线正常。操控舵机我们需要一个PCA9685的模块,用到“Adafruit_PCA9685”的库函数,需要我们在官网下载。舵机的工作原理舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值,和频率。一般而言,舵机的基准信号都是周期为20ms,宽度为1.5ms。这个基准信号定义的位置为中间位置。
原创
发布博客 2023.05.02 ·
1910 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

AttributeError: module ‘serial‘ has no attribute ‘Serial‘解决办法

这样一个错误,我查了查网上,有人说是因为py文件名是“serial.py”的问题,但是我的py文件不是这个名字,而且安装也没有错误。于是我就重新卸载安装了一遍,结果成功了!在我使用 serial模块的时候,遇到了。重新安装一遍之后,就可以继续使用了!
原创
发布博客 2023.04.23 ·
2713 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

蓝桥杯15单片机--专项问题:多数暂存、平均值、最大值、最小值问题

的话,由于牵扯到小数显示,所以要定义两个变量:一个小数平均值(进行计算)和整数平均值(进行显示)。很简单,把第一个数当作最大值和最小值,然后每进去一个数进行比较,如果大于最大值或者小于最小值就把新数值化为最大值或最小值。首先,这一部分数据的存储肯定要用数组去做,我们定义一个可以存放50个数据的数组,distance[n]在第十二届国赛和刚刚过去的第十四届省赛中,遇到了一个新问题:多数暂存、平均值、最大值、最小值问题。其他的认真想想就可以。:如果读取的数据超过 50个,将数据依次前移,去掉最前面那一个数据。
原创
发布博客 2023.04.22 ·
920 阅读 ·
4 点赞 ·
5 评论 ·
24 收藏

蓝桥杯15单片机--串口通信模块

为没有串口的计算机提供快速的通道,而且,使用USB转串口设备等于将传统的串口设备变成了即插即用的USB设备。前面学的三种总线通信都属于串行通信,属于半双工,串口通信属于全双工。另一种分类:UART、单总线通信协议属于异步通信,SPI、IIC协议属于同步通信。来控制数据的发送和接收,这两个时钟源彼此独立,互不同步(UART,1-WIRE)。通常简称:串口通信,指使用单片机的串行接口进行数据传输。·其特点是:传送速度快,但所需数据线多,适用于近距离通信。串口通信的重要参数:波特率、数据位、停止位和奇偶校验。
原创
发布博客 2023.04.21 ·
1688 阅读 ·
2 点赞 ·
0 评论 ·
14 收藏

树莓派 GPIO口控制双色LED灯

GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通过它们可以输出高低电平或者通过它们读入引脚的状态(是高电平或是低电平)。树莓派对于GPIO的操作主要基于RPi.GPIO库,这个库是树莓派系统自带的。
原创
发布博客 2023.04.18 ·
2236 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

蓝桥杯15单片机--超声波模块

超声波时间差测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340*t/2。这就是所谓的时间差测距法。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理
原创
发布博客 2023.04.17 ·
2681 阅读 ·
5 点赞 ·
0 评论 ·
35 收藏

树莓派 QT项目开机自启动

我自己用qt设置了一个界面,如何让他开机自启动呢?目录1.生成qt项目的可执行文件2. 编写一个自启动脚本3.重启树莓派1.生成qt项目的可执行文件QT项目的可执行文件就是.exe文件。首先在qt中打开,点击红色方框图标,选择Release
原创
发布博客 2023.04.15 ·
1550 阅读 ·
0 点赞 ·
0 评论 ·
19 收藏

opencv--可选颜色物体追踪函数

一、函数介绍作用:创建一个滑动条:滑动条的名字。- img:滑动条所在画布。- min:滑动条的最小值。- max:滑动条的最大值。:滑动条的回调函数。2.
原创
发布博客 2023.04.12 ·
684 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C51中的sprintf()函数使用

在做蓝桥杯第五届国赛试题的时候,遇到这样一个问题:题目要求单片机通过串口返回电脑一组数据,包括温度、湿度、时间等,数据很多问且中间有大括号等符号做间隔,如果一个字符一个字符的分开重新定义,发送的话就非常麻烦。通过上网学习,发现了一个非常有效的办法:sprintf()函数来实现。但是,在C51中的sprintf函数与标准C语言中有所差别,注意区分。经过上网查阅资料,特此总结一下。
原创
发布博客 2023.01.15 ·
6434 阅读 ·
7 点赞 ·
0 评论 ·
59 收藏

如何将.ipynb文件转换成.py文件 一看就会

2.在弹出来的cmd窗口中输入:pip install jupyter notebook 然后等待下载安装。3.安装完成之后,在本cmd窗口继续输入:jupyter notebook,选择浏览器打开窗口即可。6.鼠标移到Download as上,点击Python就可以下载.py文件了。4.在弹出来的网页中,点击红色方框里面的内容,上传本地的.ipynb文件。1.打开cmd (快捷键 win+r ,在打开的窗口中输入cmd即可)5.上传完成之后,打开.ipynb文件,点击上面的file。
原创
发布博客 2023.01.11 ·
3578 阅读 ·
3 点赞 ·
5 评论 ·
36 收藏
加载更多