打印

单片机却无限次的传输给PC

[复制链接]
1150|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2017-6-18 23:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机串口传输到PC,设置执行40次,但是单片机却无限次的传输给PC,希望有谁能解释一下。程序如下:
for(k=0;k<N;k++)
{
while(!con_end);
EA = 0; // 关中断
AD0INT=0;
temp= ADC0;
temp &= 0x000fff;
// EA = 1; //开中断
temperature = temp*100L*3/1024;
temp_int = temperature/100;
temp_frac = temperature - (temp_int * 100);
// for(x=0;x<4000;x++);

// for(x=0;x<4000;x++);
printf ("V_input is %02d.%02dV\n", temp_int, temp_frac);
TMR3CN |= 0x04;
EA = 1;
con_end=0;
// AMX0P=0x0c;
// AD0EN=0;
}
我在佛for循环后面添加了while语句,就不能传输给PC机了。又是为何?

相关帖子

沙发
shimx| | 2017-6-18 23:04 | 只看该作者
con_end=0;这句语句使while(!con_end);始终成立,程序就停在这里了,至于说为什么永远发,你的N值是不是在其他程序里被更改了。

使用特权

评论回复
板凳
jiaxw| | 2017-6-18 23:08 | 只看该作者
查看一下发的都是什么码 是不是乱码呢 如果是的话检查你的硬件

使用特权

评论回复
地板
spark周| | 2017-6-18 23:10 | 只看该作者
仿真一下,看看N的变化

使用特权

评论回复
5
午夜粪车| | 2017-6-18 23:13 | 只看该作者
单步调试一下看看

使用特权

评论回复
6
jiajs|  楼主 | 2017-6-18 23:15 | 只看该作者
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽

使用特权

评论回复
7
51xlf| | 2017-6-23 23:15 | 只看该作者
变量一致没有执行完成。

使用特权

评论回复
8
i1mcu| | 2017-6-23 23:15 | 只看该作者
无限次传输是什么意思?

使用特权

评论回复
9
pmp| | 2017-6-23 23:16 | 只看该作者
你的40是在哪里设置的

使用特权

评论回复
10
mmbs| | 2017-6-23 23:17 | 只看该作者
while条件在哪里定义的

使用特权

评论回复
11
1988020566| | 2017-6-23 23:17 | 只看该作者
上一个完整的代码工程文件。

使用特权

评论回复
12
lzbf| | 2017-6-23 23:18 | 只看该作者
串口是否设置中断了?

使用特权

评论回复
13
houjiakai| | 2017-6-23 23:18 | 只看该作者
这个代码不完全,所以不好判断。

使用特权

评论回复
14
youtome| | 2017-6-23 23:19 | 只看该作者
while(!con_end);这是一个死循环

使用特权

评论回复
15
cemaj| | 2017-6-23 23:19 | 只看该作者
你的程序很大的问题,仔细检查一下。

使用特权

评论回复
16
51xlf| | 2017-6-23 23:20 | 只看该作者
你的变量N在哪里定义的?

使用特权

评论回复
17
i1mcu| | 2017-6-23 23:20 | 只看该作者
数据的发送跟变量的类型有关系。

使用特权

评论回复
18
pmp| | 2017-6-23 23:20 | 只看该作者
没有看到执行次数的限制条件呢。

使用特权

评论回复
19
mmbs| | 2017-6-23 23:20 | 只看该作者
con_end一直未0,所有永远执行。

使用特权

评论回复
20
1988020566| | 2017-6-23 23:20 | 只看该作者
这个的工程不好完全判断实现。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝