TIwilliam hill官网
直播中

王梓炫

未满1年用户 8经验值
擅长:处理器/DSP
私信 关注
[问答]

普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?

首先,我为了解决这个问题,烧写了如下的代码进FLASH:
void main()
{

MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();
SMG_Init();

}
数码管虽然熄灭了,但是我观察到是亮过之后再熄灭的。当我把SMG_Init();注释掉之后再次烧写进FLASH,数码管再次亮了起来,这是为什么?

回帖(1)

lique

2024-8-19 16:17:47
根据您的描述,数码管在上电复位后会亮起,然后熄灭。这可能是由于以下几个原因:

1. **初始化过程**:在您的代码中,`SMG_Init();` 函数可能在初始化过程中对数码管进行了操作,导致数码管亮起。当您注释掉这个函数后,数码管再次亮起,说明这个函数可能与数码管的显示有关。

2. **默认状态**:数码管在上电复位后可能有一个默认的显示状态,这可能是由于硬件设计或者固件默认设置导致的。

3. **电源冲击**:上电复位时,电源冲击可能导致数码管短暂亮起。

为了解决这个问题,您可以尝试以下方法:

1. **修改初始化函数**:检查 `SMG_Init();` 函数内部的代码,看看是否有对数码管的控制操作。如果有,您可以尝试修改这部分代码,使其在初始化过程中不点亮数码管。

2. **设置数码管的初始状态**:在您的代码中,尝试在 `main()` 函数的开始处添加一条指令来设置数码管的初始状态为熄灭。例如,如果您使用的是GPIO控制数码管,您可以设置相应的GPIO引脚为低电平。

3. **检查硬件设计**:如果可能的话,检查数码管的硬件设计,看看是否有任何可能导致数码管在上电复位时亮起的因素。如果有,您可能需要修改硬件设计。

4. **使用延时**:在 `main()` 函数的开始处添加一个延时,以确保数码管在上电复位后有足够的时间熄灭。这可以作为一个临时解决方案,但最好还是找到根本原因并解决。

5. **查看数据手册**:查阅普中科技F28335开发板的数据手册,了解数码管的工作原理和控制方式,以便更好地解决问题。

通过以上方法,您应该能够找到导致数码管在上电复位后亮起的原因,并采取相应的措施来解决这个问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分