打工人项目日报计划
打工人项目日报计划
打工三年,我对自己的职业生涯依然迷茫
美其名曰是工程师,但是实际杂乱的工作,让人心累
一边干着乱七八糟的活
一边要接受老板的监控,你在干什么呀!这个可以开始干了吗?
一边是同事的不配合,你的软件有问题!
啊啊啊啊啊啊啊啊啊!
打工人项目日报计划,吾日三省吾身,我们很难改变世界,但是我们可以改变自己,
关注自己的成长,这是我们一直应该做的,正确的事情
欢迎大家一起打卡,相互监督,一起进步!
技术积累
今天有思考什么难题吗?
STM32 烧录失败
STM32 烧录失败了,老天爷呀,谁知道呀,干了三年还在烧录STM32,心理又哭说不出呀!
target dll has been cancelled
参考STM32下载中出现Flash Download failed - Target DLL has been cancelled报错
没有解决成功,明天详细尝试,做好记录,还可以写一篇博客!
QT串口接收数据解析错误
1、大小端问题
-
小端模式(Little-Endian)
特点:低位字节存放在内存的低地址处,高位字节存放在高地址处
示例:对于 16 位整数 0x1234
内存低地址 → 存放 0x34(低位字节)
内存高地址 → 存放 0x12(高位字节)
常见场景:x86 架构(Intel/AMD 处理器)、大部分嵌入式系统 -
大端模式(Big-Endian)
特点:高位字节存放在内存的低地址处,低位字节存放在高地址处
示例:对于 16 位整数 0x1234
内存低地址 → 存放 0x12(高位字节)
内存高地址 → 存放 0x34(低位字节)
常见场景:网络协议(TCP/IP)、PowerPC 架构、部分嵌入式系统
直观理解
2、16进制打印
data 是QByteArray类型
qDebug() << "data (hex):" << data.toHex();
qDebug() << "data[8 + 4](hex):" << QString("0x%1").arg(static_cast<uint8_t>(data[8 + 4]), 2, 16, QLatin1Char('0')).toUpper();
qDebug() << "data[8 + 5](hex):" << QString("0x%1").arg(static_cast<uint8_t>(data[8 + 5]), 2, 16, QLatin1Char('0')).toUpper();
3、双重转换
data[] 返回的是 char 类型(可能是有符号的),如果直接移位可能会因符号扩展导致错误。先转换为 uint8_t 确保无符号性,再转换为 uint16_t 进行移位操作。
uint16_t data = static_cast<uint16_t>(static_cast<uint8_t>(data[8 + 4])) | static_cast<uint16_t>(static_cast<uint8_t>(data[8 + 5]) << 8);
如果想要实现大写打印,可以怎么做
qDebug() << "data : 0x" << QString("%1").arg(data , 4, 16, QLatin1Char('0')).toUpper();
人际关系
今天STM32 烧录失败,硬件同事说,软件有问题,要看一下,我真想一口盐汽水喷死他,都在其他板子上好好运行的代码,说我软件有问题!!!
晚上总结会议,还说要我配合,这不是明摆说我不配合嘛!
算了,想太多都是泪
仔细回想一下,我可以好好的回答,好呀,有什么需要配合的,尽力配合,一起看看是什么问题嘛
真是的生活就是我们要面对不同的人,和不同的人打交道,这可能很简答也可能很复杂,我还想往前走,无论是技术还是为人处世,我希望自己有足够的底气,继续做下去。
阅读
《学会提问》
在一个论证里面,会隐含着价值观假设或则偏好,我们需要识别出来,更加全面的思考,感觉这本书很好,它让思考这个抽象的动词有了方法论,从点到面一点点的去梳理,自己应该怎么学会提问,甚至是思考别人的论证。