ucgui之移植

来源:互联网 发布:sql视频教程 编辑:程序博客网 时间:2024/05/21 10:23

程序编写优秀否与内聚和耦合有很大关系。一般情况下力求耦合性小,内聚大为好。内聚与耦合像一对反义词。为达到内聚性能高,一般采用分层。

程序的编写按纵向角度来说叫分层,分块是从横向的角度来说,对于一个工程来说为更好的分工合作必须先进行横向分块,设计各块的接口是关键,否则影响内聚性,当然横向接口越少越好。

纵向分层可以更好的进行内聚,以ucgui,uc/os,fatfs文件系统来说,正因为有了分层才可以有现成的东西可以用,在进行现成东西移植时最关键的在于.h文件中的配置和最底层函数的编写。要想完成底层函数的编写必须先弄清楚系统开发者留下了哪些底层接口函数给使用者自己编写(这些东西往往与使用者自己的硬件有很大的关系,不可通用),在弄清哪些函数为底层接口函数后,可以直接改写函数定义,也可以定义函数供底层函数调用,这样做可以更好地内聚,但调用之间会增加调用时间。有些底层接口函数写好后,又可以供其他底层接口函数调用。

底层接口函数形式有直接函数名的,也有#define 的。

ucgui底层接口函数#define LCD_INIT_CONTROLLER()    LCD_Config();,LCD_Config()是所谓的初始化函数,可以随意更改函数名,但需更改#define LCD_INIT_CONTROLLER()          ********,初始化包括LCD的最原始初始化。

ucgui底层接口函数有LCD_L0_Init、LCD_L0_SetPixelIndex、LCD_L0_GetPixelIndex、LCD_L0_DrawHLine、LCD_L0_DrawVLine、等,但并非所有函数都需更改,根据需要更改,平常这些基本函数都需要重写,为了更多功能的使用,建议还是都重写。这些函数中有些功能经常用到,如写像素、获得一个像素值,因此将这些封装成函数,为了和底层函数的区分,因此LCD_Driver的文件夹通常包含两个.c文件,一个是底层函数接口,另一个最近本的LCD驱动,如写像素值等。

个人总结移植的思想结构,如有不对之处请见谅、指正。



0 0