我正在使用此函数 GPIOPinWrite()来打开和关闭 LED。 我的板上的 LED 位于端口 C 和引脚6上。 当我将其关闭时、我使用以下函数:
GPIOPinWrite (GPIO_LED_base、GPIO_GREEN _LED、0x00);
它可以正常工作、但我正在使用的另一个器件连接到端口 C 和引脚5。 使用上述功能后、器件不再工作。 我假设是因为我正在禁用整个端口、而不是单个引脚。 有人能帮我解决这个问题吗? 谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在使用此函数 GPIOPinWrite()来打开和关闭 LED。 我的板上的 LED 位于端口 C 和引脚6上。 当我将其关闭时、我使用以下函数:
GPIOPinWrite (GPIO_LED_base、GPIO_GREEN _LED、0x00);
它可以正常工作、但我正在使用的另一个器件连接到端口 C 和引脚5。 使用上述功能后、器件不再工作。 我假设是因为我正在禁用整个端口、而不是单个引脚。 有人能帮我解决这个问题吗? 谢谢
如果"GPIO_GREEN_LED"的"定义"不介入(任何) PC0-PC3、则您应该可以接受。
这假设参数二(如所述)避开了 PC0-PC3中的(任何)引脚。 (为 JTAG 保留的那些)
幸运的是、有一种(通常)电路板恢复方法。 您对旨在"调试端口解锁或恢复、类似"的论坛搜索框(本页顶部)的使用应会显示详细信息...
这里的大多数使用"LM 闪存编程器"-实用程序选项卡-显示"Debug Port Unlock"。 (或 DID -在我们较旧版本的 LM 闪存编程器下-由于 J-Link 及其(改进的)不同方法的卓越性能、我们未使用此类编程器...)
您好、Ralph、
他的写作(有点)令人困惑-然而(正如我的引述所述)海报抱怨 PC5 (单独)得出:"该器件不再工作了!"
由于海报(过去)成功使用"PC6"(当然是0x40)、我相信(大多数)评审团成员会同意 PC5s 使用0x20...
与往常一样-(这次)书面细节中的魔鬼-这些是"不清楚"的。
(请向您的"同胞海报(PC2的海报影响 PC3的名声)、看看您是否"购买"了我最新的"远程诊断"。 (尝试为您节省更多时间/精力-这显然是用户-客户端错误)
您好 CB1、
目前 Marco 的措辞表明:
因此、主要问题是 GPIO_GREEN_LED 定义为什么。 完全同意 POST 请求的根本原因是 PC5上的器件无法正常工作、 我只是试图澄清、Bruno 的问题是验证报告的问题函数上使用的 GPIO_GREEN_LED 值、但尚未详细说明它的含义、实际上是0x40、除了0x40什么都没有、因此只有 PC6发生了更改 该代码行。 这是我们有希望的共识假设、但尚未得到验证!
此外、我们目前甚至不知道该 PC5器件的设置是什么... 需要更多信息、我想我们都同意吗?
希望 Marco 能很快向我们提供这些细节。
[引用 user="Bruno Saraiva"] PC5是他不想控制的内容。
原谅-我不会从海报的文章中"得到"这一点。 (两个对一个-让我们再次看看证据中的"少数"事实。)
海报上写道(这是"真实副本")"我正在使用的另一个器件连接到端口 C 和引脚5。"
现在-正如海报中的-相当故意-与 PC5建立了联系-"您如何认为 PC5是未读的或不受控制的?"
我能不能承认我的“高兴”,因为“你们中的任何人”——至今还没有——通过我的 J-Link 要求我(强迫维修)“失序的控制器”——(而我的整个6-2,235磅的身体——在恐惧中摇晃!)
[报价用户="Charles Tsaa"]您能否确保电路板上的两个引脚之间没有短路或任何问题?
您好、Charles、
你的同胞“拉尔夫”和我——很早——可能也觉得“短”潜力——但(近距离)检查发现两个信号之间存在“延迟”—这证明不可能出现“直流短”。
当输入(非常)高阻抗时(迹线彼此靠近并并联几英寸)、并且"激励信号具有(非常)快速的信号边缘时、Fi/I 已看到此类信号"重影"!
您好、Charles、
我@的幽默可能(再次)变得不那么令人迷惑。
供应商的 Ralph -和 I -遇到(可能)不需要的信号耦合问题-但对于完全不同的帖子! 这是我的"螺旋式"(我的借口是那个小时)、在(仍然)移动了我们的外部仓库之后-昨晚。 (这是一个持续的过程-我们有许多精密的设备、实验室设备、子组件、电源组件等。)
现在、就像早期一样、海报使用"0x00"来清除(希望只是这样) PC6 (或 PC5 -我还不清楚)可能证明太广泛-太残酷了? 我们知道 param 2 win "GPIO_PinWrite()"有效地限制了"写入设置的范围"-但它是否限制了写入复位(或清除?) 是否不采用"/0x40"(或类似)提供更安全(即更有限/更有针对性)的复位方法?
("家"指的是-但到目前为止-我"逃脱了...") (并且切勿"回答门上的"敲门...")
您好、Charles、
我尝试更改电路板、同样的问题。
我尝试对 PC5和 PC6使用示波器、它们未短接。
它发生了非常怪异的事情。 如果 I 代码:
GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_6、GPIO_PIN_6);
GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_6、0x00);
我的外部设备将停止工作。
相反、如果我仅编写代码:(基本上不会在前面打开 LED)
GPIOPinWrite (GPIO_PORTC_BASE、GPIO_PIN_6、0x00);
外部设备正在工作。 这个外部器件在 PC5上有一个中断引脚。 他无法连接到 PC6。
有趣的是、我的红色 LED 也会发生同样的情况、即 PC7上的情况。 如果我尝试打开和关闭它、外部器件将无法工作。
请原谅检查以下事项:
如果您可以(暂时)切换到另一个 MCU 端口(一个具有寻址 LED)并运行相同的代码、这将非常有用。 (具有必要的端口寻址修改)
如果在这些"要点"和您的"新更改的端口遭受类似的损害"中找到"无故障"、则应提交原理图并说明此"神秘外部器件"的"ID"。