- 博客(13)
- 收藏
- 关注
原创 分享下自己写的字符串分割函数
使用strstr实现的字符串分割函数,对于输入的字符串可以按照字符或者字符串分割,然后将分割的字符串存入接收数组。相比于直接使用strtok分割只能按照字符分割,方便了不少。注意,为节省内存,本分割函数使用指针操作,分割完成后,源输入的字符串被修改。/*输入的字符串按照输入的分隔符分割,输入的分隔符可以是字符,也可以是字符串src 源字符串的首地址delim 指定的分割字符或字符串dest 接收分割后子字符串的数组num 分割后子字符串的个数解析样例:"AT10@j...
2020-07-30 09:11:45
444
转载 struct结构体实际占用字节
原则1.各成员变量的偏移量必须为该成员大小的整数倍,如不够则在上一个变量后填充字节数struct student{char name;int id;double score;};name 偏移量为0,成员大小为1,直接存;id偏移量为1,成员大小为4,需要在前面补充3个字节;score偏移量为8,成员大小为8,直接存;所以sizeof(student)==16原则2.在所有成员计算以后,结构体的总大小—必须为成员变量中最宽类型的整数倍,如不...
2020-05-18 14:05:48
2073
转载 nRFgo Studio 和 Nrfjprog 无法找到JLinkARM.dll的解决方法
Segger在第一次安装的时候,会在注册表中添加安装路径的字段,nRF的两个软件就根据这两个注册表字段来寻找JLinkARM.dll。而当你卸载/更新Segger的时候,注册表的相关的字段是不会被修改的,所以如果你卸载了你第一个安装的Jlink版本,这两个软件就会报错,提示找不到相应的DLL。安装更新版本的Segger也是不可行的,毕竟它还是不会修改相关字段。所以,我们需要手工修改下面两个注册表项...
2018-02-09 10:48:17
11812
4
转载 c语言中的#号和##号的作用
一、一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #i nclude #i nclude using namespace std; #define STR(s) #s #define CONS(a,b) int(a##e##b) int main() { printf(STR(vck)
2017-11-17 14:37:12
5320
转载 使用JLINK SEGGER RTT来打印和输入调试信息
1、使用JLINK SEGGER RTT打印调试信息很简单,首先从Jlink官网上下载RTT代码,然后将这四个文件添加到自己工程中去,并且在主程序工程中添加SEGGER_RTT.h文件之后可以使用SEGGER_RTT_printf(0,"Test%d\r\n",++u32Counter); 打印调试信息,在JLINK安装目录中打开J-Link RTT Viewer,就可以看到调
2017-08-04 11:33:00
2795
转载 浅谈工程师的调试法宝(五) -JScope的应用_MCU
我们在前四篇的文档中介绍了MCU向调试终端输出信息的方法。今天就介绍一个更炫更酷、可以图形化显示数据的调试法宝—JScope。J-Scope是SEGGER公司推出的,可以在目标MCU运行时,实时分析数据并图形化显示的软件。它不需要像SWO那样需要MCU上面额外的引脚,而是使用标准的调试接口。J-Link驱动4.90之后的版本都有这个软件哦。J-Scope可以
2017-08-04 11:21:33
1320
2
转载 浅谈工程师的调试法宝(四)---RTT的应用
RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都有这个软件哦。用RTT可以从目标MCU上输出信息的同时也可以非常高速的向应用程序发送信息,并且不影响MCU的实时性。其实现原理就是J-link与MCU共享内存,具体实现细节感兴趣的读者可以自己去查阅下资料,本文以应用为主。RTT
2017-08-04 11:18:50
781
转载 浅谈工程师的调试法宝(三)---SWO引脚的巧妙应用
在Cortex-M3\M4系列MCU中,内核的调试组件都有一个仪器化跟踪单元(ITM)。ITM的一个主要的用途,就是支持调试信息的输出(例如,printf格式输出)。ITM包含了32个刺激端口,允许不同的软件把数据输出到不同的端口,从而让调试主机可以把它们的信息分离开。每个端口都可以独立的使能/除能,还可以允许或禁止用户进程对它执行写操作。那么这些与MCU的SWO引脚有什么关系呢?刚才我们有说IT
2017-08-04 11:09:57
2754
转载 浅谈工程师的调试法宝(二)---半主机的巧妙应用
半主机是在调试ARM设备时,主机电脑可以与设备进行输入输出通信的一个机构。这个机构可以直接调用C语言库中类似printf和scanf的函数。这个机构的好处在于允许用户使用主机电脑的输入输出设备,方便了工程师们的软件开发过程。Semihosting 是通过设置软件中断(SWI)来实现的。调用了适当的软件中断和易于操作的软件中断的向量。关于半主机的实现原理,感兴趣的读者可以自行查阅
2017-08-04 11:08:14
1141
转载 浅谈工程师的调试法宝(一)---Printf串口输出
作为一名嵌入式软件系统工程师,掌握住高效快捷的调试方法,往往会在实际的项目开发中达到事半功倍的效果。今天就跟大家讲一讲我们在项目开发过程中,那些被我们忽视的调试法宝吧。通过串口打印实时打印出MCU的运行状态,想必大家都有用过,可你是不是仍然停留在串口打印字符函数(比如说函数名是StringUartSend)都需要自己写的时代。纵然我承认你C语言功底很深厚,但是其实你已经OUT了
2017-08-04 11:04:52
1027
转载 C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef
C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef.有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。
2017-07-02 09:20:33
599
转载 解决CC2540 XDATA内存不足
Reference:http://e2e.ti.com/support/low_power_rf/f/538/t/95098.aspxhttp://blog.sina.com.cn/s/blog_4c8287230100d5hx.htmlhttp://e2e.ti.com/support/low_power_rf/f/538/t/163680.aspxhttp://www.de
2016-11-09 11:21:13
460
转载 修改iar工程,字体变化的解决方法
修改iar工程,字体变化的解决方法 使用IAR的调试TI的小伙伴们,我们在打开别人的工程,修改了代码,添加了中文注释以后,下次在打开这个工程,工程中修改过的文件的字体变了,变的好丑好丑的,就像这样: 字体看着这么不爽,想在在Tool->Option->Editor里面修改字体,可是不起作用,考虑到其它
2016-07-06 20:43:24
3270
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人