
各种问题排查
文章平均质量分 50
123GJ123
多琢磨,多操作。
展开
-
一个可以正常运行的工程,用cubemx重新生成之后就无法运行了
问题描述:一个可以正常运行的工程,用cubemx重新生成之后就无法运行了——通过注释逐条释放发现运行printf这句就会卡死——采用HAL_UART_Transmit函数可以正常发送汉字原因分析:——定位到必然是printf的问题,经过搜索发现串口重定向时需要勾选这个库,只有勾选后,链接时会把这个库给链接进可执行文件。之前重装keil后没勾导致自己新生成的可执行文件都缺少库,因此会卡在printf上。注意:一定要先勾,再编译并链接,再下载。每次用cubemx生成之后都要勾。...原创 2022-01-20 17:37:27 · 1224 阅读 · 0 评论 -
STM32CubeMX——定时器输入捕获
通用定时器在基本定时器的基础上增加了一个外部引脚,可以实现输入捕获与输出比较等功能。高级定时器TIM1与TIM8相比于通用定时器增加了电机控制相关的功能。输入捕获一般应用在两个方面,一个方面是计算脉冲跳变沿时间的方式测量脉宽与频率,另一方面是用 PWM 输入的方式测量脉宽与频率。...原创 2021-07-25 20:50:34 · 3893 阅读 · 0 评论 -
STM32串口中断接收实验
STM32串口中断接收实验的详细说明准备代码实现总结准备材料:STM32F407ZGT6最小系统板,串口1通过跳线帽连接到了CH340上。需求:从电脑向板子的串口1发送一个字符串(以回车和换行结尾,字符串末尾两个字符为0x0d和0x0a),板子接收到之后原样返回给电脑。思路:用串口的接收中断实现。代码实现后台执行内容:当判断接收完毕后,将存放在字符数组里的字符用循环的方式发送出去。后台时刻检查变量STA的bit15的状态决定要不要发送数据。大部分时候后台仅仅运行闪灯的那一部分。int原创 2021-07-04 21:38:15 · 4417 阅读 · 1 评论 -
STM32CubeMX使用教程——使用485总线接收变送器数据
学习用CubeMX配一个485通讯的程序一、先罗列出要使用的外设二、使用STM32CubeMX生成工程一、注意事项一、先罗列出要使用的外设USART1(引脚PA9、PA10)用于打印信息USART2(引脚PA2、PA3)用于接收485总线上的数据,使能PG8用于控制485收发。灯(引脚PF9、PF10)点灯用于程序调试查看运行状态。二、使用STM32CubeMX生成工程1、先一、注意事项485通信接线是不交叉的,即A接A,B接B,可以多节点的挂载在总线上。而串口通信接线是交叉的,只能两原创 2021-07-17 15:46:35 · 13757 阅读 · 20 评论 -
反转链表(单链表)C++实现
反转单链表原创 2022-06-30 09:28:13 · 484 阅读 · 0 评论 -
牛客网的ACM输入输出模式
输入包括两个正整数a,b(1原创 2022-07-04 10:19:19 · 5182 阅读 · 0 评论 -
快速排序 C实现
C语言实现快排,从小到大排序原创 2022-06-07 20:28:28 · 92 阅读 · 0 评论 -
二叉树的最大深度
【代码】二叉树的最大深度。原创 2022-08-21 22:13:46 · 346 阅读 · 0 评论 -
进程与线程
进程本身不可以运行程序,而是像一个容器一样,先创建出一个主线程,分配给主线程一定的系统资源,就可以在主线程里开始实现各种功能。当我们需要实现更复杂的功能时,可以在主线程里创建多个子线程,多个线程在同一个进程里,利用这个进程所拥有的所有系统资源合作完成某些功能。每一个独立的进程有一个程序运行的入口,顺序执行序列和程序的出口,但是线程不能独立执行。...原创 2022-07-31 17:30:04 · 150 阅读 · 0 评论 -
树莓派程序开机自启动
设置开机自启动一个python项目新建一个脚本用于罗列要执行的各种命令新建.desktop文件用于启动脚本新建一个脚本用于罗列要执行的各种命令脚本文件的运行效果是:在pi目录下新建一个start.c文件从pi目录进入python项目文件夹,运行一个.py文件在pi目录下新建一个end.c文件新建testStart.sh脚本文件:testStart.shsudo nano testSatrt.sh在testStart.sh文件中输入以下内容:#!/bin/shtouch /home/p原创 2021-06-29 11:07:04 · 576 阅读 · 0 评论 -
cv2.VideoCapture()从网络摄像头取RTSP流失败的解决办法
树莓派从网络摄像头取流需求:问题与现象:分析总结需求:将大华的网络摄像头连接到树莓派网口,取出视频进行处理。问题与现象:连接硬件将树莓派有线网卡的ip固定设置于摄像头的同一网段。将大华给的URL填到VLC里打开,可以播放视频将大华给的URL填到cv2.VideoCapture()里,打不开视频。报错如下:将参数删除,在运行报错如下:分析可能是由于端口的问题,上网搜索后,将大华给的url里的port改成554。成功运行!差点就去编译ffmpeg了。参考https://stack原创 2021-07-23 17:15:07 · 9464 阅读 · 0 评论 -
printf重定向到串口后程序无法运行的解决办法
在usart.h中加入#include "stdio.h"在usart.c中加入如下函数int fputc(int ch,FILE *p) //函数默认的,在使用printf函数时自动调用{ USART_SendData(USART1,(u8)ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); return ch;}就将printf()的输出重定向到串口1了。但发现打印不出来信息,以为代码有问题检查半天。结原创 2021-07-14 18:52:09 · 2009 阅读 · 3 评论 -
pycharm导入包问题合集
1、导入cv2直接搜cv2报错。正确做法是,在Available Packages搜索框中输入opencv,选择opencv-python进行安装即可。搜opencv-python还报错根据提示在终端输入(注意加权限)sudo pip3 install opencv-python然后再在pycharm里搜索就行。注意:pip对应python2版本,pip3对应python3版本。使用之前先用python与python3命令查看是否安装了多个python版本。尽量用对应的包管理器原创 2021-06-02 22:31:26 · 457 阅读 · 1 评论 -
ping——判断两个设备是否在同一个局域网下
有时需要检查两个设备(有线/无线)是否在同一个局域网下面怎么操作呢?一、windows下1、在搜索输入cmd,打开命令行编辑器2、输入ipconfig查看本电脑的IP地址3、查另一台设备的ip地址为10.138.223.954、在本电脑命令行输入ping 10.138.223.955、显示结果如下(一个无线一个有线)表示设备在同一个局域网内二、Linux下树莓派ping通指定ip地址后,会一直循环,如果想要退出ping循环,则摁键盘组合件:Ctrl+Z。...原创 2021-05-18 16:07:05 · 13450 阅读 · 0 评论 -
对接网络摄像头——使用RTSP协议进行取流
使用RTSP协议对大华网络摄像头进行取流目标简介具体操作目标用电脑或者带有网口的移动设备将大华网络摄像头的视频流取出来。简介普通的USB摄像头是一个硬件设备,而且目前市面上卖的基本都是免驱的。但网络摄像头和普通的USB摄像头可以说基本不是一回事,其可以视作一个开放了接口的嵌入式系统,里面内置了厂商编写的各种视觉算法,通过提供的SDK可以调用相应的API来实现自己想要的功能。具体操作给摄像头供电用网线将摄像头与笔记本连接起来用大华的工具管家设置IPC的IP地址,使摄像头与笔记本在同一网段(前原创 2021-06-01 23:10:36 · 37630 阅读 · 3 评论 -
Ubuntu下搭建pycharm环境
1、安装pipsudo apt install python3-pip2、查看是否安装成功pip3 --version2、安装pycharm官网链接:https://www.jetbrains.com/pycharm/download/#section=linux原创 2021-06-01 22:03:59 · 398 阅读 · 0 评论