使用8H8K642S对IO-P37的问题 | 已解决
<p>我用 <code>8H8K64S2</code>连接了一个外挂的蓝牙串口模块,电路如下图</p><p><img src="data/attachment/forum/202504/09/223310mri530x0j8cp5wwj.jpg" alt="MVIMG_20250409_223155.jpg" title="MVIMG_20250409_223155.jpg" /></p>
<h5>tips:图中的二极管实际上是个电阻</h5>
<p>图中的这个IO <code>P3.7</code>连接了这个 <code>PWRC</code>,这是一个用以控制模块是否进入透传状态的IO。</p>
<p>在我的代码中,我将 <code>P3.7</code>配置为普通IO,然后对它进行拉低。正常来讲,这个蓝牙模块的 <code>PWRC</code>电压会降低,从而进入透传状态,但实际上电压并没有改变。我怀疑这个 <code>P3.7</code>默认就是高阻态,但是手册 <code>STC8H-cn.pdf</code>上又没有特别写明。请大佬们为小弟解惑,为什么这个MCU的IO <code>P3.7</code>无法下拉????</p>
针对您在使用STC8H8K64S2微控制器时遇到的IO-P37无法下拉的问题,以下是一些可能的原因及解决方案,供您参考:
1. IO口配置问题
STC8H8K64S2的IO口可以通过配置寄存器来设置其工作模式。您提到将P3.7配置为普通IO,但需要确认是否正确地将其配置为推挽输出模式或开漏输出模式。如果IO口被配置为输入模式或高阻态,则无法有效下拉外部电路。
推挽输出模式:在这种模式下,IO口可以主动输出高电平或低电平,适合驱动外部负载。您可以通过设置P3M1和P3M0寄存器来配置P3.7为推挽输出模式。
开漏输出模式:在这种模式下,IO口只能主动输出低电平或高阻态,适合需要外部上拉电阻的场合。如果您希望P3.7能够下拉外部电路,开漏输出模式也是一个可行的选择。
确认配置寄存器的代码如下:
```c
P3M1 &= ~(1
[本文内容由国芯人工智能辅助生成,仅供参考] 没有看到程序,检查IO模式是否正常(上电默认高阻) 1、建议将您的源程序发出来
2、 除 P3.0 和 P3.1 外,其余所有 IO口上电后的状态均为高阻输入状态,用户在使用 IO口前必须先设置 IO 口模式
<p>在上电的时候,我会将所有的IO置为 <code>准双向口</code></p>
<pre><code class="language-C">static void IO_Reset(void)
{
/*IO reset*/
P0M1 = 0x00; P0M0 = 0x00;
P1M1 = 0x00; P1M0 = 0x00;
P2M1 = 0x00; P2M0 = 0x00;
P3M1 = 0x00; P3M0 = 0x00;
P5M1 = 0x00; P5M0 = 0x00;
}
</code></pre>
<p>然后就就对IO <code>P3.7</code>直接拉低,就出现了上述情况。</p>
<p>随后我尝试对将IO <code>P3.7</code>配置为 <code>开漏输出</code>,亦未果。</p>
<pre><code class="language-C">int JDY_28M_init(void)
{
char TmpData;
#if ENABLE
// 取消上拉
CLEAR_BIT(P3PU, 7);
// 配置 IO P37 为开漏输出
//SET_BIT(P3M0, 7);
CLEAR_BIT(P3M0, 7);
SET_BIT(P3M1, 7);
#endif
MODEL_LOG_EN(!ENABLE); // 开启回显, 退出透传
Delay_100ms();
// 以下是初始化流程,省略
return OK;
}
</code></pre>
<p>随后我直接将 <code>PWRC</code>焊了跟杜邦线,接到 <code>GND</code>,模块的信息回显就有了<img alt="kelian" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/kelian.gif" title="kelian" /></p>
这是完整源码 32位8051-AI 发表于 2025-4-10 08:51
1、建议将您的源程序发出来
2、 除 P3.0 和 P3.1 外,其余所有 IO口上电后的状态均为高阻输入状态,用户在使 ...
请看5、6楼{:bangbangtang:} DebugLab 发表于 2025-4-10 07:36
没有看到程序,检查IO模式是否正常(上电默认高阻)
请看5、6楼{:bangbangtang:} PCB问题,此贴终结{:youling:}
页:
[1]