摘要: 在实际项目中,经常碰到这种情况:对某些配置仅设置(或发送)一次的话,可能会失败,所以想在失败时多尝试几次。 如果一个项目里涉及好几个不同的设备,他们用多种不同的设置(或发送)方法时,往往就会写很多相似的函数,这个时候模板就派上用场了。 话说正题,怎么写一个失败则重复发送n次的模板方法呢?如下(Lin 阅读全文
posted @ 2021-03-17 15:52 阿室安~ 阅读(70) 评论(0) 推荐(0)
摘要: C++也可用于底层应用开发,甚至涉及到按位操作。 按位操作方式其实就两种:清零或置位,常用方式如下: class Test{public: static void ClearBit(unsigned& x, int bit) { //清零 x &= ~(1 << bit); } static voi 阅读全文
posted @ 2021-03-11 15:05 阿室安~ 阅读(290) 评论(0) 推荐(0)
摘要: C++中的基础(内置)数据类型的转型没有失败的,顶多就是精度损失;至于自定义类型的转型,最好使用新式的转型风格,即 const_cast<T>(expression) //const与非const之间的转型 dynamic_cast<T>(expression) //多态转换 reinterpret 阅读全文
posted @ 2021-03-09 11:44 阿室安~ 阅读(558) 评论(0) 推荐(0)
摘要: 串口通信实际包含了物理层、数据链路层、应用层三方面的功能。这里的解包和打包指的是在应用层的操作,因为应用数据是在这一层由开发人员自行编写的;如果应用数据采用的纯ASCII方式传输的,主要好处就是人为可识别,但报文会相应加长;采用纯Hex字节方式传输的,同样的数据量下报文较短,但是不好识别,字符显示看 阅读全文
posted @ 2021-03-04 13:31 阿室安~ 阅读(1884) 评论(0) 推荐(0)
摘要: 开发板有网口,但是公司的网络都是无线连接的,怎么让开发板上网下载更新包呢?可让一台PC把无线网络连接共享出来,开发板(不要用静态IP)连接该PC的有线网口就行。 PC上操作的具体方法为:进入到控制面板的网络连接界面,然后右键在用的无线网络连接n,点属性-共享,全选,并选择家庭网络连接为本地连接,确定 阅读全文
posted @ 2021-03-04 12:51 阿室安~ 阅读(536) 评论(0) 推荐(0)
摘要: 航向指的以真北(0°)顺时针旋转增大的0-359°的值。 两个航向角的差值可能并不在0-359之内,计算夹角时需要进行换算;比如它们的差值表示为delta,则夹角: if delta<-180 delta=360+delta; elif delta>180 delta=360-delta; else 阅读全文
posted @ 2021-03-04 10:34 阿室安~ 阅读(1809) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-03-04 10:09 阿室安~ 阅读(50) 评论(0) 推荐(0)
摘要: Linux下新开的终端会直接加载当前用户的环境变量,在~/.bashrc中,只要在其中加入编译链路径或环境,就可以直接使用该编译链了。 比如编译链x-g++(路径/usr/local/arm-x/sysroots/usr/bin/arm-x/),则在其中添加: export PATH=$PATH:/ 阅读全文
posted @ 2021-03-04 09:25 阿室安~ 阅读(132) 评论(0) 推荐(0)
摘要: 策略模式一般是反应面向对象语言的多态特性,即可在运行时更改或选择不同的策略,典型的使用方式如下: class Strategy {public: Strategy() {} virtual ~Strategy() {} virtual int stopTask() = 0;}; //策略Aclass 阅读全文
posted @ 2021-03-03 18:20 阿室安~ 阅读(782) 评论(0) 推荐(0)
摘要: Qt跨平台使用,需要在不同平台环境下重新再编译一次代码。 有时在不同平台会引用不同的库(或版本),或者在不同的平台有不同的定义等,如果每次切换时通过在Pro文件中做操作(通过屏蔽或开放一些项的方式),过于繁琐,而且有时不重新再构建一次会不生效,为此可在Pro文件中用下述方式: ISARM=$${QM 阅读全文
posted @ 2021-03-03 16:59 阿室安~ 阅读(992) 评论(0) 推荐(0)