随笔分类 -  C语言

记录C语言学习与使用过程中的点点滴滴。
摘要:在调试代码的时候,经常需要dump一段内存,有时候不得不自己动手写一个函数。 现在先记录一个简单版本的内存打印函数。 const char* hexstr = "0123456789ABCDEF"; void dump(int level, const char* tag, const uint8_ 阅读全文
posted @ 2023-07-09 11:33 -ssdq- 阅读(38) 评论(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- 阅读(54) 评论(0) 推荐(0)
摘要:MTK功能机平台模拟器上添加参考圆 阅读全文
posted @ 2020-09-24 17:17 -ssdq- 阅读(207) 评论(0) 推荐(0)
摘要:STM32主控利用PWM播放音乐 阅读全文
posted @ 2020-09-22 16:11 -ssdq- 阅读(2341) 评论(0) 推荐(0)
摘要:在MDK开发环境下,对于某些无法被更改的函数,我们需要更改这些函数执行前后的逻辑,偏偏又无法更改到调用这些函数并已经被封装的代码,这真是让人一筹莫展。 幸好MDK给我们留了一个后门,让我们充分使用“$Sub$$”和“$Super$$”来完成这个目标。 比如某个函数 extern void foo(v 阅读全文
posted @ 2020-08-05 13:48 -ssdq- 阅读(1705) 评论(0) 推荐(0)
摘要:慢慢记录,不断更新。 控制printf输出指定个数的字符 printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个*代替那个常量,然后在后面提供变量给* void dump_received_string(char *buffer, int length) { pri 阅读全文
posted @ 2020-07-14 18:06 -ssdq- 阅读(191) 评论(0) 推荐(0)
摘要:利用GPIO软件模拟I2C时序。 阅读全文
posted @ 2020-06-24 15:53 -ssdq- 阅读(1050) 评论(0) 推荐(0)
摘要:C语言实现的单项链表 阅读全文
posted @ 2020-06-24 11:33 -ssdq- 阅读(158) 评论(0) 推荐(0)
摘要:我在STM上,想写一个利用串口打印LOG的函数trace,根据我手上两块板子的硬件设计,他们的串口不一致,但是我想把这个trace函数写成一个统一的源文件,分别放到两个不同的项目里面编译,需要做的仅仅是修改下头文件中定义的串口号而已。 于是我就想到了用宏定义来展开相关的代码。 我定义了一个串口号的宏 阅读全文
posted @ 2020-06-09 13:11 -ssdq- 阅读(255) 评论(0) 推荐(0)