换了一个串口工具测试,串口助手可以正常接收mcu发来的数据,在接收数据之前需要在串口助手的发送窗预先 ...
不需要的打开就能收到,还是检查工具问题。
ercircle 发表于 2025-9-29 18:02
不需要的打开就能收到,还是检查工具问题。
好的,我等下再具体测下;
另外,我现在用的串口硬件工具不是你上面发的这个,有没有可能是我现在用的usb工具和isp不兼容导致的ISP串口读不出来mcu发的数据? 张旗红 发表于 2025-9-29 18:09
好的,我等下再具体测下;
另外,我现在用的串口硬件工具不是你上面发的这个,有没有可能是我现在用的usb ...
标准的串口工具都支持的,可以直接短接工具的TXRX引脚测下。
另外可以在串口线上抓下示波器波形,
Bus Hound抓下USB数据。
ercircle 发表于 2025-9-29 18:22
标准的串口工具都支持的,可以直接短接工具的TXRX引脚测下。
另外可以在串口线上抓下示波器波形,
我使用另外一个串口助手可以调通,先不使用ISP串口助手了。
但是对该款芯片我有一个疑问点:我发现主函数内即使没有while死循环,程序也会执行成一个死循环,STC的板子都是这样的处理逻辑吗?
测试代码如下:
#include <STC15.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit LED=P1^2;
void main()
{
u16 Cycle1;
u16 Cycle2;
LED=0;
for(Cycle1=0;Cycle1<10000;Cycle1++)
{
_nop_();
}
LED=1;
for(Cycle2=0;Cycle2<10000;Cycle2++)
{
_nop_();
}
}
LED的波形如下:
张旗红 发表于 2025-9-30 14:36
我使用另外一个串口助手可以调通,先不使用ISP串口助手了。
但是对该款芯片我有一个疑问点:我发现主函数 ...
跑完重跑嘛,一般都会有个主循环的 ercircle 发表于 2025-9-30 15:19
跑完重跑嘛,一般都会有个主循环的
好的。就是说我在编写代码时,你说的这个主循环对我是不可见的,是吧?我也改不了这个主循环?如果我在main函数里面加了while死循环,程序就会卡在while死循环里;如果没加while死循环,程序就会卡在那个我不可见的main的主循环里,是这样吧?
张旗红 发表于 2025-9-30 15:54
好的。就是说我在编写代码时,你说的这个主循环对我是不可见的,是吧?我也改不了这个主循环?如果我在ma ...
应该说是未定义行为,代码跑飞复位重新进入main函数。开发中避免让MCU脱离代码控制 。
正常来说,应该在main函数里面给出while死循环,让mcu持续运转;但是如果没有给while死循环,main函数会执行到未定义状态,这款芯片对未定义状态会默认执行复位功能,是吧?因为我代码没有调用看门狗,而且烧录时也没勾选“上电硬件自动启动看门狗”。
页:
1
[2]