2536|3

7815

帖子

57

TA的资源

裸片初长成(中级)

楼主
 

只为uC而生,uS成长历程 11(个人公共函数库释出!) [复制链接]

首先跟大家说句不好意思

昨晚上出了些状况,加上十一二点的时候,我打开不了论坛,所以没能如期一天一贴。

现在继续补上。

[ 本帖最后由 辛昕 于 2013-8-10 16:47 编辑 ]
此帖出自编程基础论坛
点赞 关注
 

回复
举报

7815

帖子

57

TA的资源

裸片初长成(中级)

沙发
 

所有函数接口list

昨晚喝了点酒,不知为什么后劲很大,一直晕沉沉的,对着没啥特别的公共函数愣是整理不下去。刚睡了一觉才觉得有点精神。

我考虑了一下,把目前几个程序项目里用到的所有 公共函数 集中起来,然后整理了 所有函数声明 如下:
  1. Nopdelay();
  2. Delay();

  3. Dec_2_String();
  4. Clear_Buffer();   //  重复

  5. Split_4();
  6. Combine_4();
  7. Split_2();
  8. Combine_2();

  9. ClearTimer();
  10. RunTimer();
  11. IsTimeout();
  12. IsMaxTimeout();
  13. IsTrueTimeout();

  14. runTimer(); // 参数不同
  15. resetTimer();// 参数不同

  16. recvBuffer();
  17. recvByte();

  18. IsTimeout();//参数不同  而且命名不好;
  19. TimeoutStr_Initial();
  20. recvTimeoutData();

  21. String_Copy();
  22. String_Clear();
  23. String_Joint();

  24. // 这里命名也非常不好,因为,实质上它们是在 复制,清除,连接 任意八位缓冲,而非字符串;
复制代码
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

板凳
 

修改好了,先列出新的 头文件,检查一下

新的 公共函数库 有5个源文件
  1. #ifndef _DELAY_
  2. #define _DELAY_

  3. void Nopdelay(U32 delay);
  4. void Delay(U32 delay);

  5. #endif

  6. // end of file -----------------------------------------------------------------
复制代码
  1. #ifndef _DATA_CONVERT_
  2. #define _DATA_CONVERT_

  3. #include "typedef.h"

  4. int Split_4_Byte(U32 sub,U8 *Buffer);
  5. int Combine_4_Byte(U32 *Result,U8 *Buffer);

  6. int Split_2_Byte(U16 sub,U8 *Buffer);
  7. int Combine_2_Byte(U16 *Result,U8 *Buffer);

  8. #endif

  9. // end of file -----------------------------------------------------------------
复制代码
  1. #ifndef _ASYN_TIMER_
  2. #define _ASYN_TIMER_

  3. #include "typedef.h"
  4. #include "CommonMacro.h"

  5. void RunTimer(U32 *AsynTimer);
  6. void ClearTimer(U32 *AsynTimer);

  7. U8 IsTimeout(U32 AsynTimer,U32 MaxTimeout);

  8. U8 IsMaxTimeout(U32 *Timer,U32 MaxTime);
  9. U8 IsStatusTimeout(U8 LogicFlag,U32 *Timer,U32 MaxTime);

  10. #endif

  11. // end of file -----------------------------------------------------------------
复制代码
  1. #ifndef _BUFFER_UTIL_
  2. #define _BUFFER_UTIL_

  3. #include "typedef.h"

  4. int Buffer_Copy(U8 *dest,U8 *source,U8 length);
  5. int Buffer_Clear(U8 *buffer,U8 length);
  6. int Buffer_Joint(U8 *dest,U8 *source,U16 start,U8 length);

  7. #endif

  8. // end of file -----------------------------------------------------------------
复制代码
  1. #ifndef _RECV_TIMEOUT_
  2. #define _RECV_TIMEOUT_

  3. #include "typedef.h"

  4. typedef struct
  5. {
  6.     U32 Timer;
  7.     U8  RecvLen;
  8.     U8  CurrentLen;
  9.     U8  RecvBuff[250];   
  10. }TimeoutStr;


  11. int recvBuffer(TimeoutStr *Str,U8 *buffer,U8 len);
  12. int recvByte(TimeoutStr *Str,U8 Data);

  13. int IsRecvTimeout(TimeoutStr *Str,U32 nTimeoutMs)  ;

  14. //==============================================================================

  15. int recvTimeoutData(TimeoutStr *Str,U8 *Buf,U32 Timeout);

  16. #endif

  17. // end of file -----------------------------------------------------------------
复制代码
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

4
 
检查了一遍,没什么疏漏。
现在我要把它移到我的 stm8s项目上使用
不过,显然有些API我改了名字,还有头文件路径我也要重新指定,但大概是不会遇到什么麻烦的。

完成,没什么大麻烦。
如前所述,只是需要修改一下一些盖了明子的接口和头文件名字而已。

这里顺带附上 这个完整的 库。

注:上面的检查我有点粗心,以至于忘了增加 Dec_2_String();
所以修改时我加上了。
下面贴上的附件是完整的。


说明。在我这里,我是用iar for stm8编译的。
但这不是什么大问题,你一样可以使用其他工具编译

只是要做一些小调整,诸如头文件路径之类的设置。

PublicLibrary.rar (37.74 KB, 下载次数: 0)

[ 本帖最后由 辛昕 于 2013-8-10 16:47 编辑 ]
此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表