串口导致单片机死机

作者&投稿:孛柳 (若有异议请与网页底部的电邮联系)

单片机串口发送数据就死机,这是怎么回事?
UART_Send_Byte(s[i]);这又调用了一个函数,这个函数在哪里?是怎么写的?是查询方式发送的吗?每发送一个字节要等待,即必须要有while(!TI);TI=0;这两行的。还有串口初始化的程序在哪里,main()主程序中并没有初始化。你这程序什么都不写,就发送数据呀,不死机才怪了。

单片机出现死机一般是什么原因导致的和主板有没有关系
1、程序设计不合理,尤其是内存管理不善 2、晶振是否接触不牢固 3、终端是否产生矛盾结果

单片机的程序为什么老是死机?
资源竞争:多个任务或中断同时竞争相同的资源,导致死锁或资源无法释放,从而导致死机。堆栈溢出:程序使用的堆栈空间不足以存储函数调用过程中的局部变量和返回地址,导致堆栈溢出而死机。外部干扰:单片机受到外部干扰或者噪声,导致程序执行异常而死机。电源问题:供电不稳定或者电源质量差,导致单片机无法正常...

请教各位大侠,关于单片机长时间运行死机的问题
长时间运行死机的原因相对也算多:①有振荡器(特别是陶瓷振荡器)振荡不良,长时间运行后,振荡器停振导致单片机死机。②有单片机(特别是国产某晶)性能不佳,平均每1~1月就有一次死机。③有设计(硬件抗扰)不佳,使用环境出现恶劣条件(各种干扰:静电、电磁、脉冲……),导致单片机死机。………对...

STM32单片机程序死机,有哪些原因引起
1、意外中断。是否打开了某个中断,但是没有响应和清除中断标志,导致程序一直进入中断,造成死机假象。2、中断变量处理不妥。若定义某些会在中断中修改的全局变量,这时要注意两个问题:首先为了防止编译器优化中断变量,要在这些变量定义时前加volatile。其次在主循环中读取中断变量前应该首先关闭全局中断,...

单片机死机的原因求助高手
单片机死机的原因,通常是因为周围环境干扰比较严重,如工厂车间各种机器,电焊机等工作时,就是产生很强的干扰脉冲,加上单片机的防干扰措施不到位,就是会被干扰破坏了正常的动行,造成飞程序,进入死机状态。如果是在这种环境下的单片机,就是做好防干扰措施。

单片机串口通信过程中电脑死机
再插上USB线也无济于事。只能关机重启。正确的做法是只能关闭串口后,在拔出USB线 3.如果你的面包板从USB取电的话,建议不要超过450mA电流,否则会引起电脑死机重启 如果你是STC系列的单片机,推荐使用FT232,CH340系列的USB转串口线会稳定很多。其他芯片的USB转串口线用在STC单片机上,毛病多多 ...

大侠,单片机死机是什么原因
也许是因为程序跑进死循环了,也许是因为干扰导致,或程序本身就有错误,这个一般可以先查程序方面的问题,查完程序的话看看外部是不是有大的功率等,引起干扰。另外要检查下你的电源是否稳定。

单片机程序死机跑飞可能有哪些原因
5. 看门狗没有关闭。有的单片机即使没使用看门狗开机时也有可能意外自动开启了最小周期的看门狗,导致软件不断复位,造成死机,这个要看芯片手册,最好在程序复位后首先应该显式清除看门狗再关闭看门狗;6. 堆栈溢出。最难查找的问题,对于容量小的单片机,尽量减少函数调用层级,减少局部变量,从而减少压栈的...

单片机死机现象
程序跑飞了,或是进入死循环了。建议你在不用的中断上,也写上一句跳转指令,转向主程序,这样能解决一部分问题

呈骅15915082586问: 单片机串口发送数据就死机,这是怎么回事? -
登封市依尔回答: UART_Send_Byte(s[i]);这又调用了一个函数,这个函数在哪里?是怎么写的?是查询方式发送的吗?每发送一个字节要等待,即必须要有while(!TI);TI=0;这两行的.还有串口初始化的程序在哪里,main()主程序中并没有初始化.你这程序什么都不写,就发送数据呀,不死机才怪了.

呈骅15915082586问: 一插上串口线 单片机就无法工作 -
登封市依尔回答: 有可能你的MAX232坏掉了,换一个试试

呈骅15915082586问: 如何避免等待串口通信应答而造成的死机现象? -
登封市依尔回答: 椋�蛭�亲远���阉魍�� ,所以单片机W77E58 必须要等到模块的应答信息才能正确地执行AT命令~~ 我想用程序在查询方式下先关掉串口0 (用于接收数据)中断,延时过后没有收到应答再进入死循环故意让程序跑飞,过512个时钟周期...

呈骅15915082586问: 单片机串口通信过程中电脑死机 -
登封市依尔回答: 可能的原因:1.你的USB转串口线质量不好,或是驱动不良,或是此设备在win7 64位机上工作不正常.2.如果你使用的是PL-2303HX系列的USB转串口线,那么在电脑打开串口后,拔掉USB线,一定会死机,再插上USB线也无济于事.只能关机重启.正确的做法是只能关闭串口后,在拔出USB线3.如果你的面包板从USB取电的话,建议不要超过450mA电流,否则会引起电脑死机重启 如果你是STC系列的单片机,推荐使用FT232,CH340系列的USB转串口线会稳定很多.其他芯片的USB转串口线用在STC单片机上,毛病多多

呈骅15915082586问: 为什么我的51单片机用无线串口模块通讯就死机,而用PC通讯就正常 -
登封市依尔回答: 你的程序有问题,看看你定义的通信用的数组是否有溢出,通常这种情况会造成死机.把数组设大点

呈骅15915082586问: 单片机串口死机,发送一个命令进去执行一次就没反应了,必须重启单片机,这是怎么回事? -
登封市依尔回答: 将 while(TI==0); 改为 while(TI==1);

呈骅15915082586问: 串口通信导致51单片机复位? -
登封市依尔回答: 如果是RS232接口的串口,检查一下MAX232转换芯片是否损坏.因为RS232串口电平最大范围是-15V到+15V,单片机是5V的绝对受不了的.如果由于某些原因导致MAX232击穿或者损坏就会导致±15V直接加到单片机IO上.这样就会造成单片机重启.如果并不是RS232接口而是TTL串口的话.在没有共地的情况下也会由于静电的原因导致单片机重启(例如:有些笔记本电脑并没有连接到3孔插座当手触碰到USB外壳等金属时会有触电的感觉) 解决方法最简单的就是加一个光耦元件隔离电平.

呈骅15915082586问: 使用电脑串口与单片机通讯时黑屏 -
登封市依尔回答: 继电器触电拉弧造成严重干扰(串口线上会有高压脉冲传入电脑),会使电脑、单片机死机、重启.必须添加灭弧RC滤波器,串口最好也用光电隔离的

呈骅15915082586问: 单片机串口中断处理 -
登封市依尔回答: void Inter() interrupt 4//中断服务 { uchar Data; while(RI==0); RI=0; Data=SBUF; while(TI==1); //中断停在这里 TI=0; SBUF=Data+1; } while(TI==1);用于发送后等待发送完成.单片机接收到数据时TI不会至1.把它去掉就行了

呈骅15915082586问: 51单片机在什么情况下会产生串口中断 -
登封市依尔回答: 呵呵呵,你单片机内部要配置串口的啊,你不配置怎么会产生中断那,你配置好串口后, 如果有数据下发到单片机串口,串口接收RI会被值位的,需要软件清零!


本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网