完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
HARMony中的SPI驱动程序不适合我的应用程序,因此我编写了一些简单的例程来代替它。这需要关闭MPLAB Harmony Configurator中的SPI驱动程序。不幸的是,这意味着我丢失了简单的图形引脚分配表,它允许我为SPI配置PPS(外围引脚选择)。当我关闭MHC中的SPI驱动程序时,SPI外围设备会从该表中消失。我如何才能使它出现在表中,这样我就可以配置PPS,而不必在应用程序中设置Harmony SPI驱动程序?
|
|
相关推荐
5个回答
|
|
我想你不想破解SyssiPosisx初始化了吗?:-)在任何情况下,您是否尝试将SPI客户端和实例的数量保持在0?我不确定这是否可行,但这只是一个建议。出于好奇,为什么SPI驱动程序不适合?
|
|
|
|
PLIB_PORTS_RemapInput(PORTS_ID_0,INPUT_FUNC_SDI1,INPUT_PIN_RPC14);PLIB_PORTS_RemapOutput(PORTS_ID_0,OUTPUT_FUNC_SDO1,OUTPUT_PIN_RPD10);
|
|
|
|
SPI驱动程序不适合我的目的,因为它似乎被设计成以与“驱动程序”在现代操作系统中的工作方式大致相同的方式工作。它的用途非常广泛,试图覆盖所有可以想到的用途,并且似乎设计成在例如将文件系统保存在SD卡上或与图形显示对话时工作得很好——换句话说,它似乎设计成来回发送大量信息,并且包含这样做是必要的开销。现在,这本身并不是一件坏事,但有一些固有的局限性妨碍了我。例如,如果不跳过一些严重的循环,比如关闭并重新打开驱动程序,或者实现本论坛其他部分描述的解决办法,就不可能轻松地与来自同一SPI通道的多个不同类型的从设备进行通信,其中每个从设备可能有所不同NT波形、时序和字大小要求。我在应用程序中使用SPI的方式是控制I/O芯片。我可能有NXP公司的数字输入芯片,英飞凌公司的数字输出芯片,模拟设备公司的DAC和许多其他部件。每个部分的SPI设置通常是不同的。我不发送或接收巨大的数据缓冲区,它只是8, 16, 24,或者32位取决于部分。我服务这些在2000赫兹ISR。每次中断,我都会对着不同的芯片说话。我从PIC32上的一个SPI频道做的。在每次ISR调用中,多次去初始化和重新初始化大型重型SPI驱动程序是没有意义的。只需填写几个寄存器并发送数据就更有意义了。这就像珠宝商的钳子和5英尺的管子扳手的区别。-)但是…这将是伟大的,如果我可以保持良好的MHC引脚设置表。编写调用PLIB_PORTS_RemapOutput()和PLIB_PORTS_RemapInput()的代码没什么大不了的,但是找到正确的标识符作为参数传递要比单击MHC中的框花费更长的时间,更糟糕的是,它丢失了MHC的真实值,这让我们一眼就能看出您并非偶然。把一个以上的东西映射到同一个PIN上。
|
|
|
|
好像你有多个客户机,但是你只想使用一个SPI实例来为他们服务。这是非常可能的,通过SPI驱动程序。您不需要多次初始化/初始化驱动程序。您需要执行以下操作才能完成工作:初始化一个SPI驱动程序实例,然后使用将设置SPI回调的“clientConfigure”API为每个客户机配置SPI驱动程序。在回调中,您可以禁用相应的CS行。在队列中添加SPI读/写请求,按照您希望关闭在和谐应用程序内完成的客户端驱动程序的顺序,有一个多从属演示,您可以看一下以便更好地理解它。
|
|
|
|
我实际上希望看到主题创建者所提到的同样的事情。我希望能够在不必实际选择驱动程序的情况下保留引脚。我之前在论坛上提出过,甚至提交了一张关于它的支持票,但是有两个主要原因是MHC中的“PIN预留”功能是令人敬畏的:1。我们有电气工程师,他们实际上设计了我们固件工程师编写的代码板。我真的很想能够把MHC交给他们,让他们很容易地配置板将使用的引脚,而不必解释所有的和谐和IT驱动架构。这对于使用PPS的设备来说特别有用。2。我们有用于SPI、I2C和其他外围设备的C++驱动程序,所以无论如何我们都不会使用和声驱动程序。尽管如此,我们仍然需要设置PIN。可以使用MHC来添加PIN XML文件,并添加大量的HCOFIG文件来生成这样的特性,但是拥有本地支持将是非常酷的。
|
|
|
|
只有小组成员才能发言,加入小组>>
4899 浏览 9 评论
1863 浏览 8 评论
1808 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3006 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2092 浏览 5 评论
500浏览 1评论
357浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
407浏览 0评论
297浏览 0评论
1053浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 12:23 , Processed in 1.128111 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号