本帖最后由 zly188 于 2022-3-11 11:17 编辑
天问Block图形化编程非常方便,只要鼠标拖动图形指令就可以完成程序设计。图形化模块自动生成特定的C语言代码,非常方便,编程开发者梦寐以求制作属于自己的用户库。
一个库在用户界面上由这几部分组成:①是库的中文名称;②是指令图形块;③是驱动所需的头文件;④是图形块生成的代码。
库文件编程界面
其中,①②是必须的,有些库不需要自己制作头文件③就不一定有,有些图形块只是注释型的不需要生成代码也就不一定有④。
LED扩展案例
下面就以STC8中制作my_led库为例,讲解库怎么制作?图形块怎么生成。 库的添加和库开发工具,通过编程界面左下角的“添加扩展”按钮进入的。点击“添加扩展“按钮后,出现下面界面:
在”扩展“界面,顶部工具栏有“官方库”、“用户库”、“新建库”。 “官方库”就是通过官方验证发布的库,编程时可以直接加载使用。 上图所示:每个库封面都有一个封面图,项目链接,中文名称和介绍。其中封面图分辨率最好设置成:262*150。
1.分辨率为262*150的封面图(格式jpg\png)一张(如没有图片,将用内部默认图片)。 4.规划好库里要使用的指令图形块名称,图形块名称不能与官方相同,前缀最好加上STC8_my_XXX(芯片名称+my+XXX)。
根据以上要求:规划库的中文名称为“我的LED”,英文名称为“myled_lib”,介绍文字“我的LED使用”。图形块先制作一个“打开LED”(模块名称STC8_my_ledon),程序模块内容:“打开LED”,C语言代码先不生成。 适用芯片:STC8。
库封面图片文件
点击“新建库”,可以看到生成了一个默认模版,开始我们的制作旅程: 1.先修改模块名称、外观、连接方式、颜色,删除预处理代码和执行代码。 本案例仅修改了模块名称,可自行按需修改颜色。需要制作 其他类型的图形块时,请尝试修改外观和连接方式。
2.更改输入节点的方式:由于不需要值输入框,所以删除了值输入后从左侧列表拖入假输入模块至编辑区,然后输入文本“打开LED”,如图所示。
3.给输入节点,添加文本“打开LED”,如图所示。 4.现在点击工具栏“生成库”按钮,输入中文名称、英文名称、版本号,填写介绍,选择颜色和主板,最后上传封面图片。 5. 在上图中第一步XML文件编辑中点击“编辑”,查看XML文件是否正确。
首先查看模块名称是否正确,图形块的数量是否正确(如果创建了多个图形块,目前只有一个),如果不正确,点击“导入编辑区代码”,重新生成XML,检查后点击保存。
6. 导出扩展包,扩展包以英文名称命名“myled_lib.zip”,导出成功会自动关闭“生成库”对话框,保持库开发工具窗口打开。在“天问Block 2022”的添加扩展页面,找到用户库,点击本地导入,导入刚制作完成的扩展包。 现在可以看到C代码是没有生成的。接下去我们需要生成C代码。
7. 回到库开发工具中,生成执行代码,如下图所示: 在工具栏中点击复制,创建“关闭LED”图形块,修改名称为“STC8_my_ledoff”,修改文本,修改执行代码为“P4_1 = 0;”。
可以尝试导出扩展包到软件中使用,修改XML文件参照第4步。
8. 生成预处理代码,如下图所示:
拖入预处理代码图形块,选择“初始化”,在文本框中输入“P4M1&=~0x02 4M0|=0x02;//推挽输出”。
PS:如果需要复制本图形块到“关闭LED”中,可以如上图所示选中后使用键盘快捷键Ctrl+C进行复制,然后进入“关闭LED”界面,使用键盘快捷键Ctrl+V进行进行粘贴。
最后按照第4步,重新导出扩展包,进行最终测试。 重新编辑XML
测试正常使用后,我的LED扩展就完成了。
|