![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式基础
文章平均质量分 92
wenbodong
这个作者很懒,什么都没留下…
展开
-
调试正在运行的程序(STM32CubeIDE)
大家好,我是惊觉,今天给大家分享一个调试小窍门:调试正在运行的程序。阅读本文之前,你需要掌握相应IDE的在线调试器的使用方法,包括:设置断点单步运行(步入,步过,步出)比如,STM32CubeIDE的调试界面如下:黑色框:调试系列按钮红色框:函数调用栈黄色框:代码区蓝色框:变量查看区绿色框:内存查看区当遇到问题时...原创 2021-08-11 09:38:57 · 6047 阅读 · 1 评论 -
sscanf之模式匹配
接上一篇文章,笔者给大家介绍一个更加简单的解析工具,那就是sscanf。热身大家在上C语言课,做C语言课程设计或实验时,应该经常接触printf和scanf,前者打印字符中到标准输出,而后者从标准输入读取并解析字符串。sscanf和scanf类似,只不过它并不从标准输入读取,而是直接解析用户传入的字符串。int sscanf(const char *str, const char *format, ...);str 待解析的字符串format 格式化参数… 变长参数,为一系列用于存放解析结原创 2021-08-01 11:40:55 · 1264 阅读 · 0 评论 -
strtok拆分字符串
大家好,我是惊觉,今天聊聊字符串。字符串的使用场景非常之多,人机交互和双机通信都会用到。比如:通过串口向单片机发送指令,以执行操作或配置参数。单片机读取传感器数据,数据格式是字符串。一般GPS数据就是字符格式。有些场景需要使用多个处理器协同工作,比如单片机+openmv,它们之间需要通信,可以采用字符格式的编码方式。操作字符串,无非是两件事儿:生成字符串与解析字符串,后者往往更复杂一些。Java,Python之类的高级编程语言自带了强大的字符串处理库,提供非常丰富的操作。下图是Java的Stri原创 2021-07-31 18:12:21 · 565 阅读 · 0 评论 -
嵌入式基础--日志模块
请看如下的日志接口:void logPrintf(char *buf , unsigned int len);该接口实现的功能是将字符串输出到某串口以提供调试信息。该接口就很不方便使用。既然是打印字符串,就不需要指定长度,因为字符串以’\0’结尾,完全可以在logPrintf之中计算字符串的长度。在每次调用logPrintf时传入字符串长度,即是一件很麻烦的事情。下面多次出现的strlen(temp)就是重复代码。sprintf(temp , ">> Calibration:%d\r\原创 2021-07-25 21:56:59 · 2379 阅读 · 5 评论 -
你真的了解头文件吗
哪儿出错了calc.h#ifndef __CALC_H__#define __CALC_H__int calc_add(int a, int b){ return a + b;}#endifuser1.c#include "calc.h"void user1_test_add(void){ int a = 1; int b = 2; int sum = calc_add(a, b); LOG_I("%d + %d = %d", a, b,原创 2021-07-20 18:02:33 · 351 阅读 · 0 评论 -
张三和李四谁跑的快
mark原创 2021-07-08 17:57:16 · 435 阅读 · 1 评论 -
嵌入式基础--毫秒级定时模块
大家好,我是惊觉。失踪了三个月,我回来了。给大家带来一个好消息和一个坏消息。坏消息是,我尚未满血复活,Ardupilot第四篇将继续延期。好消息是,公众号恢复更新,先出一系列提升编码能力的文章。全国电赛在即,昨天母校老师联系我,想让我给学弟们做下赛前培训。我做过很多年的培训,很早就发现了一个问题:同学们在为比赛做准备时,往往只注重去学习使用各种各样的传感器,自动控制算法,各种驱动。同学们只关注如何去实现功能,而忽视了如何把代码写得更好,更健壮,更易扩展和维护。如果在比赛之前,先准备好高质量的代码框架,基础原创 2021-07-05 21:04:15 · 453 阅读 · 2 评论