自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何重构ucosii操作系统下的C语言代码

重构代码是在不影响代码功能的条件下,优化结构、性能,提升代码可读性的操作。

2024-03-30 14:50:38 212

原创 什么是总线?什么是CAN总线?

CAN总线CAN总线也叫作控制器局域网(Controller Area Network)。CAN 通讯协议不对节点进行地址编码,而是对数据内容进行编码的,所以网络中的节点个数理论上不受限制,只要总线的负载能力足够即可,可以通过中继器增强负载能力。CAN 收发器的作用:把 CAN 控制器的 TTL 电平信号转换成差分信号(或者相反)

2024-01-25 11:35:27 1030

转载 【进阶】C语言易错概念理解

本文节选部分常见C语言陷阱与缺陷,适用于有C语言基础,使用C语言编程的人学习参考,减少代码编译中无法发现的错误,提升代码可靠性、可移植性,减少调试时间。

2023-11-23 15:13:03 225

原创 C#实例:多功能Windows窗体应用程序Helloworld_WinForm

以下分享我基于项目Helloworld_WinForm实现一些小功能。每一节标题为所用到的控件。

2023-06-06 20:35:27 3989

原创 C#入门:编写运行第一个Windows窗体应用程序Helloworld_WinForm

下载及安装Visual Studio的链接,具体见。

2023-05-26 10:21:35 2892

原创 C#入门:编写运行第一个C#程序Helloworld

下载时选择C#、.Net框架等支持,安装后运行,新建模板选择 Visual C#、Window环境、新建Console控制台应用,为项目命名Helloworld。其中,Console.WriteLine()可读取用户输入。自此完成第一个C#程序的编辑与运行,代码详细解释见开头的参考链接。visual studio左下角有脚本运行窗口,同样可以运行程序。理论上,直接在电脑的cmd命令窗口执行脚本运行方式也可以,但是执行。在visual studio中却运行成功。可以运行代码,或用快捷键F5可以运行。

2023-05-25 16:40:03 2062

原创 【FPGA/Verilog】 阻塞赋值与非阻塞赋值

阻塞赋值与非阻塞赋值的区别,使用原则。

2022-09-08 20:13:06 1237 2

原创 【FPGA/Verilog】 Inout端口用法

FPGA的Inout端口用法

2022-09-06 14:39:00 1008

原创 Altium Designer 常见操作问题的解答

适用于解决新手小白初学AD时常有的问题,以及一部分有助于提升设计效率的方法、快捷键。

2022-08-22 23:48:32 7261 2

转载 uC/OS-II 函数之邮箱管理相关函数

转载至:uC/OS-II 函数之邮箱管理相关函数 - Wpeace - 博客园本文介绍邮箱管理相关的函数:OSMboxCreate()建立一个邮箱,OSMboxDel()删除一个邮箱,OSMboxPend()等待邮箱中的消息,OSMboxPost()向邮箱发送一则消息,OSMboxQuery()查询一个邮箱的状态.邮箱管理简述邮箱是µC/OS-II中另一种通讯机制,它可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量。该指针指向一个包含了特定“消息”的数据结构。为了在µC/OS-II中使

2022-03-30 11:34:28 772

转载 CAN总线测试方法——单通道USBCAN及双通道USBCAN

转载:广成科技:解释下USBCAN怎样进行can接口测试USBCAN也叫做CAN总线分析仪,是进行汽车和自动化生产线CAN总线检测的重要设备。CAN接口测试即测试CAN接口是否可以正常的发送及接收数据。单通道USBCAN测试CAN接口设备只有一路CAN总线通道,只能连接一个CAN总线设备或者是一条CAN总线。想要进行这个设备的CAN总线通道测试,我们需要一个CAN反射板工具,其实就是被设置了数据转发功能的另一台USBCAN设备。被设置了数据转发功能的USBCAN,在接收到外界传过来的CAN数据以后

2022-02-07 09:07:30 8281

原创 实例:extern全局变量的声明与定义

__IO是volatile变量// "core_cm4.h"/*省略其他内容*/#define __IO volatile/*省略其他内容*/// "stm32f4xx.h"/*省略其他内容*/#include "core_cm4.h" /*省略其他内容*/// 头文件func.h// 引用#include "stm32f4xx.h"// 声明reception为全局变量extern __IO uint16_t reception/*省略其他内容*/// 子

2022-01-28 10:57:53 1283

原创 学习总结-ADC的基本概念

ADC的基本概念ADC的定义与理解ADC分辨率(12位、10位、8位、6位)ADC通道(规则、注入)ADC模式(独立、双重、三重)ADC转换模式(单次、连续)ADC结果的读取方式(中断、DMA)单通道独立模式ADC电压采集本文主要适用于初学ADC的新手了解一些易混淆的概念,不适合具体配置的时候参考,建议从独立模式单通道采集电压值入手学习配置。推荐参考资料:《STM32F4XX参考手册》ADC的定义与理解ADC(Analog-to-Digital Converter)为模拟数字转换器(或称AD转换器)

2022-01-20 11:16:59 10934

转载 union嵌套struct的存储方式解析

struct的存储方式要搞清楚union嵌套struct的存储方式,首先必须清楚struct的存储方式。转载:结构体在内存中的存储方式(转) - Maydaytyh - 博客园 举例说明:struct X{ char a; int b; double c;}S1;成员从低字节开始排,以4字节对齐的方式进行。因此S1存储方式如下:注意:struct存储方式需要满足对齐要求union嵌套struct的存储方式转载:union嵌套struct_Mister5ive的专栏-CSDN博

2022-01-20 10:02:42 2093 1

转载 volatile关键字的理解和使用

转载至:volatile 关键字,你真的理解吗? - 知乎原文中详细讲解了工作机制,本文只摘取一小部分,想深究可查看原文。volatile关键字的作用作用:保证不同线程对共享变量操作的可见性使用 volatile 修饰共享变量后,每个线程要操作变量时会从主内存中将变量拷贝到本地内存作为副本,当线程操作变量副本并写回主内存后,会通过 CPU 总线嗅探机制告知其他线程该变量副本已经失效,需要重新从主内存中读取。volatile 保证了不同线程对共享变量操作的可见性,也就是说一个线程修改了 volati

2021-12-17 09:01:16 137

转载 光电二极管的工作原理

二极管导电特性二极管最重要的特性就是单方向导电性。在电路中,电流只能从二极管的正极流入,负极流出。正向特性在电子电路中,将二极管的正极接在高电位端,负极接在低电位端,二极管就会导通,这种连接方式,称为正向偏置。必须说明,当加在二极管两端的正向电压很小时,二极管仍然不能导通,流过二极管的正向电流十分微弱。只有当正向电压达到某一数值(这一数值称为“门坎电压”,又称“死区电压”,锗管约为0.1V,硅管约为0.5V)以后,二极管才能真正导通。导通后二极管两端的电压基本上保持不变(锗管约为0.3V,硅管约为

2021-11-09 16:34:28 23384 4

转载 GPIO工作模式

参考链接:【STM32】STM32F4 GPIO八种模式及工作原理详解_Z小旋-CSDN博客_stm32io口的八种工作模式GPIO,即通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。GPIO的工作模式1、4种输入模式(1)GPIO_Mode_IN_FLOATING 浮空输入(2)GPIO_Mode_IPU 上拉输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mod

2021-11-04 15:47:16 2051

原创 quartus II 12.0 不识别USB-Blaster问题的解决方法

打开设备管理器,找到USB-Blaster,可看见黄色感叹号,即驱动未安装。右键->更新驱动设备->浏览我的电脑以查找驱动程序(必须手动查找)。浏览->C:\altera\12.0\quartus\drivers\usb-blaster (这是quartus II安装时都会下载的驱动程序),找到\usb-blaster文件夹即可,它的子目录是不能成功识别的。安装驱动程序。安装后即可识别:...

2021-10-27 10:38:04 3154 1

原创 AD实例-第一次绘制步骤记录

本人是通过书籍自学AD,仅会基础操作,未完整画过一个工程。为了能够全流程的熟悉AD开发步骤

2021-10-22 15:40:01 4825 4

原创 高云下载、安装与免费License获取

高云提供免费的软件,在此分享一下如何下载安装。高云下载在官网http://www.gowinsemi.com.cn/faq.aspx ,找到云源软件 for win(V1.9.8),点击下载。其他版本也可,高云会更新版本。该网页中还有编程器等软件可下载。安装安装步骤非常简单,不赘述了。完成后桌面会自动生成一个图标。许可证双击图标,会弹出ERROR窗口。点击OK后,弹出以下窗口。点击申请License,进入网页,填写公司信息、个人信息,即可等待邮箱接收License许可证,获得1年的免

2021-10-18 14:58:05 7129 3

转载 python中for in的用法

转载:python中for in的用法 - hqqbug - 博客园for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等格式:for x in y: 循环体执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。例1:遍历字符串s = 'I love you more than i can say'for i in s: print(i)例2:遍历列表l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']for i

2021-03-17 10:12:08 18243

原创 python报错 list indices must be integers or slices, not tuple

报错程序import numpy as npb = [[2,3,4] [2,3,4]]c = [[1,2,3] [1,2,3]]B = [np.sum(np.abs(a - c)) for a in b]print(B)# 报错行:b = [[2,3,4]# TypeError: list indices must be integers or slices, not tuple# 列表索引必须是整数或片,而不是元组列表索引必须是整数或片,而不是元组下面是修

2021-03-17 10:09:59 21739

转载 python 调用其他文件的类和函数以及避坑指南

转载:python 一个.py文件如何调用另一个.py文件中的类和函数_STR_Liang的博客-CSDN博客 在同一个文件夹下调用函数:A.py文件:def add(x,y): print('和为:%d'%(x+y))B.py文件:import AA.add(1,2)调用类:A.py文件:class A: def __init__(self,xx,yy): self.x=xx self.y=yy def add(self):

2021-03-17 00:36:29 3309

转载 matlab画heatmap相关图

转载:MATLAB实例:求相关系数、绘制热图并找到强相关对 - 凯鲁嘎吉 - 博客园 https://www.cnblogs.com/kailugaji/p/11891943.html数据来源:UCI中的wine:https://archive.ics.uci.edu/ml/datasets/Wine计算相关系数并作图clearclcetea=0.8; %阈值% 加载数据data_load=dlmread('E:\scanplot\wine.data');data=data_load(:,2

2021-03-15 10:29:47 7845 6

原创 Matlab如何去掉单个坐标轴单位标注

去掉y轴数值标注set(gca,'ytick',[]);去掉x轴数值标注set(gca,'xtick',[]);

2021-03-09 00:05:03 2536

转载 小圆圈o表示的数学符号是复合映射或Hadamard积(矩阵元素一一对应相乘)

转载至百度知道:https://zhidao.baidu.com/question/584824526394169525.html图片中间那个圈代表什么运算符号?lwa1232011回答:中间的小圆圈称为映射的乘法,实际是指两个映射的复合映射。例如,L是从X到Y的映射,记为 y=L(x),M是从Y到Z的映射,记为 z=M(y),则 M。L 是从X到Z的映射,为z=M(L(x))....

2021-03-07 19:58:35 22665

转载 python-time 计算程序块运行时间

转载自作者:人生与戏出处:https://www.cnblogs.com/FlyingLiao/# 引入一个time模块, * 表示time模块的所有功能,# 作用: 可以统计程序运行的时间from time import *begin_time = time()i=0while i<100: print(i) i+=1end_time = time()run_time = end_time-begin_timeprint ('该循环程序运行时间:',run_t

2021-01-19 10:58:14 304

原创 关于嵌入式/C语言的一些软件基础面试问题

本文为关于嵌入式、C语言的部分面试问题,包括基本概念和简单笔试问题。适用于面试初级嵌入式工程师岗位参考。

2020-12-01 17:15:33 233 1

原创 Linux Ubuntu18.04系统 USB转串口驱动安装,查看串口号

When you plugin your USB-UART converter, and run “> ls /dev/tty*”, if you don’t see the /dev/ttyUSB0 (or similar), your Linux does not detect your USB-UART device.当插入USB设备后,在终端运行 ls /dev/tty* 时,若没有找到类似 /dev/ttyUSB0 的内容,说明Linux没有检测到设备。We need to insta

2020-09-12 22:12:20 12477 1

原创 ROS Medolic学习笔记

ROS学习链接:英文:ROS/Tutorials - ROS Wiki中文:cn/ROS/Tutorials - ROS WikiROS Wiki通常仅适用于ROS 1! 如果已安装ROS 2,请使用ROS 2文档网站。ROS 2 developer guide推荐书籍:《ROS机器人开发实践》胡春旭ROS探索总结 – 古月居 https://www.guyuehome.com/category/column/ros-exploringROS探索总结-3.ROS新手教程 - 创客智造 ht

2020-09-12 22:09:20 1968

原创 ROS 段错误、核心转储、rviz闪退问题解决

报错出现在许多地方,处理串口数据的rosrun时、在rviz显示点云时。rviz: /build/ogre-1.9-B6QkmW/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252:void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): 假设 ‘(min.x <= max.x && m

2020-09-12 21:50:28 5321

原创 ROS Melodic rviz工具包学习笔记

版本是melodic官网链接:rviz/UserGuide - ROS Wiki安装:sudo apt-get install ros-melodic-rviz

2020-09-12 21:36:20 3207

转载 [转]条件编译/条件宏定义

条件编译/条件宏定义_diyouhuo的专栏-CSDN博客 https://blog.csdn.net/diyouhuo/article/details/6481959#ifdef //若已定义了此宏,则留下#ifdef与#endif间的指令;否则删除之。#ifndef //若未定义过此宏,则留下#ifndef与#endif间的指令;否则删除之。#endif //定义#ifdef及#ifndef的范围。#undef //与#defined相反的动作—解除定义。#else //可构成#

2020-09-10 19:03:20 512

原创 ROS 永久设置source的方法

永久设置source的方法: 添加环境setup.bash到bashrc方法1:# 打开文件gedit ~/.bashrc# 手动修改!加上source ~/catkin_ws_txt/devel/setup.bash并保存# 使配置生效source ~/.bashrc在bashrc尾端加上source ~/catkin_ws_txt/devel/setup.bash,保存。再命令source ~/.bashrc使之生效。方法2:完成将source加入bashrc的过程,再生效即可。

2020-09-03 10:41:01 8634

原创 解决ROS报错(min.x <= max.x && min.y <= max.y && min.z <= max.z)

ROS - rviz报错:rviz: OgreAxisAlignedBox.h:252:void Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const Ogre::Vector3&): 假设(min.x <= max.x && min.y <= max.y && min.z <= max.z) && “The minimum corner of the

2020-08-31 11:41:09 2931 3

原创 ROS自定义功能包运行报错:package ‘XXX‘ not found

自定义了一个功能包txtread,修改了CMakeLists.txt和package.xml,catkin_make顺利,看到了终端显示traversing 7 packages in topological order中有txtread。roscore后,rosrun txtread txtread.py时,报错:$ rosrun txtread txtread.py[rospack] Error: package 'txtread' not found没找到功能包,用tab也确实看不到txtre

2020-08-28 11:12:22 3683

原创 Ubuntu20.04安装roboware后无法打开应用界面

安装过程:点击图标后,显示正在加载,但是过一会就没有了,后面就一点反应都没了。。换种打开方式,也是没有反应。user@user-virtual-machine:~$ roboware-studio有人遇到同样的问题吗?

2020-08-17 11:07:29 2613 27

原创 make: *** No rule to make target `clean‘. Stop.的解决

关于make: *** No rule to make target `clean’. Stop.的解决 - foundwant - 博客园 https://www.cnblogs.com/foundwant/archive/2013/07/12/3185492.html写出具体要clean的makefile文件名。如makefile.mk为需要clean的文件,则用make makefile clean,而非make clean命令...

2020-08-11 15:42:29 12792

转载 C语言中文开发手册- acosf, acoshl等都是C语言标准库函数!

C语言中文开发手册 https://www.php.cn/manual/view/34476.html

2020-08-06 15:15:13 546

转载 [转] 雷达相关概念及知识点

视场角、周期采集点数、有效检测距离等雷达相关专业词汇的解释视场角我们都知道激光雷达视场角分为水平视场角和垂直视场角,激光雷达的水平视场角为360°,垂直视场角一般为40°。水平视场角激光雷达的水平视场角很好理解,激光雷达在水平旋转,旋转一周就是360°。垂直视场角激光雷达的垂直视场角是40°,这里要注意2点,一是视场角的偏置,二是激光雷达光束的分布。视场角的偏置 - 视场角的偏置为5°,也就是说激光雷达在水平方向向上的扫描角度为15°,而在水.

2020-08-05 18:29:11 2703

C#入门工程,Helloworld,Helloworld-WinForm

C#入门工程,Helloworld,Helloworld-WinForm

2024-03-28

数码管驱动芯片MAX7219数据手册解读

帮助你理解MAX7219数据手册内容,有助于驱动8位LED数码管。

2023-03-01

空空如也

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

TA关注的人

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