关于USMART调试组件,用过的大家都不陌生,应该是出自于原子哥的教程。
因为我百度一看全是原子哥的源码,原子哥这个模块写得确实不错,让我吸取了不少。
不过最近发现这个组件有一个很大的问题,函数所有的参数都是int,也就是说所支持的函数不能有其他
数据类型,比如常用的float。数据类型这么多,其实用到的就是int和float。
(说明:虽然可以用其它方式来弥补,但是还是让人不舒服)
下面是我自己写的一个USMART调试组件,设计框架和原子哥类似。只是添加了float类型支持。
开发平台:vs2012
语言:c语言
关于移植:移植到单片机非常容易,因为没有调用库函数,只调用了sizeof()
部分代码剖析:
数据结构设计,ARGC_TYPE里支持了int float类型
全局数据定义和函数列表初始化
所有函数框架,因为代码有点多,不能全部放上来
所有测试的函数
主函数部分
测试效果
测试了很多函数,都可以正常解析执行。
目前只实现到3个参数的随意函数,已上参数只支持类型。
目前可能还有异常输入没有做优化,严格按照函数列表来是没有问题的
提供源码学习:https://download.youkuaiyun.com/download/hes_c/10619941