- 博客(6)
- 收藏
- 关注
原创 QT日志打印,可在Text文本框或者程序输出窗口显示
3.首先第一个问题,日志打印需要多个描述,多个参数,参数多种形式输出,能够满足的,比较简单的是 printf 函数,但是这个只能输出到应用程序输出,不满足第(1)(5)两点,所以这里选择 sprintf 函数,定义一个能够全局使用的 Qstring 数据类型的数据流变量。使用 qDebug() 对 debug_logStream 进行输出的时候,若使用 Qstring() 的时候会把 "" 双引号也打印出来,特别影响观感,所以得采用别的形式,去符号输出。实际输出效果如下,控制输出流方向达到需要的效果。
2024-05-27 11:33:02 638
原创 链表框架--双向循环,带上下级
故:在最后使用的时候,在使用的时候,只需要调用函数user_List_Reg(0x00, NULL),而且修改最初的那个结构体数组即可完成整个链表的改变,其他功能,就比如回到链表头啊,根据val数值找到某个链表所在的位置啊就比较简单了。ppar为上一级(父节点),pchi为下一级(子节点),pnxt为下一页,plst为上一页,pdata为这个链表需要存储数据的指针(void *嘛,万用指针),重点是这个val,这个值就是此小型链表框架的精髓。首先,实现双向链表的节点创建和节点新增。毕竟~,反正没人会看。
2023-07-07 13:56:45 93
原创 malloc 和 free 封装编写,代码中确认剩余堆空间
前景 :在我之前一篇文章中测试的第三点,探讨了堆(HEAP)空间内,对于malloc申请实际使用大小的探讨(可能又不严谨的地方),基于原本的malloc和free函数,进行封装,使得弄够在代码中检测堆是否溢出(自测无太大用处,但确实好用,以防万一出现问题)结论 :采用1字节对齐的方式,该结构体长度如图所示22个字节,但在实际空间申请的时候计算出来的act_size是0x20,也就是32个字节,最后空间释放的时候,能够得到实际上释放和申请的空间确实是0x20(32)个字节。结语 :随便写写,有用,但不多。
2023-06-15 16:13:41 121
原创 基于STM32F103RCx的RAM空间分布探讨
对照1~5可得,同堆区HEAP,当申请的空间加上0x04个字节后被0x08整除不了的时候,需要自动补齐,但由上式代码段可得知,栈顶往下,并没有类似堆区的起始0x08个字节不可用区域。这里会发现STACK地址减去uartRecBuff为0x9C,比设置的0x96多出了0x06个字节,这0x06个字节是进行对齐使用的,使得STACK能够被0x08整除。所以,假设用户malloc的量是n个,能够使用的最大malloc的大小是Heap_Size - 0x08 - 0x04 * n。
2023-04-19 11:46:21 405 1
原创 Boot loader更新及跳转App的三种方案
内心OS:emmm,画图画得好丑,详细讲述方案三硬件环境:STM32F103RC为例代码工具:STM32CubeMX编译环境:Keil5。
2023-04-17 12:17:54 2408 5
GD32F30x初始工程
2024-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人