神农鼎 发表于 2023-9-28 14:58:20

工欲善其事必先利其器 !不能靠猜
我还是问楼主老问题,你用上仿真来查你程序错误了吗 ?


如何仿真演示视频,STC单片机硬件仿真演示视频 合集 - 仿真/ISP下载/做自己的ISP/编译器/头文件 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

tsunami87 发表于 2023-9-29 09:35:59

神农鼎 发表于 2023-9-28 14:58
工欲善其事必先利其器 !不能靠猜
我还是问楼主老问题,你用上仿真来查你程序错误了吗 ?



哈,我也想用仿真,可就是不成功。一直提示conntion to target system lost。所以只能暂时不用仿真调了

神农鼎 发表于 2023-9-29 10:24:15

你要把你的操作一步步贴出来,上班后,我们研发看到,才能帮你

tsunami87 发表于 2023-9-29 13:09:54

找到直接原因了,如图一个未使用的变量定义注释掉就正常了unsigned int ret = 0;

根本原因还不清楚。

编译信息:



是不是我的编译配置有问题?


仿真的问题,之后有空我在把操作过程写下,再请教了。

tsunami87 发表于 2023-9-30 11:20:03

tsunami87 发表于 2023-9-29 13:09
找到直接原因了,如图一个未使用的变量定义注释掉就正常了unsigned int ret = 0;

根本原因还不清楚。


神奇了,昨天注释掉unsigned int ret = 0;主循环正常了。今天加了点串口输出字符串的代码,又不行了。之前就有串口输出字符串的。现在是加了两句输出而已。关闭所有串口输出,也会不正常。

tsunami87 发表于 2023-10-3 20:16:47

tsunami87 发表于 2023-9-30 11:20
神奇了,昨天注释掉unsigned int ret = 0;主循环正常了。今天加了点串口输出字符串的代码,又不行了。之 ...

在timer中断有个串口发送的过程,去除后正常了。是不是就是因为这个原因呢?

梁工 发表于 2023-10-3 23:38:26

tsunami87 发表于 2023-9-28 14:39
主频是22118400,14KHZ是我在中断函数中反转gpio电平,用示波器测试到的频率。adc值没有上报,只是简单做 ...

你可以用一个IO指示你的中断执行时间:
中断函数
{
P10 = 1;
中断代码;
P10 = 0;
}
示波器看P1.0的高电平时间,以及周期。

tsunami87 发表于 2023-10-7 09:19:05

梁工 发表于 2023-10-3 23:38
你可以用一个IO指示你的中断执行时间:
中断函数
{


是的,试过了,中断处理很快几个us。
现在是不确认是不是下面这个原因导致的:
“在timer中断有个串口发送的过程,去除后正常了。是不是就是因为这个原因呢?”
目前都正常了,大概率是这个原因,但不理解是怎么造成的

梁工 发表于 2023-10-7 10:11:22

tsunami87 发表于 2023-10-7 09:19
是的,试过了,中断处理很快几个us。
现在是不确认是不是下面这个原因导致的:
“在timer中断有个串口发 ...

你在timer中断里查询发送吗?
串口一定要中断收发,尽量少占用CPU时间。
4个串口都可以同时高速(115200bps)全双工通信,占CPU时间不超过20%(每个串口收发一个字节耗时2us左右@24MHz)。

tsunami87 发表于 2023-10-20 09:18:00

梁工 发表于 2023-10-7 10:11
你在timer中断里查询发送吗?
串口一定要中断收发,尽量少占用CPU时间。
4个串口都可以同时高速(115200b ...

哈,是的在timer中断发送的。不过也不频繁,100ms一次,发送几十个字节。
现在去掉timer中断发送就好了。谢谢了
页: 1 [2]
查看完整版本: PCA 捕获异常,单片机执行速度变慢 | 已解决