找回密码
 立即注册
查看: 211|回复: 8

keil5更改device后编译正常,运转异常

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-08 16:04:30

6

主题

27

回帖

158

积分

注册会员

积分
158
发表于 2024-12-22 17:34:10 | 显示全部楼层 |阅读模式

谁知道如何解决Keil更改device后编译可以正常,但是发现程序跑到delay函数就死掉了,delay函数是单独的一个delay.H的文件下面的

求解

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:156
  • 最近打卡:2025-04-29 00:51:09

24

主题

229

回帖

1281

积分

金牌会员

积分
1281
发表于 2024-12-22 19:13:32 | 显示全部楼层
发程序呀,什么都不发,谁知道具体什么情况,根据这个现象猜也没法猜
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-08 16:04:30

6

主题

27

回帖

158

积分

注册会员

积分
158
发表于 2024-12-22 23:17:43 | 显示全部楼层
CyberH*** 发表于 2024-12-22 19:13
发程序呀,什么都不发,谁知道具体什么情况,根据这个现象猜也没法猜

程序没啥,就是一个串口1中断,初始化EA=1,加了1000ms延迟,用仿真测试了下,只要打开EA总中断,然后24Mhz下delay软件延迟超过1000MS程序就跑飞而且串口也不能正常接受数据只能发送
单片机是STC8H8K64U,同样的程序用STC15W408AS就没有问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-08 16:04:30

6

主题

27

回帖

158

积分

注册会员

积分
158
发表于 2024-12-22 23:18:20 | 显示全部楼层
sess*** 发表于 2024-12-22 23:17
程序没啥,就是一个串口1中断,初始化EA=1,加了1000ms延迟,用仿真测试了下,只要打开EA总中断,然后24M ...

单片机是STC8H8K64U
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:239
  • 最近打卡:2025-05-02 03:42:37

22

主题

283

回帖

905

积分

高级会员

积分
905
发表于 2024-12-23 09:57:08 来自手机 | 显示全部楼层
session 发表于 2024-12-22 23:17
程序没啥,就是一个串口1中断,初始化EA=1,加了1000ms延迟,用仿真测试了下,只要打开EA总中断,然后24Mh ...

可能中断函数没写
REMOVEUNUSED
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:156
  • 最近打卡:2025-04-29 00:51:09

24

主题

229

回帖

1281

积分

金牌会员

积分
1281
发表于 2024-12-23 14:33:22 | 显示全部楼层
sess*** 发表于 2024-12-22 23:17
程序没啥,就是一个串口1中断,初始化EA=1,加了1000ms延迟,用仿真测试了下,只要打开EA总中断,然后24Mh ...

打开的中断必须要有中断函数
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-08 16:04:30

6

主题

27

回帖

158

积分

注册会员

积分
158
发表于 2024-12-24 00:47:06 | 显示全部楼层
CyberH*** 发表于 2024-12-23 14:33
打开的中断必须要有中断函数

//void SendLongT(u32 l)         //发送文本
//{                       
//        u8 str2[11];
//        sprintf(str2,"%lu",l);  
//        SendStr(str2);
//}

经过仿真屏蔽代码调试发现是上述代码与RTC有冲突,应该是函数sprintf函数与RTC有冲突,具体原因不详,屏蔽上述代码后就没有问题了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-08 16:04:30

6

主题

27

回帖

158

积分

注册会员

积分
158
发表于 2024-12-24 00:47:41 | 显示全部楼层
邮*** 发表于 2024-12-23 09:57
可能中断函数没写

//void SendLongT(u32 l)         //发送文本
//{                       
//        u8 str2[11];
//        sprintf(str2,"%lu",l);  
//        SendStr(str2);
//}

经过仿真屏蔽代码调试发现是上述代码与RTC有冲突,应该是函数sprintf函数与RTC有冲突,具体原因不详,屏蔽上述代码后就没有问题了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:348
  • 最近打卡:2025-05-02 08:34:59

7

主题

281

回帖

1055

积分

金牌会员

积分
1055
发表于 2024-12-24 07:06:26 | 显示全部楼层
仔细看看编译链接的提示,可能某个模块没链接到
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 20:49 , Processed in 0.127803 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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