matlab 4字节合并为float,2字节合并为uint16

例如:float a = 3.1415; 它对应的内存数据为0x40490E56, 在小端架构中的内存布局为: [ 56 0E 49 40 ](HEX),也即: [ 86 14 73 64 ](DEC)。 在matlab中运行结果为: 再举一个例子: uint16 a = 51...

2019-07-18 11:47:26

阅读数 2

评论数 0

处理定长/不定长报文的标准流程

定长报文处理起来很简单,假设报文结构为:stc-body-sum,报文总长为L。 1、把收到的字节都存进fifo,并发出通知,在通知的回调中开始处理报文 2、通知的回调函数: (1)从fifo中peek出报文到buf(非必要) 进入while (2)fifo中所有字节都处理完了吗?是,函...

2019-07-18 10:40:28

阅读数 2

评论数 0

matlab面向对象编程

网上搜到的都是些零零散散的知识点,只有官方手册才是最全面的,直接在帮助文件中搜索:“Class Definition”, 点开上面的“方法(函数)method”链接,可以看到: 上图中红框部分讲解了,普通函数、构造函数、静态函数等的写法。 ...

2019-07-16 14:37:35

阅读数 11

评论数 0

matlab转C语言的操作步骤

以求3x3矩阵的逆矩阵为例: 先看看在matlab中的运行结果: 文章的最后,我们会看看转换出的C语言函数,在单片机上的运行结果。 新建一个.m文件(这个文件必须是函数文件,如下图所示,而不能是脚本文件。而且matlab还有要求,函数名和文件名必须一致),在.m文件中把求逆函数写...

2019-06-22 17:59:32

阅读数 78

评论数 0

STM32+MS5611气压计测量海拔,IIC方式

气压转海拔的经验公式,自行搜索《气压温度求海拔高度》《关于大气压力与海拔高度经验计算公式的讨论》,这里贴两个参考公式: 或者: 也即 https://wenku.baidu.com/view/87130b0d168884868762d67a.html?from=search 硬件连接: P...

2019-06-05 11:37:37

阅读数 112

评论数 0

利用整数的环回特性打造高效计时器、补码反码、负数的内存布局

对于任意一个uint8的数字x,一定有: 式① x + (~x) = 255 = (1111_1111)b 其中"~"是标准C语言运算符:按位取反 式② x + (-x ) = 0 = (0000_0000)b 那么① + 1 = 255+1= (1111_111...

2019-05-30 21:12:32

阅读数 75

评论数 0

STM32使用中断屏蔽寄存器BASEPRI保护临界段+中断分组+抢占/响应优先级概念

如果某些代码段不允许被中断打断,那么这段代码就必须用关中断的方式给保护起来,在UCOS中可以看到,一般保护方式有3种: (1)关闭中断(总中断或者指定的几个中断),执行临界段,开启中断(总中断或者指定的几个中断)。这个方法的弊端有两个:①执行完临界段之后中断总是打开的,即使在关闭中断之前,中断明...

2019-05-30 10:33:08

阅读数 75

评论数 0

求最小值的宏:#define min(x,y) x > y? y: x 中的陷阱,慎用

求最小值的宏:①#define min(x,y) x > y? y: x。这个宏网上遍地都是,殊不知,这个宏存在严重bug。 顺便再列一下,下面这几个宏也存在严重bug,使用前一定要仔细考虑 ②#define min(x,y) (x) > (y)? (y...

2019-05-29 22:26:18

阅读数 83

评论数 0

STM32F1xx使用FIFO实现USART串口发送中断

fifo就不要造轮子了,用现成的就行了。linux内核中有目前人类写出的基于c语言的最强FIFO,请自行搜索学习《巧夺天工的kfifo》,或者我的另一篇博文《整数的环回特性》。 直接把最常用的几个函数拷贝到STM32工程文件里,顺便把kfifo结构体中的自旋锁成员给屏蔽掉,这玩意只在多核才有...

2019-05-28 10:08:57

阅读数 736

评论数 3

C语言“正则表达式”字符串处理sscanf(),使用前缀技巧、匹配邮箱等

一般的字符串处理函数可以使用C标准库的string.h,字符串匹配、字符串反转、在字符串中查找子串位置等。但string.h仍然满足不了我们的需求。 来几个例题:(不允许使用c++) 1、要求把一个字符串两端的空白符(可能有多个空格和TAB)给去掉, 例如:“ asd123 qwer ”,要...

2019-05-22 18:43:05

阅读数 89

评论数 0

QCustomPlot系列(7)-鼠标跟随显示坐标值(也即:十字游标功能)游标可以吸附采样点

先来个动图看看效果: 这个动图中实现的功能有:1、十字线游标的X值跟随鼠标,Y值不跟随。2、游标的Y值跟随鼠标的X值对应的曲线的Y值,可以点击图例,更换游标跟随哪个曲线的Y值,3、游标不会出现在曲线中不存在点上,而是自动吸附到距离鼠标最近的曲线上的点。 在QCustomPlot...

2019-05-21 18:50:54

阅读数 241

评论数 4

QCustomPlot系列(6)-在图中插入文本框/直线箭头/图片/矩形/椭圆/游标等

效果图如下: QCustomPlot已经为我们提供了文字框QCPItemText、直线(可设置带箭头)类QCPItemLine。 一、QCPItemText的基本用法: textLabel = new QCPItemText(this);//在QCustomplot中新建文字框 t...

2019-05-21 15:02:25

阅读数 136

评论数 0

QT布局管理(3)--QLayout/QGridLayout/QFormLayout/QHBoxLayout以及sizeHint、sizePolicy

最基本的布局管理,在设计师界面中可以看到: 各种布局类的继承关系: QLayout布局 QBoxLayout盒型布局 QHBoxLayout 水平布局 QVBoxLayout 垂直布局 QFormLayout 两列布局 QGridLayout 网格布局 ...

2019-05-17 18:26:29

阅读数 33

评论数 0

QT布局管理(2)-停靠吸附窗口类QDockWidget,可用鼠标挪动控件位置/调整大小、Tab嵌套

帮助文件中指出,QDockWidget只能在QMainWindow及其子类中使用 QDockWidget的初始大小,实际上等于其子控件的QT推荐值大小sizeHint。由于sizeHint属性是只读的sizeHint(),如果想自定义QDockWidget的初始大小,只能继承一个QWidget或...

2019-05-17 15:46:05

阅读数 46

评论数 0

QT样式表--父控件设置样式表后对子控件产生影响

我在ui中拖了一个QWdget作为容器,在里面放入了一个GroupBox,groupBox中又放了几个按钮等,我对最外层的QWidget设置样式表: 结果发现,里面所有的子控件、孙子控件的边框都变样了,如何避免这一情况?其实官方帮助手册里已经告诉我们了: 就在帮助示例文档中,见下图 ...

2019-05-17 10:42:53

阅读数 30

评论数 0

QT布局管理(1)-分割窗口类QSplitter,可用鼠标任意拖动控件的大小

QSplitter继承自QFrame,但是无法在ui设计师界面直接拖出来,只能用代码来写。 但是我个人喜欢用设计师来拖放控件,所见即所得,不喜欢用代码来写界面,那么该怎么用设计师界面来设计分割器窗口呢? 我找了一个笨方法,原理步骤是这样的: 1、在打算用QSplitter的地方,先用任意一...

2019-05-17 10:33:06

阅读数 57

评论数 0

QT样式表style sheet快速速查方法

QT自带的帮助文件中有丰富的样式表示例可供我们查询,直接在帮助文件的“高级搜索”中搜索style sheet,如下图所示,可查到3个最有用的部分:1、参考手册referance,2、示例example,3、语法,如下图所示 参考手册referance一张截图如下: 所有ui控件(按钮、...

2019-05-17 10:17:03

阅读数 24

评论数 0

QT使用QListWidget+QChececkBox实现多选功能

功能需求描述:要求制作一个自定义控件CheckBoxList,控件中有N个复选框QCheckBox,当任何一个复选框反转时,该控件发出信号,信号指示出:此时哪几个复选框处于选中状态。 解决方案:显示出一列复选框,用QListWidget来干最合适了,默认情况下QListWidget添加的条目it...

2019-05-16 21:39:19

阅读数 40

评论数 0

QCustomPlot系列(5)-实时动态曲线

先来个动图看看效果: 支持鼠标平移、滚轮缩放、框选放大、取消框选、一键全显、单击显示xy坐标值。。等 平移功能是QCustomPlot自带的功能,参见我的另一篇博文。框选放大、全显等功能在另一篇博文中也讲到了。 这里只讲2个知识点:1、显示鼠标指向的点坐标,2、实时滚动 1、箭头指向要...

2019-05-16 12:00:09

阅读数 505

评论数 8

QCustomPlot系列(4)-时间轴做X轴-散点图-阶梯图

先看两个小知识: 1、显示数据散点:ui->customPlot->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 5));//散点 2、连接散点的方式:customP...

2019-05-11 16:51:06

阅读数 182

评论数 0

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