自定义博客皮肤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)
  • 资源 (4)
  • 收藏
  • 关注

原创 通过网络套接字、io、socket、fd获取对方 ip 和port

getsockname和getpeername函数getsockname函数用于获取与某个套接字关联的本地协议地址getpeername函数用于获取与某个套接字关联的外地协议地址getsockname:getpeername:使用这两个函数,我们可以通过套接字描述符来获取自己的IP地址和连接对端的IP地址;如在未调用bind函数的TCP客户端程序上,可以通过调用getsockname()函数获取由内核赋予该连接的本地IP地址和本地端口号;还可以在TCP的服务器端accep.

2022-01-20 09:28:09 3390

转载 tcp重组原理

1 .引言TCP/IP 协议现在已经广泛的被应用。数据在网络上应用 TCP/IP 协议进行传输的时候,需要将数据分成多个数据包。目前在网络安全领域都将用到 TCP 会话的重组问题。只有将数据包重组以后,才能还原一次完整的 TCP 会话。由于网络问题,数据包可能会经过不同的路由传输到目的地,并且到达目的地的数据包可能顺序会发生改变。在传输过程中,协 议对数据的传输进行控制,对在传输过程中丢失的数据包协议将控制系统将丢失的数据包重 新传送。这些都是 TCP 会话在重组的时候将遇到的问题。本文经过对 TCP/

2022-01-19 13:10:53 2745 1

原创 C语言编译流程

1.预编译 -E处理部分宏定义,生成.i文件2.编译 -S将c语言编译成汇编语言文件,生成.s文件3.汇编 -C将汇编语言文件生成机械二进制文件,生成.o文件4.链接 -o(去链接其他文件)将所有.o文件链接在一起形成可执行文件...

2022-01-13 16:05:17 294

原创 补码和原码转换

1.正数源码补码一致2.负数不管源码转补码还是补码转源码都为以下公式:补 = 正反+1;原 = 补反+1;比如(用8位表示)-127的除去符号位正数为127,127那么他的正码为0111 1111 其除去符号位取反为000 0000再加一为000 0001;即补码为1000 0001,再由补码推原码:补码取反111 1110,在加一111 1111,原码为1111 1111;正负0的补码统一为0000 0000;-128的原码无法用8位表示。或者说有-0就没有-128;...

2022-01-13 14:18:53 11624 5

原创 结构体对齐/空间长度/空间大小理解

1.看编译环境,确认默认对齐位数32位编译器,默认最小对齐为4字节,64位编译器默认最小对齐为8字节,指针长度也是8字节;注意:64位系统在编译器是32位时或者注释为32位时,默认对齐也为4字节。可用以下语句声明为4字节:#pragma pack(4)2.再确定最终对齐位数 在确定默认对齐位数后,找出结构体中最长字节的数据类型,比较最长数据类型和默认对齐位数,谁小,谁是最终对齐位数。注意:最长字节的数据类型计算取其原始类型,比如,char a[3],在...

2022-01-13 13:02:18 272

转载 启动文件使用的 ARM 汇编指令汇总

启动文件使用的 ARM 汇编指令汇总 启动程序源码注释(点此下载)1. Stack—栈 Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN= Stack_Mem SPACE Stack_Size __initial_sp 开辟栈的大小为 0X00000400(1KB),名字为 STACK, NOINIT 即不初始化,可读可写, 8(2^3)字节对齐。 栈的...

2022-01-13 08:22:18 890

原创 华大hc32独立看门狗swdt使用步骤

1.打开库文件使用宏:在文件ddl_config.h中开启宏#define DDL_ICG_ENABLE (DDL_ON)#define DDL_SWDT_ENABLE (DDL_ON)2.修改库文件打开硬件看门狗和配置倒数时间:在hc32f460_icg.h文件中#define ICG0_SWDT_HARDWARE_START (ICG_

2022-01-11 08:59:51 1403

原创 华大hc32的SysTick滴答时钟做延迟SysTick_Delay

使用华大的滴答时钟做精准延迟需要以下四个步骤1.添加头文件和库文件或者自己写滴答逻辑在文件ddl_config.h中开启宏#define DDL_UTILITY_ENABLE (DDL_ON)添加hc32f460_utility.c和hc32f460_utility.h文件,主要用到函数en_result_t SysTick_Init(uint32_t u32Freq);void SysTick_Delay(uint32_t u32

2022-01-11 08:37:27 2108 1

原创 大地坐标系wgs84转火星坐标系GCJ02 gps转高德、百度

注意要判断是否在国内,国外不用偏移。public class GCJ02_WGS84 { public static double pi = 3.1415926535897932384626; public static double a = 6378245.0; public static double ee = 0.00669342162296594323; public static LocateInfo wgs84_To_Gcj02(double lat,

2021-10-27 15:27:57 354

原创 .......随笔记录

arm存储默认小端存储,可调按字节存储即int数0x12 34 56 78存储按低地址到高地址为0x78 56 34 12;网络字节序默认为大端传输,可调。即0x12 34 56 78传输顺序为0x12 34 56 78先传高位(千百十先传千再传十)...

2021-09-17 20:12:18 61

原创 arm设备框图

串口:定时器:

2021-09-17 19:48:04 268

原创 stm32定时器学习

2021-09-17 19:23:03 70

原创 图像处理备忘

常见图片格式详解 - yuluoxingkong - 博客园 (cnblogs.com)

2021-09-16 22:09:15 93

原创 makefile学习

跟我一起写Makefile — 跟我一起写Makefile 1.0 文档 (seisman.github.io)

2021-08-31 20:43:02 65

原创 Invalid operation updata

huny@DESKTOP-N1EBKQP:/mnt/c/Users/Administrator$ sudo apt-get updata E: Invalid operation updata2|0解决方法:sudo apt update && sudo apt full-upgrade

2021-08-21 15:06:33 625

转载 coding style

我并不认为程序员是一个情绪特别丰富的群体。但有一些事情却能很容易刺激程序员的神经,那就是代码格式和布局(formatting and layout of code)。如果看到一个函数的括弧在同一行上没有闭合,我的眼睛会喷血。如果看到有人没有恰好的在两个函数间留一空行,我的小腿会抽筋。但重点在这里——除非是在家里开发自己的业余爱好软件,我的这些个人喜好其实是无关紧要的。同样,作为一个团队中的一员,你的个人编程喜好也应该放到一边。  编码风格(coding style)很容易会和编码规范(coding st

2021-08-09 22:03:53 398

转载 玩转WSL-用Samba服务替代Win10原生的文件共享

玩转WSL-用Samba服务替代Win10原生的文件共享 - SegmentFault 思否

2021-08-08 22:17:12 540

转载 记录STM32 F1 问题,我在大佬的基础上改进了一点点

修改了stm32f1xx_hal_rtc.c文件中的两个函数,将年月日信息保存到RTC备份区中。RTC_DateUpdate( );HAL_RTC_GetDate( );具体代码如下:static void RTC_DateUpdate(RTC_HandleTypeDef* hrtc, uint32_t DayElapsed){ uint32_t year = 0, month = 0, day = 0; uint32_t loop = 0; /* Get the curre...

2021-03-08 15:39:19 217

原创 UDP/TCP

UDP 单播、广播和多播:https://www.cnblogs.com/jingliming/p/4477264.html#_labelTop

2021-02-22 11:20:50 77

原创 linux 命令解析记录

awk文本处理:http://www.ruanyifeng.com/blog/2018/11/awk.html

2021-02-22 10:05:59 92

转载 码云修改了密码后,idea无法更新项目

码云修改了密码后,idea可以修改为新密码,但无处保存更新.导致更新项目失败,身份验证不通过.控制面板=>用户账号=>凭证管理器,可修改账号密码或删除

2021-01-26 09:51:16 226

原创 stm32备忘录

重新设置TIM值__HAL_TIM_DISABLE(&yourHandler);__HAL_TIM_SET_COUNTER(&yourHandler,yourVal);__HAL_TIM_SET_AUTORELOAD((&yourHandler,yourVal))__HAL_TIM_ENABLE(&yourHandler);

2020-12-31 14:52:32 198

转载 VS写stm32

去年因为某些原因学习了一下C#,主要是为了写单片机上位机用的,所以接触了一下Visual Stdio 2015这个IDE,用完感觉是真心好,宇宙第一IDE一点毛病都没有。那时候是单片机,上位机在一起学习,一边用着KEIL,一边用着Visual Stdio,简直就是冰火两重天(当然Keil也有一些优点,毕竟是ARM旗下的IDE嘛)首先说一下Visual Stdio:①智能补全(再加上VassistX智能补全,简直完美,打几个字母,一条语句就出来了) ...

2020-11-30 16:52:52 2907 6

转载 windows 10搭建gogs教程

[windows 10搭建gogs教程网上很少关于windows 10配置gogs的文章,有也不够详细,配置完会出现这样那样的问题。以Windows 10 64bit,IP:192.168.31.230,用户名cofface为例:1、下载gogs程序,官网:https://dl.gogs.io/,下载对应你系统的版本,我使用的是gogs_0.11.86_windows_amd64版本,下载地址:点我链接提取码: 25nk,解压到你想解压的磁盘目录,解压到G盘为例,目录和内容如下图:...

2020-10-19 17:00:14 3210 2

原创 车载毫米波雷达之傅里叶变换

https://www.sohu.com/a/278650275_772723

2020-07-13 18:04:30 722

转载 freertos+cli+stm32

STM32CubeMX 真的不要太好用由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺不错的样子,下来玩玩。详细的入门教程我就不写了,网上太多,这里说下我是怎么用它快速的实现了一个虚拟串

2020-07-02 13:41:59 1381

转载 STM32H7:解决DMA传输无效的问题

在STM32H743芯片上使用DMA传输数据时,如果出现收不到数据,并且不进入回调函数,基本上是RAM地址映射错误,DMA无法访问目标地址导致的。问题分析:通常使用STM32CubeMX生成项目时,程序默认执行地址是从RAM1: 0x20000000处开始执行,而0x20000000是DTCM段,DMA无法进行访问,这就导致使用DMA传输时无法读写数据,也无法进入回调。STM32H7...

2020-03-11 15:58:19 2575

转载 stm32cube+fatfs+spi_flash(W25Q128)

在大型的存储器中,没有文件系统是万万不可行的,你不可能每次要打开一个文件都要从头到尾扫描一遍存储器,几兆的小存储器还好,几G甚至几T的存储器就根本没办法这么做了。而且有了文件系统也可以方便的管理使用各类文件。这一次使用Cubemx生成FatFs的初始化代码,然后做最后的移植工作。本人使用的是stm32f767的野火的板子。介绍一下FafFs系统架构FatFs是一种中间层,可以屏蔽硬...

2020-03-10 18:54:17 4195

原创 全排序

可以想象有4个盒子分别放4样或3样物品。A44:第一个物品有4种放法,第二个3种,第三个2种,最后一个1种,所以4*3*2*1=24种。A43:第一个物品有4种放法,第二个3种,第三个2种,所以4*3*2=24种。还可以套公式ANR = n/(n-r)A44 = 4*3*2*1 / 0= 24 ( 0的阶乘=1)A43 = 4*3*2*1 / 1= 24( 1的阶乘也=1)...

2020-03-03 13:53:32 441

原创 关于STM32自动识别UART串口波特率的问题

写在前面关于自动识别UART串口波特率的这个问题,相信有项目经验,或者认真研究过串口的朋友都应该多多少少知道一点自动识别的方法。可能绝大部分知道的就是通过波特率一一匹配来实现,这种方法也是最常见,而且还比较有效的一种方法。上面这种方法就是大家熟知的通过软件来检测波特率的方法,其实,还有一种方法就是通过硬件自身完成波特率来检测。针对STM32,在ST官方其实在应用笔记和参考手册文档中都...

2020-03-03 11:55:14 1028

原创 滤波资料

ukf 无迹卡尔曼滤波算法资料:https://github.com/ivo-georgiev/ukfLib卡尔曼滤波二维https://wenku.baidu.com/view/de34790ebf23482fb4daa58da0116c175e0e1e11.html

2020-02-29 21:24:15 128

原创 UWB定位算法比较TDOA和TWR究竟哪个好

使用UWB技术进行定位时,有两种基本定位算法:基于差分飞行时间(TDOA)和双向测距(TWR)的UWB定位算法,这两种算法各有优劣,下面将进行比较。超宽带是一种可用于室内定位的短距离无线电通信。与蓝牙定位和Wi-Fi定位相比,位置的确定不是基于信号强度的测量(接收信号强度指示器,RSSI),而是基于时间飞行的算法(飞行时间,TOF)。测量一个UWB定位终端和多个UWB定位基站之间的光传播...

2020-02-29 20:48:05 8008 1

转载 uwb 资料

最近关注DWM1000 定位,一方面在看DWM1000 官方提供的代码,也在四处网上找资料看资料。 其中比较好的一份开源源代码是bitcaze的lps-node-firmwar,github直接共享,bitcraze 做的是四轴无人机,还有定位上位机软件,全部都开源。 国内很多模块现在使用或者使用bitcraze 改版程序。 lps-node-firmware是基于FREERTOS的,...

2020-02-29 19:04:34 6172

转载 使用freertos如何确定分配堆栈空间大小

运行freertos系统的大部分都是资源有限的MCU,所以对于ram我们都要考虑尽量的节省,避免资源浪费,从而也可以针对项目选择性价比更好的mcu。首先要配置freertos的堆(heap)空间,创建任务我们还需要为每个任务分配栈(stack)空间,那么针对freertos的堆栈空间到底该如何确定?freertos从V9版本以后同时支持静态内存和动态内存分配方式。静态内存分配在编译时候就会...

2020-02-27 14:52:14 3967

原创 室内定位

https://www.cnblogs.com/rubbninja/tag/%E5%AE%A4%E5%86%85%E5%AE%9A%E4%BD%8D/

2020-02-26 09:45:53 239

转载 kalman滤波(一)---对各参数的理解

一.引言1.卡尔曼滤波中的真实值,测量值,预测值,估计值怎么区分?他的5条公式是其核心内容,结合现代的计算机,其实卡尔曼的程序相当的简单,只要你理解了他的那5条公式.用一个简单的小例子:假设我们要研究的对象是一个房间的温度。根据你的经验判断,这个房间的温度是恒定的, 也就是现在这一分钟的温度等于过去一分钟的温度(假设我们用一分钟来做时间单位)(先验估计)。假设你对你的经验不是 1...

2020-02-25 09:39:11 4313

原创 惯导相关资料

https://github.com/STMicroelectronics/STMems_Standard_C_drivers

2020-02-18 14:04:34 236

原创 c语言 GPS nmealib学习笔记

0.nmealib简介 nmealib是一个基于C语言的用于nmea协议的开源库。虽然nmea体积小巧,但是却具备了不少功能。 分析NMEA语句并把结果保存在合适的C语言结构体中。 除了解析NMEA语句之外,还可以产生NMEA语句。 支持多种NMEA语句,包括GPGGA, GPGSA, GPGSV, GPRMC, GPVTG。 ...

2020-02-04 01:39:58 651

转载 从零开始使用 CubeMX 创建以太网工程

前言 在前面一篇文章中,介绍了如何使用CubeMX来建立一个简单的TCPEchoserver工程。但是在新建CubeMX项目时,是通过直接选择ST的开发板的方式实现的。对于大多数实际的开发场景,可能并不是在ST的开发板上进行的,所以在这篇文章中,我将介绍如何从零开始建立一个以太网工程。 今年ST推出的Nucleo-144板子上集成了以太网接口,所以在本...

2020-01-18 15:46:40 2361 1

原创 stm32cube 和 RTX v5一起用的方法

http://www.keil.com/pack/doc/STM32Cube/General/html/cubemx__r_t_x.html

2020-01-16 17:53:00 1172

FreeRTOS入门学习资料中文去水印版

FreeRTOS入门学习资料中文去水印版,用于想了解freertos系统结构和编程结构、api程序接口的同学使用

2017-09-29

stm8软件开发下载官方资源链接表

stm8 2017年8月25日 官方资源下载链接表

2017-08-25

STM8L15x/16x/05x/AL3Lx/AL31x stm8库

STM8L15x/16x/05x/AL3Lx/AL31x standard peripheral library

2017-08-25

STM32中文参考手册-第10版

STM32中文参考手册第十版(Cortex-m3),目前最新板。

2017-08-14

空空如也

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

TA关注的人

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