完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我正在尝试使用新的和谐2.01栈编写一个应用程序。我意识到这是测试版,但我的问题更多的是哲学问题,而不是详细问题,我相信它也适用于HARMony 1.xx堆栈。我正在编写一个图形/触摸/u***等应用程序,并试图把它们放在一起。我需要的是一个蜂鸣器,当屏幕上的一个按钮被触摸时,蜂鸣器会发出哔哔声。这是否是我在堆栈中创建的模块,以便可以使用MHC添加它,或者应该在我的应用程序部分对其进行编码?如果要将它编码到堆栈中,有没有人知道一种实现方法,而不必是破译和谐的配置结构的天才(或心灵感应的勺子弯曲专家)?我已经用我需要的触摸控制器测试了添加新模块的过程,发现有许多.hconfig、.ftl、.c和.h文件需要更改。这些文件既处于驱动程序/模块的层次,也处于更深层次。似乎需要一个配置实用程序来解析所有这些文件并在需要添加它们的地方添加内容。否则,普通人几乎不可能理解如何正确地输入这些内容。当我添加完我需要的所有模块/驱动程序后,是否有正确的地方添加我的应用程序代码?例如,如果我想在添加按钮时让按钮执行一个功能,那么似乎我需要编辑生成的模块之一,然后每次从MHC重新生成时,该模块都会不断地提醒我更改。这是正确的方法吗?还是应该进一步修改堆栈,让这些函数调用一个屏幕特定的回调函数,该函数可以在我的应用程序中而不用在生成的文件中。我只是重复了很多次才能让我的应用程序正常工作吗?杰森
|
|
相关推荐
14个回答
|
|
|
你说的“栈”是什么?您有几个选项。但是请注意,在下一个版本中,他们正在从头开始重写图形库。最简单的方法是在每次触摸事件处理程序中触发嘟嘟声。其他选项将需要对库进行编辑。
|
|
|
|
|
|
在这种情况下,我称之为和谐“堆栈”。我读了关于重写的文章,幸运的是,我现在所学到的教训仍然有助于我前进。以前我用队列设置了一个RTOS任务。在队列中,我有能力指定一个时间,关闭时间和重复。然后把指令传递给蜂鸣器。它使得访问任何其他任务变得非常简单。根据我的经验,这是实现多哔哔声的最好方法。因此,我的想法是创建一个模块,可以通过和谐配置器添加,以便为我处理这个问题。它很容易在和谐之外编码,但是试图让它和谐地工作是非常困难的。
|
|
|
|
|
|
和谐不是堆栈,更是一个图书馆。它包含一个网络和USB堆栈。你不能改变MHC。改变图书馆会给你带来其他问题。首先在每个按钮事件中发送一条消息。
|
|
|
|
|
|
对不起,错误的术语。你当然可以添加新的模块(或者如果你知道你在做什么,就改变旧的)。他们甚至给出了一个示例模块作为示例。请注意附带的图像以蜂鸣器模块的开头表示。我的问题不是在每个按钮事件中发送消息。我知道怎么做。我的问题是在后台执行RTOS任务的正确方法是什么。Microchip是如何让我创建的?我应该把文件放在哪里?我很想把它放在和声配置器中,这样我就可以重复使用它,但是看起来很复杂。
|
|
|
|
|
|
Microchip没有提供任何关于如何修改和添加MHC的信息。
|
|
|
|
|
|
很好。有人有什么建议吗?当然,人们一定经历过这一切。基本库集在硬件支持方面非常有限。我已经放了一张支持票,但我认为人们必须对此有一些经验。
|
|
|
|
|
|
我没有看到你想做什么的帖子。我所见到的最伟大的是增加一个BSP。你所尝试的是不需要使用和声的。
|
|
|
|
|
|
这就是我张贴的原因。提出对话的主题。可能不是必需的,但是它确实为协调添加了大量的功能。例如,如果您有一个带有图形控制器的显示器,那么如果将该图形控制器添加到协调中,以便下次您想要使用它,这是一个主要的优点不要到处乱蹦乱跳。只需点击显示器,它就会为你加载。我已经成功地完成了,而且它工作正常。设置起来似乎非常困难,这就是为什么我问是否有人有更聪明的方法做这件事。所以,如果我不应该创建模块,你会如何建议创建一个RTOS任务。在项目的文件结构和和声库中,你将把所有的文件都放进去。对于我上面概述的蜂鸣器场景?让我们通过按钮处理程序中的基本知识发送一个调用。
|
|
|
|
|
|
如果你修改了和声,你只需要在下个月晚些时候发布的时候再做一次。添加一个任务?你可以用代码做,就像没有和谐一样。
|
|
|
|
|
|
我真的不想劝阻你回答这个问题,但是你对我有点消极,南茜。我正在试图摆脱自己做这件事,试图利用微芯片框架的旧观念。我有一个信念,微芯片已经给了我们一个强大的工具,以创建项目,并说,只是做老的方式真的不是我想要的。我想你可能认为我只是个笨蛋,不知道他在干什么。当然,我可以把我自己的C文件放在项目中的任何地方,并写一个RTOS任务。我在问什么是“适当”的方式。
|
|
|
|
|
|
这没什么大不了的。我从1.03以来就一直在调整和睦,到目前为止还不错。
|
|
|
|
|
|
Skaptor,你添加了新的模块还是修改过的旧模块?添加新模块似乎非常耗时。向一堆不同的文件添加位。您找到关于如何做到这一点的文档了吗,还是通过深入研究来了解?到目前为止,我做的是后者,我只是想知道是否有一个工具或文档说明如何自己做。我发现最耗时的部分就是找到要创建哪些.ftl文件,并将数据放入system_.、system_definitions等。
|
|
|
|
|
|
嗨,你可以添加一个新的模块来协调你似乎已经使用蜂鸣器模块的方式,包括创建FTL模板和和谐配置器菜单,就像你演示过的。另一种方法是使用配置器来创建驱动程序和外围配置和初始化。使用图形作图器制作图形控件和布局,使用已有的控件和函数,然后在某个阶段停止使用配置器,将生成的代码放在源代码版本控制下,编写应用程序代码,调用库API函数,系统服务功能,为了处理硬件,你可以调用库函数,比如端口和PIN I/O函数,或者调用外围层接口函数。你也可以完全绕过和声,并在寄存器LeVE上直接控制外围设备,从应用程序代码。对于蜂鸣器设备,我将选择一个尚未被配置为在和谐中使用的定时器,在PWM模式中的输出比较模块,在定时器寄存器中设置重复频率,PWM中的占空比,并启用PWM信号的输出引脚。然后您可以通过切换输出比较ON位来控制蜂鸣器,或者通过改变定时器周期寄存器或占空比(即蜂鸣器音量)通过改变OCxRS寄存器值来改变频率。
|
|
|
|
|
|
我为LCD控制器添加了一个自定义驱动程序,我修改了一些FTL文件,只包含了驱动程序。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:13 , Processed in 1.096576 second(s), Total 96, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2615