打印

PIC18F25J1,串口打印问题

[复制链接]
3107|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
busdriver|  楼主 | 2012-10-20 20:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
配置:
1.外置11.0592M晶振,波特率115200
2.串口转USB,secureCRT 软件PC打印
问题:
接上ICD3,上电PC打印正常;但拔掉仿真器,上电串口输出乱码。
沙发
NE5532| | 2012-10-20 20:30 | 只看该作者
是上电时候输出若干个乱码还是一直出乱码??

使用特权

评论回复
板凳
busdriver|  楼主 | 2012-10-20 20:31 | 只看该作者
若干个,不一直出

使用特权

评论回复
地板
NE5532| | 2012-10-20 20:32 | 只看该作者
正常的,单片机串口输出没有加上拉电阻或者初始化程序设定有问题,输出上出现了低电平,被PC端当启动位读了。

使用特权

评论回复
5
busdriver|  楼主 | 2012-10-20 20:35 | 只看该作者
正常
initializing GPIO...done!
initializing timer1...done!Timer interrupt = 10ms
initializing parameters...done!
Enable interrupt
initializing LCD controller...done!
ICD3必须接上电脑!

不接ICD3,输出
?ooow縲?o镲?o?oo?稃?{亏{锓?镲{??靠亏

使用特权

评论回复
6
busdriver|  楼主 | 2012-10-20 20:35 | 只看该作者
本帖最后由 busdriver 于 2012-10-20 21:36 编辑

今天天气很好啊!

使用特权

评论回复
7
busdriver|  楼主 | 2012-10-20 20:41 | 只看该作者
外加上拉电阻可以解决吗?试试看!

使用特权

评论回复
8
busdriver|  楼主 | 2012-10-20 20:59 | 只看该作者
外加1K上拉电阻不行啊
贴出初始化程序。
//#include "math.h"

/***********************************************************************
Name:uart_init(void)
Function:initialize UART
Input:none
Output:none
************************************************************************/
void uart_init (void)
{
    TRISC7 = 1;//config RX1 to input
    TRISC6 = 0;//config TX1 to output
    TRISC1 = 1;//config RX2 to input
    TRISC0 = 0;//config TX2 to output
    EECON2 = 0x55;
    EECON2 = 0xaa;
    IOLOCK = 0;
    RPINR16 = 0x0c;  //assign RP12 as rx2
    RPOR11 = 0x05; //assign RP11 as tx2
    //RPINR1 = 2;//assign RA5/RP2 as INT1
    EECON2 = 0x55;
    EECON2 = 0xaa;
    IOLOCK = 1;
    //enable_rs485_rx();
    BRGH1 = 1;//high baud rate select bit,high speed in asynchronous mode
    //BRG16 = 0;//  0=8-bit baud rate generator is used
    BRG161 = 1;//  1=16-bit baud rate generator is used
    //SPBRG1 = 16;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 8MHz
    //SPBRG1 = 68;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 32MHz
    SPBRG1 = 23;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 11.0592MHz
    //SPBRG1 = 143;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 11.0592MHz
    SPBRGH1 = 0;
    BRGH2 = 1;//highh baud rate select bit,high speed in asynchronous mode
    //BRG16 = 0;//  0=8-bit baud rate generator is used
    BRG162 = 1;//  1=16-bit baud rate generator is used
    //SPBRG2 = 16;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 8MHz
    //SPBRG2 = 68;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 32MHz
    SPBRG2 = 23;//n = FOSC/[16* (Baud Rate)] -1,baud rate = 115.2Kbps,FOSC = 11.0592MHz
    SPBRGH2 = 0;
    //BRGH = 0;//High baud rate select bit,low speed in asynchronous mode
    //BRG16 = 0;//0=8-bit baud rate generator is used
    //SPBRG1 = 12;//baud rate = 9600bps
    //SPBRG2 = 12;//baud rate = 9600bps
    //TX9 = 0;//Selects 8-bit transmission
    //RX9 = 0;
    //CSRC1 = 1;//master mode:clock generated internally from BRG
    SYNC1 = 0;//EUART mode select bit,0=Asynchrounous mode
    SPEN1 = 1;//serial port enable bit,1=serial port enabled
    CREN1 = 1;//continues receive enable bit,1=enable recrive in asychronous mode
    TXEN1 = 1;//Transmit enable bit,1=transmit enabled'
    RC1IE = 1;//enable receive interrupt
    //CSRC2 = 1;//master mode:clock generated internally from BRG
    SYNC2 = 0;//EUART mode select bit,0=Asynchrounous mode
    SPEN2 = 0;//serial port enable bit,1=serial port enabled
    CREN2 = 1;//continues receive enable bit,1=enable recrive in asychronous mode
    TXEN2 = 1;//Transmit enable bit,1=transmit enabled
    RC2IE = 1;//enable receive interrupt
    //ABDEN1 = 0;
    //ABDEN2 = 0;
}

使用特权

评论回复
9
busdriver|  楼主 | 2012-10-20 21:03 | 只看该作者
本帖最后由 busdriver 于 2012-10-20 21:36 编辑

今天天气好啊!

使用特权

评论回复
10
busdriver|  楼主 | 2012-10-20 21:35 | 只看该作者
o了,地的问题。电脑和板子共地问题!接上仿真器,电脑通过仿真器和板子共地了,所以没有问题。拔出仿真器,电脑和板子就没有共地,所以出现乱码。

使用特权

评论回复
11
NE5532| | 2012-10-21 08:37 | 只看该作者
o了,地的问题。电脑和板子共地问题!接上仿真器,电脑通过仿真器和板子共地了,所以没有问题。拔出仿真器,电脑和板子就没有共地,所以出现乱码。 ...
busdriver 发表于 2012-10-20 21:35


也不排除这个,但是串口也是共了地的。

使用特权

评论回复
12
busdriver|  楼主 | 2012-10-21 16:46 | 只看该作者
接地后就ok了,一个老同事告诉我的,人家一听这个现象,就知道是接地没接好,好有经验。

使用特权

评论回复
13
hzdxs| | 2012-10-21 18:47 | 只看该作者
好的!支持一下

使用特权

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

本版积分规则

44

主题

416

帖子

0

粉丝