PIC C语言代码向导






4.94/5 (22投票s)
创建用于 PIC 微控制器的 C 代码模板。默认模板用于 Hi-Tech (tm) PICC 编译器。
引言
我在工作中进行一些用于 PIC 微控制器的 C 编程。前一段时间,我开发了一个“PIC”C AppWizard(在 MS-Visual Studio v6 下)来创建 C PIC 应用程序。现在我决定将其制作成一个 Win32 “常规”可执行文件,这样向导就不再依赖 Visual Studio IDE 了。
此 PIC-C 向导创建的 C 代码模板可用于某些 Microchip (tm) PIC 微控制器,并使用 Hi-Tech 的 PICC 编译器 (tm)。我知道这两个限制了该工具的可用性,所以我希望有人能觉得它有用。
提供的演示文件是使用此向导创建的演示 PIC C 项目的一部分。
特点
- GUI 界面,用于帮助用户设置 PIC 的硬件和软件。
- 创建 C 代码模板,这些模板可以使用 PICC (tm) 编译器用于嵌入式版本,也可以使用 Visual C/C++ 用于 PIC 应用程序的 PC 版本进行编译。
- 处理不同的用户。
- 为 PICC 编译创建一个基本的 make 批处理文件,并为 MS Visual C/C++ v6.0 创建一个项目文件 (.dsp)。
- 用户可以通过编辑文本信息文件 (PIC.INF) 来添加或删除 PIC 微控制器。
- 用户可以修改、添加和/或删除默认的 C 模板,因此向导会生成具有用户编程风格的 C 代码。
- 它包含基本的源代码注释,可以使用 doxygen 创建文档。
说实话,所有这些功能尚未 100% 实现,向导可能仍然“有错误”。我仍在进行开发,会发布频繁的更新。
Install
我还没有为这个工具创建安装程序。所以现在,只需下载它并将其放在您选择的文件夹下。我已经在 Windows XP、2K 和 NT SP6 上进行了测试。
此向导的工作原理
用户文件夹和默认 C 模板文件
向导将在向导的根文件夹下创建一个文件夹。该文件夹将命名为:Templates_<username>
。例如,如果当前登录用户是 trinity,则创建的文件夹将是:Templates_trinity
。这是向导将放置默认 C 模板和用于为不同用户创建 PIC 应用程序的配置文件的地方。如果由于某种原因删除了用户文件夹,向导会再次创建它并包含默认模板。
用户可以修改这些 C 模板,向导只会替换其中的宏。
这是向导生成的文件的列表
PIC 和 PC 通用
- pic.h:此文件将包含在源代码中,它将加载 PICC 的 pic.h 或 picpc.h(用于 Win32)。
- main.h:此文件将被重命名为应用程序的名称。用户可以在此文件中添加特定于应用程序的各种定义。
- main.c:此文件也将被重命名。它将包含 C
main()
入口点和中断向量,以及基于简单任务调度器的默认程序结构。用户可以在此文件中添加特定于应用程序的代码。 - typedefs.h:此文件将包含应用程序的嵌入式版本和 Win32 版本通用的定义。
- picpcproj.inf:此文件包含将成为应用程序项目一部分的模板文件。它包含关于关键字的简要说明,以指示向导如何创建项目文件。
- confirm.inf:它包含在创建项目文件之前要显示的文本信息。
- pic.inf:它包含将要列出选择的 PIC 微控制器的列表。可以通过修改此文件来添加或删除微控制器。添加新微控制器所需的信息可以从 Microchip 的产品线卡获取。
用于 PIC 编译
- picc.h:它将包含比应用程序更具体的 PIC 定义。
- picc.c:它将包含不同支持函数的代码实现,用于 PIC 编程,具体取决于用户选择创建应用程序的选项。
用于 PC 编译
- picpc.h:它将包含更具体的 Win32 编程定义。
- picpc.c:它将包含尝试模拟 PIC 外围设备的各种支持函数的代码实现。嗯,这个效果不太好。
你可能会想,为什么会出现一个应该进入 8 位微控制器的应用程序的 Win32 版本?因为其想法是在将零和一真正下载到微控制器之前,在一定程度上调试应用程序。这个想法一开始对我来说是合理的,因为在 VC 下调试更容易。但很快我就发现我缺乏模拟 PIC 外围设备的时间和知识。
嗯,至少它有助于我调试一些使用基于浮点算法的应用程序。
向导如何创建 PIC 应用程序?
由于我多次使用 Visual C/C++ AppWizard,我的大脑无法想到另一种好的实现方式,只能模仿 MS-VC 的方式。当然,我的实现与真正的相比有所不足,但我认为它完成了任务。所以这个向导基本上会在所有模板文件中查找称为宏的特殊单词,并用用户通过 GUI 界面提供的值替换它们。
此向导的一个明显优势是 C 模板对用户开放修改。这是有道理的,我的意思是,我提供了这些 C 默认模板,它们只反映了我有限的 C 编程经验;对新手来说足够了。但对专家来说,嗯,我们最好再看看那段代码。
现在,如果有人要开始修改默认模板,就需要了解所有可用的宏,我将在不久的将来在本文中包含它们。
可以修改源代码以创建另一个向导吗?
简短的回答是肯定的。我很快就会提供更多关于如何修改提供的源代码以创建另一个向导的信息。
如何使用
教程即将推出……
修订历史
- 2003 年 5 月 6 日
- 初始版本。
致谢
什么?你真的认为向导中唯一酷的东西是我的编程吗?当然不是,我必须感谢这些家伙提供的优秀代码
- Chris Maunder 的 CGridCtrl
- Sven Wiegand 的 CTreePropSheet