同样的原理图,同一个程序,芯片用的是ADI公司的ADuC7061。在旧的板子上是可以实现的,但是下载到新板子上去串口却没了输出。(之前烧写程序失败,一直提示逻辑错误和Ulink连接的问题,后来确实因为keil的版本太低而下载不了程序,下载了一个keil4.6最新版本,终于将程序烧写到板子上)。串口上没输出是怎么回事呢?
各种检测方法:(尝试)
①将串口的RX和TX短接,让其自收自发,检测RS232,是可以正确收发到数据的。
②将单片机的TXD和RXD短接,自发自收,观察现象。
③将程序烧写到板子上,用示波器检测MCU的TX脚,是否有输出?(检测到旧的板子是有输出的,而新板子没输出,这能说明是硬件还是软件的问题呢)
④用万用表检测,如果IO的输出是3.3v,则TX脚如果没输出的话,就应该一直是3.3v;有输出的话,则应该是2.多V。
最终没检测出说明问题!
板子能烧写程序,只能说明板子没坏,还不能知道它是否工作起来没,现在决定弄给一个控制MCU的IO,再用万用表测试该脚的电平。。。。。希望明天能找到问题的所在。。。。。。。。。
问题终于还是在上周的周6下午找到了!原来是硬件的问题,由于硬件设计的疏忽,第一:JTAG的调试接口的3.3v没又接上,其次是RST的上拉电阻阻值太大,本来选10k即可,但是上面选了100k的上拉电阻,到时RST上拉失败,一直拉低、复位,每次烧写程序到板子上,就会复位。。。。。所以!╮(╯▽╰)╭,小小的上拉电阻,搞了快2星期才找出来!