关于内存对其的一点思考

背景 这几天需要设计协议,所以我重新思考了一下,内存对其的问题。 之前的理解,内存对其的问题我也遇到过,之前写应用的一小段代码的时候。对于收到的数据,进行了强制转换大概是以下的情况。 伪代码如下 typedef struct { short int head a; int data; .....

2019-08-16 11:10:54

阅读数 14

评论数 0

结构体声明位域的使用

背景知识 结构体中的冒号表示位域。 位域出现的原因是由于某些信息的存储表示只需要几个bit位就可以表示而不需要一个完整的字节,同时也是为了节省存储空间和方便处理。 实际应用 typedef union { char u; struct { unsigned ...

2019-06-19 16:29:28

阅读数 118

评论数 0

BG2312 ascii hex 字符数组 字符串 总结

背景知识 嵌入式开发有时候经常会解析传感器的数据,这里进行一下总结: GB2312是汉子的编码,每个汉字的hex,有两个8位的16进制数组成。 参考:http://www.knowsky.com/resource/gb2312tbl.htm 英文字符使用ascii进行编码 参考:https://b...

2019-06-18 20:36:09

阅读数 52

评论数 0

lwip学习

Lwip的基本功能 ARP以太网地址解析协议 IP协议,支持ipv4和ipv6 ICMP支持网络调试与维护 IGMP用于网络组管理 UDP TCP支持tcp拥塞设计,rtt时间估计,自动回复重传 DHCP,动态主机配置协议 AUTOIP动态分配ip地址 PPP点对点协议 D...

2019-06-09 17:35:07

阅读数 84

评论数 0

wireshark软件学习

wireshark软件简介 wireshark软件界面主要包括3个部分 数据包列表:软件抓到的所有的格式的数据包。 单个数据包解析:鼠标选中其中一个数据包,软件会自动将数据解析出来。 单个数据包原始数据:数据包对应的原始数据。 单个数据包解析的内容有哪些: 1. Frame(物理层):物理层的...

2019-06-05 21:40:35

阅读数 29

评论数 0

c语言复习

sizeof和strlen的区别 sizeof 是一个关键字,并不是一个函数,计算的是变量的大小 strlen计算的是字符串地址,一直到\0为止的,字符串的大小 sizeof 在编译的时候就已经确定了计算的结果,而strlen是在程序跑起来之后,才会得出计算结果。 以上是原理,sizeof之所以是...

2019-05-21 21:53:37

阅读数 23

评论数 0

ros学习笔记-消息话题

学习目标 自定义一种消息 调用一个turtle,使用键盘控制 读取这个turtle的为止信息,填充自己的消息,并发布出来 订阅这个话题,打印出读取到的内容 使用launch文件启动 自定义消息话题 自己定义的消息 string name float32 x float32 y float32 ...

2019-04-22 23:10:33

阅读数 35

评论数 0

rplidar使用

rplidar的使用 新上手的激光雷达,第一次使用。根据网上的教程,先搭建环境跑起来。 安装rviz sudo apt-get install ros-kinetic-rviz 通过apt-get安装rviz,我的电脑上安装rviz的时候需要很多的依赖 可以通过sudo apt-ge...

2019-04-10 22:55:39

阅读数 155

评论数 0

stm32基本知识的梳理

启动文件 在单片机跑到mian函数,应用程序之前的代码就是启动文件的代码。这部分的代码需要定义中断向量表, 链接脚本 编译生成的各个静态库文件.a文件。需要使用链接脚本一起,才可以,链接(重新组织出)出一个,完整有序的,包含所有信息的bin文件。 以下以stm32f407的链接脚本为例 1.设置入...

2019-03-15 16:52:49

阅读数 131

评论数 0

stm32踩内存的问题

问题背景 最近重构代码的时候发现一个踩内存的bug,当时没有时间将这个问题记录下来,这一次简单记录一下。 问题描述 经过打印发现代码中的数据会被莫名的改掉,全局搜索发现没有地方修改这个结构体。这个问题随机出现,确认代码被随机踩掉了数据。 过程分析 1.已经确认是内存被踩,首先看map文件...

2019-01-01 22:32:03

阅读数 182

评论数 0

python学习之柱状图

需求背景 最近需要分析数据,之前画过折线图,这一次需要画柱状图。做项目的同时学习一点其他的小技能。 现在需要将固定格式的数据,画成柱状图,将同一个点的数据,求出最大值,和最小值使用柱状图显示出来。 实际的数据 test_down_id:1061, y:5 test_down_id:1061, y...

2019-01-01 22:01:21

阅读数 787

评论数 0

stm32死机问题的处理

死机原理 基本概念: 连接寄存器LR:调动子程序时,自动存储下一次返回的地址,其实就是最近调用的那一次函数的地址。 死机的过程: 这里我们最需要关注的是第一步入栈: 其中8个寄存器的顺序是 其中出现异常时LR里面的值是固定的 最后更新堆栈指针,我们根据最后使用的堆栈里面的内容,就可以知道...

2018-11-28 10:48:21

阅读数 2590

评论数 0

Uart之数据溢出

Uart之数据溢出 问题背景: 在项目现场实施项目的过程之中,出现了一个问题。stm32的控制器,莫名其妙会死机,不定时会出现这个问题。出现之后系统指示灯不在闪烁,网络死机,服务器再也ping不同,下位机的控制器。经过debug发现了抓到了这个死机的点。我发现并不是硬件错误,没有调用hart_fa...

2018-11-25 17:54:38

阅读数 1013

评论数 0

stm32 HAL库分析之CAN

stm32 HAL库分析之CAN 阻塞发送 HAL_StatusTypeDef HAL_CAN_Transmit(CAN_HandleTypeDef* hcan, uint32_t Timeout) 565 { ...

2018-07-29 22:24:20

阅读数 3750

评论数 0

stm32 hal库分析之uart

hal库 uart收发 阻塞发送(非中断方式) 607 /** 608 * @brie...

2018-07-27 21:37:41

阅读数 1548

评论数 0

stm32 调试can总线丢帧的问题

stm32 调试can总线丢帧的问题 问题出现的背景 需要写一个新的电机的驱动,使用can通讯,驱动比较简单,很快就写好了。自己单独测试一个电机的时候没有问题,正反转测什么的都很正常。本以为事情会很顺利,但是在测两个电机的时候,却发现很严重的问题,经常左电机不装或者是右电机不转。 问题的解...

2018-07-18 14:10:15

阅读数 1956

评论数 3

can open 的学习

can总线基本知识的回顾 1.从osi模型上看,can知识属于物理层和数据链路层.而canopen相当于can的应用层.是一种分布式无主机的串行通信方式. 2.帧的种类包括,数据帧,遥控帧,间隔帧,过载帧,错误帧. 3.同一个网络必须设定相同的通信速率,不同的网络可以设定不同的通信速率.通信速率...

2018-07-14 23:27:42

阅读数 469

评论数 0

Ros 学习

ros 安装 安装 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" &gt...

2018-06-23 20:24:46

阅读数 64

评论数 0

ubuntu 常见小问题记录

ubuntu常见小问题记录 E: Sub-process /usr/bin/dpkg returned an error code (1) 安装软件时常见的小错误. cd /var/lib/dpkg sudo mv info info.bak sudo mkdir i...

2018-06-23 19:13:34

阅读数 64

评论数 0

Python3 入门学习

python 入门学习  开发需求 最近项目中使用到了pid算法,为了找到合适的参数,以及清楚地了解pid的运行情况.因此想要将pid的数据 用上位机画出来.以前都是使用串口来做的,但是现在的项目中,只有使用网口比较方便,这样合适的上位机就 只好由自己来写了.需求比较简单只要将下位机发送上来的...

2018-06-03 21:54:51

阅读数 206

评论数 0

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