完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的是STM8S103单片机,自己编写的程序在买的最小系统板上能够正常运行,但在自己做的板子上出现问题,问题如下:刚焊接好电路板下载程序完成后单片机正常运行,但是运行经过一段时间后就无法运行了,重新上电也无法运行,甚至重新下载程序到板子上也无法继续运行,使用外部时钟和内部时钟也是一样的情况,只有用风枪吹单片机才能运行(单片机是20脚的封装,焊接应该没问题,不然一开始就无法运行了),请各位大神帮忙看看是什么问题。
while (1) { if (((PC_IDR&0x08)==0x00)&&(flag_stop==0))//stop signal from Hall1 { flag_stop=1; flag_start=0; tiM2_CR1=0x00;//close TIME2 PB_ODR&=0xcf;//turn off LED PD_ODR|=0x0c;//send start signal to master and open the buzzer Delay(50); for (i=0;i<4;i++)//send time to master { PD_ODR=0x08&((s/10)< Delay(50); } for (i=0;i<4;i++)//send time to master { PD_ODR=0x08&((s%10)< Delay(50); } PD_ODR&=0x00;//reset PD Delay(1000); PD_ODR|=0x20;//send control K1 to master } if (((PC_IDR&0x10)==0x00)&&(flag_stop==0))//stop signal from Hall2 { flag_stop=1; flag_start=0; TIM2_CR1=0x00;//close TIME2 PB_ODR&=0xcf;//turn off LED PD_ODR|=0x0c;//send start signal to master and open the buzzern Delay(50); for (i=0;i<4;i++)//send time to master { PD_ODR=0x08&((s/10)< Delay(50); } for (i=0;i<4;i++)//send time to master { PD_ODR=0x08&((s%10)< Delay(50); } PD_ODR&=0x00;//reset PD Delay(1000); PD_ODR|=0x40;//send control K2 to master } if ((((PC_IDR&0x08)==0x08)||((PC_IDR&0x10)==0x10))&&(flag_start==0))//start signal form Hall1 or Hall2 { flag_stop=0; flag_start=1; PD_ODR&=0xf7;//reset PD3 s=0;//reset second TIM2_CR1=0x01;//open TIME2 /** if (s>=60) { s=0; TIM2_CR1=0x00;//close TIME2 PB_ODR|=0x30;//turn on LED PD_ODR|=0x08;//send stop signal to master Delay(450); } **/ } }
|
|
相关推荐
7个回答
|
|
你先排除数软件原因 还是硬件原因 软件的话 你这种情况 只能是进入深度低功耗休眠了 没唤醒 硬件的话 无非就是 电源电压不稳定 晶振和复位电路
最佳答案
|
|
|
|
hobbye501 发表于 2017-5-2 11:57 应该不是软件问题,同样的程序在别人的板子上又不会发生这样的问题,可能是电源问题,因为赶时间我布线的时候那个104的滤波电容我放到其他地方去了,单片机的电源没有经过那个104,会不会是这个问题? |
|
|
|
灰色空间HQ 发表于 2017-5-2 13:50 这个样子的话 资料不妨上原理图看看 |
|
|
|
灰色空间HQ 发表于 2017-5-2 13:50 电源一般不用104 芯片的电源和地 最好加个 板子电源 一般是10UF 左右 胆电容或者点解电容 |
|
|
|
电源芯片用的是XL1509-5,输出端使用一个470UF的点解电容和一个104瓷片电容,我做了两块板子,另一块板子的单片机电源引脚是接到104后面的,没有出现问题,我把出问题的那块板子单片机的电源引脚切了换到104瓷片电容后面还是会出现这个问题 |
|
|
|
|
|
|
|
我现在也出现了同样的问题,你的问题解决没?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:15 , Processed in 0.806129 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号