打印

PIC18F25J1,可debug,但是烧写后无法运行?

[复制链接]
4385|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
busdriver|  楼主 | 2012-10-14 10:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
求教,谢谢!
沙发
busdriver|  楼主 | 2012-10-14 13:37 | 只看该作者

使用特权

评论回复
板凳
busdriver|  楼主 | 2012-10-14 14:10 | 只看该作者
现象:
烧录后,示波器测试CLKO-RA5输出时钟,但是过一会此输出时钟就消失了。

使用特权

评论回复
地板
Ryanhsiung| | 2012-10-14 19:05 | 只看该作者
现象:
烧录后,示波器测试CLKO-RA5输出时钟,但是过一会此输出时钟就消失了。
busdriver 发表于 2012-10-14 14:10
这个有输出说明程序还是有运行!
你的配置位我也不看了,分析的累啊!
  教你个方法:你用串口高度试一下,运行到一步,返回一个数据,运行到下一步再返回另一个数据(要不同的数据)。 看程序跑到那个位置死掉的。
  若没有串口,也可以使用其他总线,若都不方便可以使用几个IO口来看一下程序死在那了。

使用特权

评论回复
5
busdriver|  楼主 | 2012-10-14 22:14 | 只看该作者
本帖最后由 busdriver 于 2012-10-14 22:20 编辑

谢谢楼上回复!
我的程序有串口输出的。下面是输出的信息,只能输出这么多了,之后就停止了。
system clock initialized! Fosc=32MHz
UART initialized! Baud rate = 115200bps
initializing GPIO...done!
initializing timer1...done!Timer interrup

但是同样的程序,在另外一块板子(只是单片机相同)上,串口输出是正常的。
如下所示:
system clock initialized! Fosc=32MHz
UART initialized! Baud rate = 115200bps
initializing GPIO...done!
initializing timer1...done!Timer interrupt = 10ms
initializing parameters...done!
initializing LCD controller...done!
Enable interrupt
Enable watchdog
所以我怀疑是单片机坏了。
明天准备换一个,再试试。

使用特权

评论回复
6
Ryanhsiung| | 2012-10-14 22:57 | 只看该作者
加油

使用特权

评论回复
7
兰天白云| | 2012-10-15 12:55 | 只看该作者
换后怎么样?我关心一下

使用特权

评论回复
8
busdriver|  楼主 | 2012-10-15 23:30 | 只看该作者
换了片子。出现了新的现象:
1.初始化接LCD数据线的port为输出后,单片机就不停的复位。
initializing LCD controller...^ø…System starting...
system clock initialized! INTOSC,Fosc=8MHz
UART initialized! Baud rate = 115200bps
initializing GPIO...done!
initializing timer1...done!Timer interrupt = 10ms
initializing LCD controller...^ø…System starting...
system clock initialized! INTOSC,Fosc=8MHz
UART initialized! Baud rate = 115200bps
initializing GPIO...done!
initializing timer1...done!Timer interrupt = 10ms
initializing LCD controller...^ø…System starting...
2.如果不接LCD,单片机就不运行,串口无输出。电源稳定,换了电源也一样,这点很奇怪。

请高手帮忙分析。谢谢!

使用特权

评论回复
9
Ryanhsiung| | 2012-10-16 07:58 | 只看该作者
检查硬件,及控制程序

使用特权

评论回复
10
兰天白云| | 2012-10-16 15:11 | 只看该作者
换了片子。出现了新的现象:
1.初始化接LCD数据线的port为输出后,单片机就不停的复位。
initializing LCD controller...^ø…System starting...
system clock initialized! INTOSC,Fosc=8MHz
UART initialized! Ba ...
busdriver 发表于 2012-10-15 23:30

1、硬件上可能有短路,而且与LCD有关
2、不接LCD并不是单片机不运行,而是运行了不该运行的程序,或死循环

使用特权

评论回复
11
busdriver|  楼主 | 2012-10-18 22:38 | 只看该作者
MCLR接上拉就能启动了。
但是新问题又出现了:
先说系统配置:
1.内部32M晶振,波特率115200bps
2.双串口,均是接收中断,查询发送。
现象:
1。开机串口1能发送数据
2。一旦接收到串口2的数据后,串口1就不能发送数据。TRMT始终是0,不能变1
主程序卡死在这条语句while (TRMT1 == 0);//pending until TSR is empty
接收中断还是正常执行。测量CLK输出也对,说明单片机还在正常跑。

使用特权

评论回复
12
busdriver|  楼主 | 2012-10-21 16:57 | 只看该作者
原因:串口PC和板子没有共地造成的。

使用特权

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

本版积分规则

44

主题

416

帖子

0

粉丝