自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (75)
  • 收藏
  • 关注

原创 Cortex-M7地址非对齐访问

本文只是做个记录,脑子不好容易忘记。Cortex-M7是支持地址非对齐访问的,但是使用时还是需要多注意细节之处的。。

2024-03-17 15:11:39 356

原创 EC11编码器编码使用

编码器电平发生变化时可能存在噪声,类似按键一样需要增加延时防抖,并且考虑到在系统中少加入延时死等这些不友善的代码,所以代码中有如上处理。stm32中定时器有自带Encoder的功能,所以可以借助定时器的这个特性来实现我们的需求。通过2个pin负责编码器的波形检测,顺时针与逆时针波形不同。直接撸代码,GPIO必须使用复用功能有定时器的pin。此两种方式已做测试,稳得一批,如果细节问题可沟通。— 2021.10.22-21:45于广东深圳。直接就上代码了,随意两个GPIO。IO外部上拉与无上拉。

2023-10-22 21:45:50 1044

原创 手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)- 2

此文主要是记录一下usb枚举时抓取的一些数据以及usb msc涉及的部分scsi协议。

2023-09-10 21:53:51 642 1

原创 手把手教你使用USB的CDC+MSC复合设备(基于stm32f407)

最近对usb有点兴趣,感觉挺好玩的,于是买了本圈圈大神的经典著作-,里面使用51单片机+usb芯片对usb的基本知识潺潺道来,做了十个左右的常用案例实验,很有趣,建议大家看看。趁热打铁,拿身边的开发板来练练手,探索一下复合设备的好玩方便的地方。

2023-08-13 10:13:40 5658 27

原创 ld文件中指定变量在flash中的地址定义

本文说的是在gcc环境中,Keil或IAR可能有自己的使用方法。我们在定义变量时,有时候需要把变量定义放到flash中的固定位置或区域,此时需要修改工程中的链接文件(link file,ld文件)。

2023-05-21 23:23:15 1200

原创 esp8266(MQTT固件)通过at指令连接阿里云平台

实验:esp8266 连接阿里云。准备工作:usb连接到电脑上之后,可以识别到串口,说明有固件。由于新买的模组,芯片内的固件可能并不是我们想要的,此时可自行官网下载固件及烧录。固件地址:https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB本人使用的固件:固件下载之后,需使用官方提供的烧录工具,地址:https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%

2023-03-11 15:39:18 5260 2

原创 ssh免密登录远程服务器

远程服务器个人账户下.ssh目录创建文件authorized_keys(如果没有的话需创建,目录一般是/home/xxx/.ssh),将id_rsa.pub里的内容拷贝至authorized_keys文件中。user是远程服务器的账户名,server是服务器ip,此命令会在文件(authorized_keys)的基础上进行叠加,不会覆盖。个人账户下ssh的公钥内容需要保存至远程服务器,公钥生成方式如上。C:/Users/用户名/.ssh。以后就可以直接免输入密码来登录。此命令,一路向西即可生成。

2023-02-26 22:43:46 132

原创 MarkDown基本语法学习

【代码】MarkDown基本语法学习。

2023-01-11 22:37:46 171

原创 关于嵌入式函数入口参数的了解

1、cpu执行代码时,一般用到内部的通用寄存器是R0、R1、R2、R3;2、当函数的入口参数不超过4个时,则会使用上述4个通用寄存器来保存当前参数;否则,会将多余的参数压入栈中进行保存;注意:此处4个参数,指每个参数占用的字节数不超过4个,若参数占用的空间大于4个字节,如结构体或者double类型数据,则会使用多个通用寄存器来保存;3、最后,也就是一条建议,由于CPU内部运行是快于栈操作的,所以减少多余的入口参数,可以有效地加快程序运行的速度。

2022-10-23 14:05:01 583

原创 嵌入式函数调用入栈与出栈

简单的例程,几个函数调用,来查看寄存器状态,主要是学习一下cortem-M核中LR寄存器的理解:例程源码:通过单步调试来查看各个寄存器状态:进入调试界面记录当前进入main函数所要做的动作和记录的状态1、因main()函数中还有子函数,所以需将r4-lr寄存器压入栈中,对应的汇编:2、记住当前main函数中return 0处的代码地址:0x08000180在进入fun1()函数后,会将返回地址的指针加1保存到LR寄存器中,即0x08000181,请记住这个值。进入fun1()1、查看当前

2022-10-22 16:59:24 1083

原创 vscode+jlink+GDBServer在线调试

上述步骤即可实现vscode+jlink+GDBServer的在线调试功能,当然也存在一些问题,目前还未找到原因,如每次进入调试都需重新启动GDB Server,然后再使用vscode进入调试模式,否则可能会进入调试失败。图中所示:J-Link已连接,GDB Server Listening port: 2331,TCP端口是2331处于监听状态,等待GDB的TCP连接。至此,GDB Server已打开,tcp端口2331处于监听状态,下一步是要通过GDB进行连接GDB Server。

2022-10-16 15:14:41 5443 2

原创 ssh免密登录

远程服务器个人账户下.ssh目录创建文件authorized_keys(如果没有的话需创建,目录一般是/home/xxx/.ssh),将id_rsa.pub里的内容拷贝至authorized_keys文件中。注:user是远程服务器自己的账户,server是服务器ip,此命令会在文件(authorized_keys)的基础上进行叠加,不会覆盖。个人账户下ssh的公钥内容需要保存至远程服务器,一般是C:\Users\xxx.ssh\id_rsa.pub。

2022-09-20 22:55:36 298

原创 QT添加repository

资源网站,添加临时repository即可。

2022-09-12 15:57:22 371

原创 qt 中文显示乱码

【代码】qt 中文显示乱码。

2022-09-12 15:23:06 725

原创 ucos iii 任务栈使用率统计方法

p_free和p_used的和就是创建任务时设置的任务栈总大小。标志,则任务在创建时会开启统计功能。

2022-08-24 23:24:16 260

原创 c/c++单个文件或函数优化级别设置

【代码】c/c++单个文件或函数优化级别设置。

2022-08-23 21:48:53 480

原创 单片机中uid的使用方法

在链接文件xxx.ld文件中定义我们要存放的uid校验码在flash中的区域rom(rx)0x4000;0x4000;.text{定义32位校验码。

2022-07-17 11:42:16 1183

原创 巴特沃斯滤波器使用-butter

matlab的函数butter()低通滤波使用方法。   N 代表滤波器阶数   Wn为:低通就是截止频率,带通就是[w1,w2]低通 Wn的计算方法:例:设计1阶低通2Hz滤波器,采样频率为250Hz。则则则输出为:根据z变换公式:数字滤波器传递函数为:......

2022-07-07 23:51:48 1858

原创 模拟I2C

I2C具体内容参考资料https://blog.csdn.net/sternlycore/article/details/85600668https://blog.csdn.net/qq_43460068/article/details/122409361以下是在Atmel 300MHz下调试处的400KHz模拟I2C,延时函数需要根据实际内核进行设置#define I2C_SDA_OUTPUT_DIR(pin) ioport_set_pin_dir(pin, IOPORT_DIR_OUTP

2022-04-29 00:06:50 501

原创 内存管理学习

简单的内存分配算法学习系统中一块剩余不用的大块连续内存。当需要分配内存块时,将从这个大的内存块上分割出相匹配的内存块,每个内存块都包含一个管理用的数据头,通过这个头把使用块与空闲块用双向链表的方式链接起来,如图:mem_head是free链表的头,整个内存块从mem_x开始,每个内存块包含一个头,内容:1、magic  魔术字,用于标记这个内存块是一个内存管理用的内存数据块;魔术字不仅仅用于标识这个数据块是一个内存管理用的内存数据块,实质也是一个内存保护字:如果这个区域被改写,那么也就意味着这块内存

2022-03-30 22:36:02 578

原创 docker与virtualbox切换使用

参考https://www.codeleading.com/article/52601089932/

2022-01-13 18:11:53 516

原创 cmake例程学习

代码结构代码外层CMakeLists.txtcmake_minimum_required(VERSION 3.5)project(test)option(FANGFA1 "fangfa 1" ON)if (FANGFA1 STREQUAL "ON") # 方法1 add_library(MyMath INTERFACE) add_subdirectory(math) message("方法1")else() # 方法2 add_subdi

2021-11-17 23:27:18 392

原创 ubuntu 20在虚拟机桥接模式下设置固定ip

设置配置文件,不同系统文件名可能不同:/etc/netplan/01-network-manager-all.yaml修改文件内容,自己修改对应ip地址和网关:# Let NetworkManager manage all devices on this system#network:network: ethernets: enp0s3: dhcp4: false addresses: [192.168.0.105/24] gateway4: 192

2021-11-10 23:27:29 2459

原创 vscode 配置代码格式化工具calng-format,windows/linux都支持

1、安装clang-format工具linux (ubuntu)sudo apt-get install clang-formatwindows下载clang-format.exe,并将此文件路径加入环境变量下载地址或从官网:https://download.csdn.net/download/niu_88/149463102、vscode安装插件从插件扩展中安装clang-format,不然,vscode无法识别calng-format3、格式化文件创建 .clang-forma

2021-10-23 12:01:09 1766

原创 Ubuntu搭建TFTP服务器

1、需要安装 tftp-hpa 和 tftpd-hpasudo apt-get install tftp-hpa tftpd-hpasudo apt-get install xinetd2、创建TFTP服务器文件目录mkdir /home/nhf/work/tftp可以把文件放入该目录进行文件传输3、配置 tftp新建文件/etc/xinetd.d/tftp,并添加内容server tftp{ socket_type = dgram protocol = udp wait =

2021-10-22 23:16:32 465

原创 Nuttx实时操作系统 SAMV71-Xplained开发板适配

官网参考:https://nuttx.apache.org/docs/latest/quickstart/compiling.html1、board配置nhf@nhf-VirtualBox:~/work/learn/nuttx/NUTTX/nuttx$ ./tools/configure.sh -L | grep samv71 samv71-xult:nsh samv71-xult:netnsh samv71-xult:vnc samv71-xult:module samv71-x

2021-10-14 01:07:10 389

原创 linux下JLink使用脚本一个命令烧录程序

#!/bin/bash#--------------------------------------------------# program binfile, usage: ./program firmware.bin# chip:Atmel# start addr:0x00400000#--------------------------------------------------cmdfile="./tmp.jlink"start_addr=400000end_addr=401

2021-10-02 21:43:22 749

原创 argparse学习

argparse,输入参数,命令行交互import argparseif __name__ == '__main__': parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--baud", "-b", dest="BAUDATE", type=int, default=115200, help="help - dest是实际使用的参数名,可选参数") parser.add_arg

2021-07-31 12:00:54 294

原创 VirtualBox开机后黑屏

1、用管理员权限运行CMD2、执行 netsh winsock reset3、重启电脑

2021-07-02 22:36:34 3109 1

原创 shell获取进程ID

shell脚本中查看某进程ID比如,查看进程niugge的PIDpid=$(ps -ef | grep niugge | grep -v grep | awk 'NR==1 {print $2}')grep niugge, 过滤出niugge所在行grep -v grep, 过滤掉grep所在行NR==1,代表第一行print $2, 返回第二列的值,即PID所在列最后,返回的值保存到pid中,可以使用此值进程操作。...

2021-06-01 14:56:21 3743

原创 docker容器不支持中文

docker容器不支持中文输入进入容器时在命令中添加:env LANG=C.UTF-8如下:docker exec -it container_name env LANG=C.UTF-8 /bin/bash

2021-05-18 22:03:32 785

原创 docker报错

1、Hardware assisted virtualization and data execution protection must be enabled in the BIOShttps://blog.csdn.net/mythest/article/details/92999646

2021-05-17 22:53:51 83

原创 wsl由2切到1之后,virtualbox无法启动ubuntu的问题

终端输入以下指令:bcdedit /set hypervisorlaunchtype off重启。启动virtualBox,启动linux,然后报出以下错误:此时,设置virtualBox的以下操作:此时,就可以启动linux了。

2021-05-13 22:59:11 345

原创 linux tab命令无法补全

安装sudo apt-get install bash-completion文件刷新source /usr/share/bash-completion/bash_completion

2021-05-12 22:56:39 313

原创 windows 创建链接目录

将本应该安装到C盘的东西安装到D盘中,避免C盘臃肿庞大。mklink /j "C:\Program Files\xxx" "D:\Program Files\xxx"在此之前要先创建"D:\Program Files\xxx"目录,这样,安装到C盘的东西会自动安装到D盘中,而C盘只是链接文件。...

2021-05-12 22:51:20 387

原创 linux解压zip文件显示乱码

unzip -O cp936 xxx.zip

2021-02-04 22:51:37 123

原创 代码格式化

代码格式化进行统一管理方法1、VS code 使用.clang-format方法2、代码commit之前进行格式化需要工具clang-formatubuntu下安装 sudo apt-get install clang-formatwindows下下载clang-format.exe,并添加至环境变量.clang-format(如下内容)放到项目根目录:---Language: Cpp# BasedOnStyle: LLVMAccessModifierOffset: -

2021-01-27 23:42:54 1372

原创 make编译MCU(nxp1064)基于CMakeLists.txt

针对MCU,编写CMakeLists.txt,使用make编译。根目录创建CMakeLists.txt,编写内容:cmake_minimum_required(VERSION 3.10)project(led)enable_language(ASM)set(CMAKE_C_COMPILER arm-none-eabi-gcc)set(CMAKE_OBJCOPY arm-none-eabi-objcopy)set(CMAKE_SIZE arm-none-eabi-size)add_de

2020-12-31 23:59:31 827

原创 双系统ubuntu18自动挂载windows磁盘(找不到windows磁盘的UUID)

  针对戴尔的XPS,当使用ubuntu挂载windows的磁盘时,通过命令sudo blkid查询如下:nhf@nhf-XPS-15-9500:~$ sudo blkid[sudo] nhf 的密码: /dev/loop0: TYPE="squashfs"/dev/loop1: TYPE="squashfs"/dev/loop2: TYPE="squashfs"/dev/loop3: TYPE="squashfs"/dev/loop4: TYPE="squashfs"/dev/loop5:

2020-12-30 19:57:18 855 1

原创 ubuntu 18 火狐浏览器播放器播放视频显示flash版本低

终端指令:sudo apt-get install flashplugin-nonfree安装完重启即可。

2020-10-24 16:01:26 415

高度控制,滑模变结构控制方法及simulink仿真

高度控制,滑模控制器公式推导,设计控制律,并在simulink上搭建模型仿真,可查看结果。附带simulink仿真程序和公式推导过程。

2020-02-26

滑模变结构控制的几种切换函数及simulink仿真

阐述了几种滑模控制中需要使用的切换函数,并且在simulink中搭建环境进行仿真,可以通过调节参数来进行切换函数的对比和选择。

2020-02-25

非线性、参数自适应控制及simulink仿真

非线性对象,参数未知,需对参数实时估计,设计非线性控制器,并在simulink上仿真。控制器公式设计及推导过程都包含其中。

2020-02-23

RLS在线辨识参数.zip

RLS递归最小二乘,在线辨识参数,包括相关文档和代码,适合新手学习,代码可直接在matlab上运行。

2020-01-13

地球磁偏角,磁倾角,磁场强度,完整c代码

地球磁偏角,地球磁倾角,地球磁场强度,根据当前经纬度通过查表和插值法获取,完成c代码,px4源码,在下只是搬砖一枚。

2019-12-22

陷波滤波器matlab代码

陷波滤波器,通过原始信号和噪声信号的叠加,设计陷波滤波器,将噪声信号滤除,并通过fft查看和分析其结果

2019-12-15

Lowpassfilter_Buterworth.m

巴特沃斯低通滤波器的两种等价的公式表达形式,matlab代码实现,并进行FFT查看和分析滤波器的功能和作用

2019-12-15

stm32h743 ECC.pdf

This document describes the error correction code (ECC) management and implementation on STM32H7 Series. This application note describes both hardware and software aspects linked to the ECC mechanism used to protect content of internal memories. ECC protection with external memories is possible but its implementation is out of the scope of this document.

2019-10-26

SD 2.0 协议标准完整版---中文版

Sd 存储卡,是为了满足安全、容量、性能、和环境需求的新型音视频电子存储卡。 Sd 卡包含一个内容保护机制,符合 SDMI 标准,并且有更快的速度和更高的容量。

2019-10-16

控制理论lesson5§1.3由传递函数求状态空间表达式.ppt

控制理论中的传递函数与空间方程的关系转换,有零点和无零点等几种情况的分解。

2019-09-22

传递函数与状态空间的转换

关于传递函数与状态空间的simulink仿真,有连续和离散化之后的模型。

2019-09-22

c++链表的反转

c++链表的反转,创建链表,插入链表,链表反转,可下载直接运行。

2019-09-04

c语言冒泡排序

c语言冒泡排序法,简单易懂,实例可直接在VS上运行 。

2019-09-04

c++模板、链表的简单使用

c++,类、模板、链表的简单使用,包括入链表、出链表等等

2019-09-04

GPS经纬度转换为平面坐标的c代码,包含具体推导公式

参考https://blog.csdn.net/niu_88/article/details/97690318,

2019-07-29

GPS经纬度坐标转平面坐标的简化计算方法及精度分析-肖体琼.pdf

GPS的经纬度经过推导和计算转换为平面坐标,包含公式详细推导过程。

2019-07-29

安富莱_STM32-V7开发板_用户手册,含BSP驱动包设计(V1.7).pdf

安富莱_STM32-V7开发板_用户手册,含BSP驱动包设计,手册详细。

2019-07-13

MPU6500.zipMPU6500官方手册

MPU6500官方手册,对加速度计和陀螺仪的所有寄存器进行详细描述,资料齐全。

2019-06-02

IST8310.zipIST8310官方手册

IST8310官方手册,对加速度计和陀螺仪的所有寄存器进行详细描述,资料齐全。

2019-06-02

ICM20602.zipIMU官方手册

IMU官方手册,对加速度计和陀螺仪的所有寄存器进行详细描述,资料齐全。

2019-06-02

windows终端添加右键方法

1、替换文件里在自己电脑上的路径,包括图标和app路径 2、双击执行即可

2023-05-14

SecureCRT8.7,包含注册机

SecureCRT8.7,包含注册机

2023-03-16

mqttfx-1.7.1

mqttfx-1.7版本,官网已不能下载,现提供可使用版本,方便后续学习使用

2022-07-10

usb 2.0 specification

官网参考手册,650页

2022-05-13

cmke与ctest、gtest绑定使用

学习ctest、gtest、cmake

2021-11-27

gtest_cmake工程.zip

gtest学习

2021-11-27

gtest、gmock、mockcpp及使用方法.zip

内部有源码及使用方法

2021-11-27

cmake例程简单学习

cmake例程简单学习

2021-11-17

lcov测试代码覆盖率例程

lcov测试代码覆盖率例程

2021-11-17

uboot_freescale_2020_ver在正点原子开发板imu6ull的uboot移植代码

uboot_freescale_2020_ver在正点原子开发板imu6ull的uboot移植代码

2021-10-28

NUTTX.zip,适用于SAMV71-Xplained开发板

内部包括nuttx和app,适用于SAMV71-Xplained开发板,直接编译make,然后可烧录到开发板上即可,使用usart1作为调试口

2021-10-25

linux下Jlink烧录Atmel的程序shell脚本

linux下Jlink烧录Atmel的程序shell脚本

2021-10-16

linux下jlink烧录脚本文件

linux下jlink烧录脚本文件

2021-10-02

template.zip

python模板,调用jinja包使用方法

2021-03-14

clang-format.exe

代码格式化工具

2021-01-27

针对MCU,编写CMakeLists.txt,使用make编译

针对MCU,编写CMakeLists.txt,使用make编译,可直接在linux进行编译

2021-01-01

flightplot.jar

px4日志分析工具,windows直接打开使用,需要安装java开发环境

2020-12-31

kconfig-frontends-4.11.0.1.tar.bz2

px4 make menuconfig工具;三步骤:1)./configure 2) make 3) sudo make install

2020-10-24

Atmel SAMV71 MDK pack包

Atmel SAMV71在MDK环境下的pack包,直接双击安装即可,有时候在官网上下载比较慢,这里直接可以使用。

2020-04-09

USB转串口驱动,各种型号

各种各样的USB转串口驱动,win10,win7等系统,PL2303、HL340、CH341等型号,拿走,不谢

2020-03-04

空空如也

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

TA关注的人

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