【发布时间】:2010-07-18 16:28:25
【问题描述】:
这是我的问题,PIC 16F913 的所有通信线路似乎都位于同一组引脚上,这很方便,因为我不必为了通信而牺牲 GPIO 引脚,但是问题是我现在的问题是,如果我在芯片上使用 SPI,如何将信息发送到 RS232?
之所以出现这个问题,是因为我刚买了一个通过 SPI 通信的 CAN 总线芯片,我很想看到 RS232 上的数据,所以我可以看到消息。 (我真的对 CAN 了解不多,所以谁知道这是否有意义)。
这是我看到的选项,也许其他人有更好的想法,而我只是错过了。
- 不知何故设置了一个时间方案,每次我获取数据时都会在 SPI 和 RS232 之间切换,
-- 这似乎并不难,应该可以工作,但是假设我不想错过一条消息,如果我在写 RS232 时写了一条消息,我会不会错过它?
2.. 我总是可以使用 SPI,但随后通过 8 条 GPIO 线构建我自己的通信总线,连接到另一个 PIC 16F913,仅使用 GPIO 线,然后由于第二个 PIC 上的 RS232 线是空闲的,我可以只需读取数据并将其吐出即可。
-- 这个是可行的,但现在我们浪费了 2 个芯片和所有 GPIO 线,
必须有更好的方法。或者有吗?
非常感谢任何帮助。
更新:我想澄清一下,显然一种解决方案是使用完全不同的芯片(如果我可以对 18F 进行编程,这实际上可能是我最终要做的事情),但是,我对最坏的情况感兴趣在我资源有限且只有一些 913 的情况下,上述方法是使用此芯片的唯一方法,还是有更好的方法?
【问题讨论】:
-
为什么一定要使用16F913? 18F 系列中的大多数部件很容易有足够的资源同时使用 MSSP 和 EUSART 模块;其中一些(例如 18F25J11)允许您重新配置外围设备使用的引脚,因此您不需要 84 引脚设备来使用单独的模块。
-
不幸的是我有pick kit 2,它将通过ICSP进行编程,但由于某种原因,我无法获得必须使用它进行编程的18F4550。所以我有点卡在16系列上。我想知道这是否是 18 系列的电压问题,我需要在不久的将来研究这个问题(学校快要放暑假了……呜呜呜)
-
您是否将 PGM 引脚拉低以禁用低压编程模式?让引脚浮动是我遇到的常见问题。
-
至少在使用 ICD2 时,18F 系列(例如 18F14K50)中有几个部件需要适配器来调节编程电压。但是this tutorial 建议您对于您所描述的硬件不需要任何此类适配器。仔细检查您的接线并确保您的保护二极管设置正确(或尝试将其取出,这有时对我有帮助)。
-
谢谢你们,我没有对它为什么不起作用进行任何真正的调查,但看起来 Mark 建议的教程确实使用了外部 P/S,我只是直接使用USB供电,至于PGM引脚低,我得看看,我不确定,实际上我只是连接了4个引脚进行编程,然后点击“编程”我遇到的另一个问题是MPlab 无法识别我有 ICSP 设置,因此我必须使用 PIK Classic 环境(我的名称可能有误)。不确定那是否也只是不认识它。
标签: microcontroller pic microchip