- 博客(43)
- 资源 (39)
- 收藏
- 关注
原创 nrf528xx的p09,p10 配置为 普通的gpio口
对于Nordic SDK的程序架构来说,引脚的NFC功能和Reset功能主要是在system_nrf528xx.c,跳转进main函数前执行SystemInit进行初始化的。代码如下void SystemInit(void){ ...... /* Configure NFCT pins as GPIOs if NFCT is not to be used in your code. If CONFIG_NFCT_PINS_AS_GPIOS is not defined, t
2021-07-03 21:05:17 450
原创 SPI通信协议(SPI总线)解析
1、什么是SPI?SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。2、SPI优点支持全双工通信通信简单数据传输速率块3、缺点没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。4、特点1):高速、同步、全双工、非差分、总线式2):主从机通信模式5、协议通信时序详解1):SPI的通信原理很简..
2021-01-05 16:40:47 1366
原创 矩阵乘法
矩阵是什么?是一个数字阵列,一个二维数组,n行r列的阵列称为n*r矩阵。如果n==r则称为方阵。2×3矩阵5×5方阵特殊的单位矩阵,除了对角线为1,其他位置为0的矩阵。类似乘法中的1.3×3单位矩阵I=矩阵乘法矩阵乘法中第一个矩阵的列要等于第二个矩阵的行一个m∗n的的A矩阵,和一个n∗p的B矩阵相乘,将得到一个m∗p的矩阵C来水道炒鸡简单的习题——矩阵 A×B(信息学奥赛一本通 1641)【题目描述】矩阵A规模为n×m,矩...
2020-12-24 11:36:01 1153
原创 相机成相之像距、物距、焦距
物距---被拍摄物体到凸透镜的距离。 像距---成像平面到凸透镜的距离。 焦点---通过凸透镜的、平行主光轴的光线,在主光轴上的会聚点。 焦距---凸透镜中心到焦点的距离。 焦距固定的是定焦镜头,焦距可以调节的是变焦镜头。 焦距、物距、像距最基本的关系可以用高斯成像公式表示:因此,当物距为无穷远时,像距等于焦距,成像在焦平面上。 当物距在无穷远和两倍焦距之间时,像距在焦距和两倍焦距之间,成倒立缩小的实像(照相机)。 当物距等于两倍焦距时,像距等于物距,成像为与物体倒立等大的实像...
2020-11-14 18:34:10 38641 3
原创 信号完整性之“过冲”(振铃)深度分析,以及信号间干扰优化
信号在传输的过程中,往往不是标准的矩形波信号,尤其在高速信号中,保证信号的完整性是十分重要的,影响信号完整性最主要的因素之一,就是阻抗不匹配,通常表现在传输线上,而阻抗不匹配直接导致信号的反射,反射信号与原始信号叠加,就会产生过冲、回沟、台阶等信号完整性问题。本文将主要对因传输线阻抗不匹配导致信号产生过冲(上冲overshoot、下冲undershoot)进行深度分析,并提出部分可行的解决方案。一、过冲的定义过冲是振铃的一部分,信号电平发生跳变后,第一个峰值电压或谷值电压超过设定的标准电压,主要表现
2020-11-14 16:09:31 1973 3
原创 还不懂PID控制?精华都在这了!
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(PI、PD、…)。01 PID是闭环控制算法因此要实现PID算法,必须在硬件上具有闭环控制,..
2020-08-05 11:09:56 4824
原创 pthread_cond_timedwait&&pthread_cond_wait&&sigwait()
由于工作上的事情,要用到线程之间的同步,而且有超时处理,在网上看到了使用pthread_cond_timedwait()函数和pthread_cond_wait()函数,其实2个函数都差不多,我主要是要用pthread_cond_timedwait()函数。代替不可控的sleep函数。pthread_cond_timedwait()函数有三个入口参数:(1)pthread_cond_t __cond:条件变量(触发条件)(2)pthread_mutex_t __mutex: 互斥锁(3)st
2020-07-04 11:42:25 760
原创 Linux C获取系统开机的运行时间(秒数)
1、前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同。linux内核里面用一个名为jiffes的常量来计算时间戳。应用层有time、getdaytime等函数。今天需要在应用程序获取系统的启动时间,百度了一下,通过sysinfo中的uptime可以计算出系统的启动时间。2、sysinfo结构sysinfo结构保持了系统启动后的信息,主要包括启动到现在的时间,可用内存空间、共享内存空间、进程的数目等。man sysinfo得到结果如下所示: st...
2020-07-01 16:20:19 7204
原创 tftp error:cannot bind to local IPv4 socket: Address Failed to start LSB: HPA's tftp
1.安装#$ sudo apt install tftp-hpa tftpd-hpa openbsd-inetd## 后来发现其实tftpd会开机自起,所以没必要下载openbsd-inetd$ sudo apt install tftp-hpa tftpd-hpa## 这样就可以了。tftp是客户端,用于测试下载;tftpd是服务器;openbsd-inetd是tftp的自动...
2020-04-20 10:39:24 2515
原创 Linux C已知进程名字得到其PID号
最近需要实现一个功能,即在一个Linux C程序中,已知其他进程的名字,需要获得该进程的PID,经过一番上网搜索,找到两种可行的方法:1.通过popen创建一个管道,执行shell命令并得到返回结果2.通过搜索/proc文件夹下的文件内容,得到进程PID(顺带演示一下Linux C中如何读取一个文件夹中的内容)为了方便进行测试,首先随便写了一段代码如下:#include<s...
2020-04-13 17:02:56 1761
原创 搞定 libstdc++.so.6: version `GLIBCXX_3.4.22' not found
首先先查看/usr/lib/aarch64-linux-gnu/libstdc++.so.6这个库的信息strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep GLIBCXX如果找不着可以使用sudo find / -name "libstdc++.so.6*"找找到有GLIBCXX_3.4.21的库,ll查看它...
2020-04-01 11:04:06 2471
原创 Linux下目录的合并以及文件的覆盖
有两个目录test和new,test目录下有目录和文件,new目录下有更改过的一些test下的目录和文件,以及一些新增的文件,现在对两个目录进行合并以及覆盖test下的旧文件Linux下目录的合并以及文件的覆盖案例:cp -frap new/* test/命令其实非常简单,解释下:-f 强制覆盖,不询问yes/no(-i的默认的,即默认为交互模式,询问是否覆盖)-r 递归复制,...
2020-03-23 16:53:42 2150
原创 rockchip蓝牙加载固件和启动
第一步、断电echo 0 > /sys/class/rfkill/rfkill0/state第二步、上电echo 1 > /sys/class/rfkill/rfkill0/state第三步、加载固件brcm_patchram_plus1 -d --enable_hci --no2bytes --use_baudrate_for_download --to...
2020-03-23 16:49:46 1367 1
原创 Linux报错:Syntax error: "(" unexpected解决办法
兼容性问题,因为linux将sh默认指向了dash,而不是bash解决:在root下面执行 dpkg-reconfigure dash,选择nomynt@ubuntu:~/package$ suPassword:root@ubuntu:/# dpkg-reconfigure dash...
2020-03-06 15:36:09 4543 1
原创 ubuntu16.04最小根文件系统制作及集成安装ros-kinetic-ros-base及遇到的各种坑
创建 Ubuntu 根文件系统准备工作安装qemu在Linux PC主机上安装模拟器:sudo apt-get install qemu-user-static下载和解压 ubuntu-coreFirefly-rk3399 ubuntu根文件系统是基于Ubuntu base 16.04来创建的。用户可以到ubuntu cdimg 下载,选择下载ubuntu-base-1...
2020-02-20 13:27:54 1845
原创 在Source Insight中看Python代码
下载个SI的CLF文件,地址为https://download.csdn.net/download/u012572552/12051011。 打开SI。选项 | 参数选择 | 语言,点击“导入”,选择刚刚下载的Python.CLF文件,“确定”。然后就会发现有了Python语言。 选项 | 文档选项,点击“添加类型”,输入“Python源文件”,“确定”。 在文件过滤器中,输入*...
2019-12-25 14:51:34 623
转载 zynq freeRTOS初始化中断导致freertos挂掉
问题描述: zynq7000 上 PS standalone裸跑,PS timer计时器中断,PL-->PS中断均工作正常,将代码移植到freertos工程时,中断不执行,task运行正常。解决: Xilinx FreeRTOS (9.0.1) BSP, 中有一个文件: portZynq7000.c. 定义了一个全局的中断控制器 interrupt controller:XScuGic ...
2019-11-05 17:19:16 1221
原创 为什么外部中断会频繁进入中断,但中断信号正常
我用stm32外接了一个imu模组,imu每产生一个数据就会通过int管脚给32一个外部中断信号(200hz),但测试发现stm32会不断地进入中断函数,一秒钟进入上万次的那种,后来才发现原来是电平不匹配导致的,stm32电压3.3V,imu模组1.8V,中断输出电压1.8V。我设置的stm32接收中断的io是推挽输出,没有上拉,imu中断信号为推挽输出,低电平有效,从而导致中断电平只能到1....
2019-10-16 11:12:04 4103
原创 int、short、long、long long、unsigned、unsigned short、unsigned long、unsigned long long 长度大小及跨平台相关
首先由于数据的长度和平台相关,所以基于 64 位系统比较。 Windows Linux unsigned int 32 bits/4294967295 32 bits unsigned long 32 bits 64 bits/18446744073709551615 unsigned long long 64 bits 64 bi...
2019-09-05 17:36:07 5733
原创 MYNTEYE-SDK-ROS-Kinetic-VINS-Mono环境搭建到运行(Ubuntu 16.04)非常详细
一、首先安装ROS环境1.确保系统软件处于最新版:$ sudo apt-get update2.打开终端,输入命令wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_install.sh && \chmod 755 ./ros_install.sh && b...
2019-08-22 14:32:37 1242
原创 编译时提示 cannot find -lvtkproj4解决办法
首先要下载pcl-pcl-1.7.2.tar.gz这个文件,官网速度崩溃,所以用这个下载链接:https://download.csdn.net/download/u012572552/11579381,下载完后步骤如下:tar xvfj pcl-pcl-1.7.2.tar.gzcd pcl-pcl-1.7.2 && mkdir build && cd bu...
2019-08-19 15:01:21 866
原创 sourcetree如何取消跟踪部分文件
1.在用sourcetree进行项目跟踪的时候,由于sourcetree是以文件夹形式跟踪文件夹下所有的文件,不可避免有些不需要的文件也会被跟踪进来,乱七八糟的。2.此时打开sourcetree的设置,点开高级,点开编辑,添加需要过滤的文件规则,配置语法: 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符 以方括号“[...
2019-08-06 15:14:58 8123
原创 STM32芯片移植(IAR)及printf重定向等注意事项
1,修改晶振2,修改设备型号3,修改设备所属高低档的宏4,切换启动文件5,重定向printf函数给uart.c文件中增加如下函数://重定向c库函数printf到USART1int fputc(int ch, FILE *f){/* 发送一个字节数据到USART1 */ USART_SendData(USART1, (uint8_t) ch);...
2019-07-04 19:05:54 1091
原创 STM32的优先级NVIC_PriorityGroupConfig的理解及其使用
我们先来看ST公司的一张图:我自己依据此图理解,应用思维导图画了一张方便理解:(如果看不清可通过ctrl+鼠标滑轮 放大看;前提条件1:没有组别优先顺序(只能设置为组别的一种 即五选一,以最后一次设置组别为准):前提条件2:“抢”占优先级别>“副”优先级别前提条件3:不同的抢占级别之间,抢占级别高的正在做事,低的抢占级别不能打断他;(即”同一抢占优先级下的中断源间,...
2019-06-26 15:01:19 284
原创 一阶拟合算法C(六轴)
imu温飘曲线拟合算法经常用到一阶拟合,原始数据包含温度和加速度陀螺仪xyz轴数据,imu原始数据属于大量数据,需要采集大量数据样本(轴数据和温度),用到的基本函数:求平均:double get_mean(vector<double>::const_iterator it1, vector<double>::const_iterator it2){ do...
2019-04-22 18:33:28 1232
原创 用Excel拟合imu温度趋势线
原始数据如下图,A:温度 B:ACC_X C:ACC_Y D:ACC_Z选中AB列然后出现如图点击散点,右键选择添加趋势线ok就可以拟合出线性公式
2019-01-30 19:02:22 592
原创 Linux多线程开发
1.进程与线程的区别2.线程的创建函数原型:int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void* (*start_routine)(void *), void *arg))功能:创建一个线程。返回值:成功创建返回值为0,错误返回错误号。注意:由于创建线程函数是一个库函数,不是系统调用函数...
2019-01-30 18:39:47 505
转载 傅里叶分析之看不懂就掐死我吧(完整版)
要让读者在不看任何数学公式的情况下理解傅里叶分析。原文地址:(https://zhuanlan.zhihu.com/p/19763358)Heinrich4 年前 作 者:韩 昊知 乎:Heinrich微 博:@花生油工人知乎专栏:与时间无关的故事谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。转载的同学请保留上面这句话,谢谢。如果还能保留文章...
2018-12-13 16:56:32 3622
原创 配置udev更改USB HID设备的权限,无需sudo也能打开
我有USB设备,USB HID。目前,当插入时,权限仅允许超级用户访问它。如何配置udev让任何人访问此设备?我有供应商和产品ID,但我想基于HID类型匹配它。通常,这是通过添加到/etc/udev/rules.d可能以这样99-hid.rules的内容命名的文件来完成的:SUBSYSTEM=="usb", ATTR{idVendor}=="HEX1", ATTR{idProduct}=...
2018-12-11 15:37:32 2273
原创 CPU关闭总中断过程中中断会丢失吗
在开发过程中,一直因为犹豫开关中断是否会导致期间中断的丢失,这种应用场景通常在怕中断导致出现不必要异常,比如用在互斥锁等场景,终于有幸知道了答案,详见下图原文请见:https://download.csdn.net/download/u012572552/10817579中断并不会丢失仅仅是被暂停了,有机会还是会进入中断。 ...
2018-11-29 19:16:04 3320
原创 GPS数据协议NMEA-0183附解析代码
NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、$GPRMC解析代码下载:https://download.csdn.net/download/u012572552...
2018-11-28 17:29:50 6364
原创 STM32串口IAP操作说明
对于大多数基于 Flash 的系统而言,在最终产品中安装之后,能够对固件进行更新,这一点非常重要。这一功能被称为在应用中编程 (IAP in-applicationprogramming)。 通过微处理器内置 Flash 的 IAP(可以认为是boot代码),STM32F4xx 微控制器能够运行用户指定固件。借助这一特性,在重新编程过程中可以使用任意类型的通信协议。下面的例子是利用串口下...
2018-11-27 17:49:46 1085
原创 利用MDK或者IAR生成可执行bin文件的方法
IAR可以直接生产可执行bin文件,在这里设置下即可。针对我们的开发板配套程序,生成的bin文件在位置:.......\Project\EWARMv6\Flash\Exe MDK不支持直接生成,需要在如下位置做设置:fromelf.exe --bin -o ./Flash/Obj/output.bin ./Flash/Obj/output.axf针对我们的开发板配套程序,生成的bin文件在...
2018-11-27 17:44:14 1236
原创 bin文件合并工具(UBIN)使用方法
bin文件合并工具下载地址:https://download.csdn.net/download/u012572552/10811074在单片机的开发过程中,经常需要将两个单独的bin文件合并成一个文件,方便烧写和生产。超好用的一个工具,可以实现两个二进制bin文件的合并,任一指定偏移量合并。使用它可以直接将编译好的两个bin文件按照程序员需要合并,而不需费力去重建工程重新编译。有兴趣的朋...
2018-11-27 17:26:22 6479 2
原创 如何解决Linux 报空间不足错误的问题办法
在使用linux过程中,经常出现报home目录下没有空间的问题,从而导致无法正常使用linux,解决办法如下:1、进入用户所在目录下du -h --max-depth=1 寻找当前目录,哪个文件夹占用空间最大2、找到哪个文件占用最多,我的经常是./cache文件占用空间最大,多达几十G3、干掉他sudo rm -r ./cache完美,好了,可以正常使用了...
2018-09-27 16:04:56 2907
原创 stm32usb库bug及解决办法
本人项目开发stm32usb设备的时候,发现usb发送会经常性的阻塞main函数,或者说无法让程序流畅的运行,实时性大打折扣,甚至会卡几十毫秒都很正常,我不明白st为什么会写出这样的usb程序,实属脑残,经过几经周折找到了解决办法:usb_dcusb_dcd_int.c文件中,函数DCD_WriteEmptyTxFifo有个bug,会导致经常死循环,导致usb库耗时过长。应该如下修改,在原始...
2018-08-18 12:49:16 4222 4
MYNTEYE S1040 S1030最新版固件(解决固件升级后无法出图的问题)
2022-03-31
AE-QVGA-3005 GC6153 CSP DataSheet release V1.0.pdf
2021-01-13
python_SI.zip
2019-12-25
USBlyzerusb分析.zip
2019-08-12
usbuvccameraPriview.apk
2019-03-01
GPS NMEA-0183数据解析代码
2018-11-28
hypertrm超级终端Win7
2018-11-27
bin文件合并工具
2018-11-27
UVC图像获取及Extension unit数据获取
2018-09-27
hidapi上位机源码支持linux,macos,windows平台
2018-08-18
手把手教你移植DMP
2018-07-25
STM32F103_FREERTOS_MPU6050DMP_USART_Timer输入捕获_ks103测距等功能集成功能强大
2018-07-25
Bus HoundV6.0.1破解带SN码
2018-07-13
DfuSe_Demo_V3.0.4_Setup
2018-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人