作者:朱金灿   最近项目中要用到北斗接收机,它的样子是长这样的:   这部机器里面是没有操作系统的,由单片机控制。最近我们要根据协议来对它进行操作,具体是给它发指令,接收它回传的数据(通过串口通讯)。厂家提供的测试软件如下:   昨天为了测试指令,单击了上图的设置波特率中的设置按钮,结果今天按照原来的波特率打开然后发送指令,却死活没有数据收到。求助了厂商的技术支持才知道要按照自己设置好的波特率来打开的。做硬件的同事告诉我假如硬件上有一个复位键就可以解决这个问题,一按复位键可以恢复原有的默认的打开波特率设置。的默认的打开波特率设置。

作者:朱金灿 具体参考文章:linux(内网)通过window上网。具体是两步:一是在windows上设置internet连接共享。二是打开Atlas200IDK下的ubuntu系统的/etc/netplan/01-netcfg.yaml。具体如下: network: version:2 renderer:networkd ethernets: eth0:下面的网线网卡名称 dhcp4:yes nameservers: addresses:[8.8.8.8] addresses:[114.114.114.114] eth1:上面的网线网卡名称 dhcp4:no addresses:[19...

作者:朱金灿   QTcpSocket发送结构体其实很简单:使用QByteArray类对象进行封装发送,示例代码如下: / 消息结构体 / structstMsg { intm_AlgoIndex;//算法序号 charm_szParam[256]; }; //使用QByteArray封装进行 stMsgmsg; QByteArraydata; data.append((char)&msg,sizeof(stMsg)); QTcpSockettcpSocket; qint64len=tcpSocket.write(data);

作者:朱金灿  ubutun上编译一段C程序,出现错误:/usr/bin/ld:/tmp/ccghh3FJ.o:undefinedreferencetosymbol‘dladdr@@GLIBC_2.2.5’//lib/x86_64-linux-gnu/libdl.so.2:erroraddingsymbols:DSOmissingfromcommandlinecollect2:error:ldreturned1exitstatus。  一查,原来是没有链接dl库,解决办法是在编译命令中添加-ldl即可。

作者:朱金灿 最近面临这样一个需求:以比较节省存储空间的存储一组坐标点到文件,要求程序能够跨平台读写这种文件。思考了一下,比较简单的方式是以二进制文件的方式保存,先存入点的个数,然后把点结构体逐个存储进去。因为要节省存储空间,得保证结构体是以单字节对齐的。代码如下: include<stdio.h> include<string> include<vector> /对齐结构成员到1字节/ ifdef__GNUC__ defineGNUC_PACKED__attribute__((packed)) else defineGNUC_PACKED endi...

作者:朱金灿   在Ubuntu18上编译sqlite3库后在运行程序时出现undefinedreferenceto`sqlite3_column_table_name’的错误。网上的说法是说缺少SQLITE_ENABLE_COLUMN_METADATA的宏定义,解决办法是在sqlite3.c增加一行代码: defineSQLITE_ENABLE_COLUMN_METADATA1   这个解决办法其实不好,更好的办法是在运行configure命令时增加SQLITE_ENABLE_COLUMN_METADATA的宏定义,具体命令如下 CFLAGS参数是指定编译c文件的参数,其中-DSQ...

作者:朱金灿   gdal和python绑定参考文章:windows环境下python和gdal绑定方法  值得注意的是绑定python3.8及以上版本后在python程序中初始化gdal库时会出现DLLloadfailed的错误。经过排查,发现在初始化gdal环境时针对python3.8及以上版本做了特别处理。我们看看D:\ProgramFiles\Python38\Lib\site-packages\GDAL-3.1.2-py3.8-win-amd64.egg\osgeo_init_.py代码(D:\ProgramFiles\Python38为我的python安装路径),里面有一段代码如...

作者:朱金灿   原来以为Linuxmakefile挺复杂的,直到从网上找到一个编译模板,发现Linuxmakefile是如此简单,而且你还可以根据该模板实现C程序和C程序的混合编译。下面是Linuxmakefile模板的脚本代码: 指定c编译器 CC=gcc 指定C编译器 C=g 指定链接器 LINK=g 指定包含头文件路径 INCLUDES=-I.-I"/opt/ThirdPartyLib/pugixml/include"-I"/opt/ThirdPartyLib/libcurl/include"-I"/opt/ThirdPartyLib/hdf4/include"-I"/opt/T...

作者:朱金灿 ​ ​​为什么大多数人学不会人工智能编程?>>>​​​ 缘起   上周写了一篇《​​对区块链技术的一些思考​​》。之后和一些朋友进行了交流,纠正了我之前的一些关于区块链的错误认识。 重新认识区块链   在之前的文章中我质疑谁来提供运行区块链所需要的计算资源和存储资源。朋友告诉我是有矿工挖矿的,也就是区块链开发。区块链开发所谓“挖矿”就是,将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上,形成新的区块,挖矿的人叫作矿工。简单来说,挖矿就是记账的过程,矿工是记账员,区块链就是版本。比特币系统的记账权利是去中心化的,即每个矿工都有记账的权利,只要成功...

  Ood8uTmpypQY   2023年11月02日   36   0   0 Gas Fee矿工费区块链Dapp

缘起   本想把标题起为有些扯淡的区块链,但想想咱们还是别标题党了,实在一些吧。前段时间有个朋友向我介绍区块链技术。提到区块链技术如何牛逼,说到:“如果TikTok采用区块链技术,那它就像比特币一样,特朗普想封也封不了。“我就反问它一句:既然区块链技术这样牛逼,它问世也超过十年了吧,怎么不见各行各业在用它呢?某宝、某东在用它吗?那它吹得最厉害的金融业,各大银行怎么不用它呢?朋友一时也说不出话来。于是我特地到网上找了一些资料来研究。 认识区块链   阮一峰曾写过一篇区块链的入门文章:​​区块链入门教程​​。大家可以看看。如果大家没有耐心看这么长的文章。我就举一个简单的例子说明什么是区块链。区块链...

作者:朱金灿 目标必须分解为任务才有可执行性   比如将年度目标分解为月度目标,月度目标分解为周任务。一周是一个比较好把握的时间单元。 周任务必须明确   什么叫明确呢?包括几点:明确哪个人负责完成;明确任务内容和提交成果;明确它的前置任务是什么;明确任务完成的起止时间。 任务提交成果必须是可衡量的和可积累的   任务提交成果必须是可衡量的,比如是程序,它必须是可以执行并得到预料中的结果。同时它必须是纳入版本管理确保是可积累的。 任务的自领和指派   鼓励团队成员根据自身优势和兴趣自领任务,但没有自领的话就要指派。 目标和任务需要让团队的每个成员都看到 团队成员在执行任务遇到问题经过努力后...

  Ood8uTmpypQY   2023年11月02日   26   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~