找回密码
 立即注册
查看: 114|回复: 7

紧急救助

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-08-15 10:05:10
已绑定手机

1

主题

3

回帖

13

积分

新手上路

积分
13
发表于 2025-8-15 10:25:36 | 显示全部楼层 |阅读模式
没有用,刚才把KEIL里面重新设置了一下,还是那样
04c9e65bc6ecce8d4d5ef9a0be2db814_720.png
9b56e6957bf20faa8f5d43df0f9885dd_720.jpg
18448fadedf422e08ee3e18b84b1c47c_720.jpg
回复

使用道具 举报 送花

3

主题

2031

回帖

910

积分

等待验证会员

积分
910
发表于 2025-8-15 10:28:00 | 显示全部楼层
您好,您提到在KEIL中重新设置后问题仍未解决,建议您检查以下几点:

1. 项目配置:确认目标设备和晶振频率是否与实际硬件一致,错误的配置可能导致程序无法正常运行。

2. 编译器设置:确保使用正确的编译器版本,并检查优化选项是否合理,过高的优化可能引入兼容性问题。

3. 代码逻辑:排查是否存在死循环、未初始化的变量或指针越界等逻辑错误,这些可能导致程序卡顿或崩溃。

4. 硬件连接:检查开发板与电脑的连接是否稳定,USB接口或调试工具(如J-Link)是否正常工作。

5. 固件更新:尝试更新KEIL至最新版本,或检查是否有可用的补丁修复已知问题。

6. 日志分析:启用调试输出或查看系统日志,定位异常发生的具体位置。

若以上步骤仍无法解决问题,建议提供更详细的错误信息或代码片段,以便进一步分析。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-08-15 10:05:10
已绑定手机

1

主题

3

回帖

13

积分

新手上路

积分
13
发表于 2025-8-15 10:33:03 | 显示全部楼层
刚才C程序发了,帮忙看看有没有问题
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-08-15 10:05:10
已绑定手机

1

主题

3

回帖

13

积分

新手上路

积分
13
发表于 2025-8-15 10:36:09 | 显示全部楼层
主板功能非常简单,就是P15收到高电平就打开P32或者P12为1,再次收到P15低电平P32或者P12为0
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-08-15 10:05:10
已绑定手机

1

主题

3

回帖

13

积分

新手上路

积分
13
发表于 2025-8-15 10:37:43 | 显示全部楼层
主板没有晶振,用的是系统内部频率 11M
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2982

回帖

6361

积分

荣誉版主

无情的代码机器

积分
6361
发表于 2025-8-15 10:52:17 | 显示全部楼层
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-08-19 08:44:13
已绑定手机

13

主题

54

回帖

568

积分

版主

积分
568
发表于 2025-8-15 10:57:21 | 显示全部楼层

不要重复建帖,我把您上个贴发的代码和回帖移过来,那个贴我帮您删掉啦~


STC15W408AS  的P32,12脚无法输出,不知道是不是程序设置问题还是芯片问题



                //Keil开发环境下选择Intel的8058芯片型号进行编译
//工作频率为11MHz
#include <stdio.h>
#include <intrins.h>
#include <STC15.H>

unsigned char OK=1;  
unsigned int v=0,w=0;
unsigned char i2,i3,cc,vv;
typedef unsigned long         u32;

#define MAIN_Fosc       11000000L  

//--------------------------------------------------------------------------------------------------



void DelayXms(u32 xms)        //延迟1MS   11.0592MH
{
  u32 i,j;
  for(i=xms;i>0;i--)
    for(j=124;j>0;j--);
}


void exint2() interrupt 10     //INT0只能下降沿中断   
{

//P32=1脚,P10=2脚,P11=4脚,P33=8脚,P10=0;5秒配对
        INT_CLKO &= (0<<4);           //禁止中断2中断
   P34=0;//系统灯亮
        P10=0;
   DelayXms(6000);          //5000MS,5秒
      
    P10=1;
        INT_CLKO |= 0x10;      //(EX2 = 1)        使能中断2中断
        P34=1;//系统灯灭
}

void dz7881_2_B()                 //0触发
{
  P54=0;//B2
  DelayXms(3257);        //2.7S
        P54=1;//B2
        P33=0;//B1
        DelayXms(5429);//4.58S  5.614  5457
        P33=1;//B1
      
}

void dz7881_2_F()                 //0触发
{

        P37=0; //F1
        DelayXms(5429);//4.58S
        P37=1; //F1
        P55=0;//F2
        DelayXms(3257);        //2.7S  2.75  3260
  P55=1;//F2

}

void sysled()                 
{
  int i;
            
        for(i=0;i<10;i++)
        {      
         P34=0;
   DelayXms(300);
    P34=1;
    DelayXms(300);
  
        }
}


void main()
{
          P0M0 = 0xff;        //推挽输出(强上拉输出)  ,
    P0M1 = 0x00;
   
          P1M0 = 0x0f;        //推挽输出(强上拉输出) 0000 1111  P12,P15 灯输出,P11、P10是编码器输入
     P1M1 = 0xf0; //                     1111 0000
   
    P2M1 = 0x00;   //                       0000 0000
          P2M0 = 0x4c;        //推挽输出(强上拉输出)  0100 1100  P26,P23,P22


         
          P3M0 = 0xff;        //0000 0000  P3M0     0  高阻输入; 1   推挽输出(强上拉输出) 0  双向  1  开漏
      P3M1 = 0x00;  //0000 0000  P3M1     1             0                          0        1

    P4M0 = 0x00;        //双向
    P4M1 = 0x00;
      
    P5M0 = 0xff;         //推挽输出(强上拉输出)  P54控制继电器
    P5M1 = 0x00;
      
         //输出
    P10=1;//配对键,平时为1
      
    P55=1;//788-2,
         P54=1;//788-2
    P37=1;//788-1
    P33=1;//788-1
          P34=0;//系统灯  
   
     P32=0;//电源开关
                 
                 P12=0;//KEY3输出信号
     P11=0;//KEY2输出信号
     P10=0;//KEY1输出信号
     P13=0;//KEY4输出信号

   //输入         

     P17=0;//C4输入信号
     P16=0;//C3输入信号
     P14=0;//C1输入信号,通道1,高电平有效
     P15=0;//C2输入信号,通道1,高电平有效


     sysled();


  v=0;
        w=0;

  INT_CLKO |= 0x10;      //(EX2 = 1)        使能中断2中断
               
        P36 = 1;    //平时为1,如果有磁棒则产生一个尖峰脉冲
               
         IT0  = 0;   //设置INT0的中断类型(1:仅下降沿,0:上升沿和下降沿)
         
    EA = 1;         //打开总中断
   
      
         while (OK)
    {
     //************
  //通道2执行期间不允许执行通道1         
      if(( P14==1)&&( v==0))  //
                        {
                                //P14=1;
                                dz7881_2_B();
                                v=1;
                                                      
                  }
                       
                if(( P14==0)&&(v==1))
                                {
                                        v=0;//P14=0;
                                   dz7881_2_F();
                                }
                              
                if((15==1)&&( w==0))  //控制MOS管导通,1导通9.458秒
                        {
                                P32=1;//P12   都没有输出
                                w=1;
                       
                  }
                       
                if((P15==0)&&( w==1))  //控制MOS管导通,1导通9.458秒
                                {
                                        P32=0;//P12   都没有输出
                                        w=0;
                                 }      
                       
                       
                                       
               
                }

      
}

截图202508151056581475.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:536
  • 最近打卡:2025-08-23 05:54:51
已绑定手机

86

主题

5977

回帖

1万

积分

超级版主

积分
10824
发表于 7 天前 | 显示全部楼层
P32、P12作为输出,需要设置为推挽模式:

P3M0|=0x04;
P3M1&=~0x04;

P1M0|=0x04;
P1M1&=~0x04;

先写一个最简单的程序测试一下硬件是否正常:

while(1)
{
    P32=0;
    Delay1000ms();
    P12=0;
    Delay1000ms();
    P32=1;
    Delay1000ms();
    P32=1;
    Delay1000ms();
}

可在IO口接LED观察
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-23 22:33 , Processed in 0.127544 second(s), 84 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表