4个回答
展开全部
首先我对框架的看法:框架是为了方便我们程序员开发 减少代码量,及代码质量的工具 。框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。
也就说,程序框架更多的从代码可用性角度来定义,对于应用层,这样的概念很多,比如java开发框架,net框架等等,在单片机里面,我认为:可能更多的框架应该是面向硬件操作行为,即做好单片机基本硬件模块的操作函数,封装成一个API函数,然后再你main route里面使用这些API函数的接口,建立与外界的联系。
我一般的做法是:
1.做好基本数据结构的重定义,比如typedef一些基本数据类型,使之能够通用。。
2.做好所有端口的映射,因为单片机的管脚是很多是复用的,做好这些cross-pin,对于复用很有帮助。。
3.做好涉及部件接口的操作函数接口,比如IIC总线,做好IIC总线操作的代码,包括read,write函数;
4.做好基本的通用函数接口,比如延时功能,串口调试功能,这些功能接口尽量做到与通用匹配,比如使用delay_ms(),sprintf等等;
5.每一个接口对应一个C文件和H文件,这样组织框架很容易,而且也容易寻找不同接口包含在那些文件里面。。
其他的,就是自己的一些开发习惯了吧。。
也就说,程序框架更多的从代码可用性角度来定义,对于应用层,这样的概念很多,比如java开发框架,net框架等等,在单片机里面,我认为:可能更多的框架应该是面向硬件操作行为,即做好单片机基本硬件模块的操作函数,封装成一个API函数,然后再你main route里面使用这些API函数的接口,建立与外界的联系。
我一般的做法是:
1.做好基本数据结构的重定义,比如typedef一些基本数据类型,使之能够通用。。
2.做好所有端口的映射,因为单片机的管脚是很多是复用的,做好这些cross-pin,对于复用很有帮助。。
3.做好涉及部件接口的操作函数接口,比如IIC总线,做好IIC总线操作的代码,包括read,write函数;
4.做好基本的通用函数接口,比如延时功能,串口调试功能,这些功能接口尽量做到与通用匹配,比如使用delay_ms(),sprintf等等;
5.每一个接口对应一个C文件和H文件,这样组织框架很容易,而且也容易寻找不同接口包含在那些文件里面。。
其他的,就是自己的一些开发习惯了吧。。
展开全部
2012年时候因为项目需要写了个小型实时系统,专用于stm32的,后来没事做了大修改,取名udoos,应该是你所谓的框架,很另类。准备开源,有兴趣的话交个朋友,切磋切磋。
更多追问追答
追问
交朋友 相互分享 相互切磋
1217795559
追答
q号?晚上回去加你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
uint32_t的,uint16_t有应该是32位和16位数据类型定义,你看看宏定义应该能够找到,*(__IO uint16_t有*)(Bank1_LCD_C)指Bank1_LCD_C成uint16_t有*类型的指针,那么索引分配指针,((uint32_t的)0x60000000)的地址是相对简单的,是要转换的数据0x60000000 uint32_t的类型。由于_IO这就是它! #定义__ IO挥发性/ * <定义“读/写”权限* /
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是刚学的话~可以看看STM那个CMSIS的官方库~但是慢慢就会发现神马库都是浮云~效率才是硬伤~
多点看看DataSheet和一些C语言优化得资料,如果学懂内联汇编的话,自己做个库是个很不错的选择!
多点看看DataSheet和一些C语言优化得资料,如果学懂内联汇编的话,自己做个库是个很不错的选择!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询