摘要: 在开发WPF应用程序时,UI线程不做高负载的工作,需要交给其他工作者线程去干。当工作者线程干完活得到一个结果后需要发送给UI线程进行展示,那最好的方法就是使用委托机制了。如果你不信邪,偏要在工作者线程里面调用控件去直接更新,这除了说明你对UI绘制的流程不了解之外,还说明你很固执。不仅仅是WPF这样, 阅读全文
posted @ 2022-12-30 11:55 -ssdq- 阅读(692) 评论(1) 推荐(0) 编辑
摘要: 在bat脚本中使用for循环处理 ::获取日期时间 set dt=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% :: 分割字符串并逐个处理 :loop set string=X,Y,Z for /F "toke 阅读全文
posted @ 2022-12-14 19:21 -ssdq- 阅读(630) 评论(0) 推荐(0) 编辑
摘要: 活用数组定义 // build util #define BUILD_ASSERT(condition) ((void)sizeof(char[1 - 2*!(condition)])) struct some_type { uint32_t buffer[2]; }; #define PROTOC 阅读全文
posted @ 2022-11-14 16:01 -ssdq- 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 在使用cortex芯片打印日志的时候,常用的方式是使用串口。现记录一种使用RTT的方式打印日志(需要去J-Link Debug Probes by SEGGER – the Embedded Experts下载并安装J-Link工具)。 RTT使用的是SWDIO、SWCLK两线接口,与J-Link下 阅读全文
posted @ 2022-06-28 11:24 -ssdq- 阅读(1404) 评论(0) 推荐(0) 编辑
摘要: 在python中需要等待用户输入,并在等待超时后之后直接结束等待。 使用系统的input函数可以等待,但是无法超时,于是想出一个超时结束的法子: 使用一个线程来执行input,并将线程join到主线程实现超时,当超时之后,模拟键盘输入enter键,令input得到一个退出信号而结束。 参考代码如下: 阅读全文
posted @ 2022-05-03 23:01 -ssdq- 阅读(3716) 评论(1) 推荐(0) 编辑
摘要: STM32的bootloader使用记录。 阅读全文
posted @ 2020-09-27 10:56 -ssdq- 阅读(658) 评论(0) 推荐(0) 编辑
摘要: MTK功能机平台模拟器上添加参考圆 阅读全文
posted @ 2020-09-24 17:17 -ssdq- 阅读(186) 评论(0) 推荐(0) 编辑
摘要: STM32主控利用PWM播放音乐 阅读全文
posted @ 2020-09-22 16:11 -ssdq- 阅读(2077) 评论(0) 推荐(0) 编辑
摘要: 在MDK开发环境下,对于某些无法被更改的函数,我们需要更改这些函数执行前后的逻辑,偏偏又无法更改到调用这些函数并已经被封装的代码,这真是让人一筹莫展。 幸好MDK给我们留了一个后门,让我们充分使用“$Sub$$”和“$Super$$”来完成这个目标。 比如某个函数 extern void foo(v 阅读全文
posted @ 2020-08-05 13:48 -ssdq- 阅读(1359) 评论(0) 推荐(0) 编辑
摘要: 慢慢记录,不断更新。 控制printf输出指定个数的字符 printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个*代替那个常量,然后在后面提供变量给* void dump_received_string(char *buffer, int length) { pri 阅读全文
posted @ 2020-07-14 18:06 -ssdq- 阅读(171) 评论(0) 推荐(0) 编辑