搜索
bottom↓
回复: 28

串口通信问题,电脑上显示与单片机所连接的lcd不符!~请大虾指点!谢谢!~有程序!~

[复制链接]

出0入0汤圆

发表于 2007-1-7 16:35:46 | 显示全部楼层 |阅读模式
if(oldsec!=sec) //秒有变动就执行下面的语句

    {

   

      display_temp(); //lcd显示

     send_string_com(buffer,6);

       oldsec =sec;

      // LED1=!LED1;

    }

上面是在主函数里调用串口的程序,下面就是串口程序

// char putchar(char ch)

void send_string_com(unsigned char *str,unsigned char strlen)

{    //*str  数组指针

    unsigned char k=0;

    do

    {

        putbuf(*(str + k));

        k++;

    } while(k < strlen);

}

以下是时间分配表

void bintobcd()

{

buffer[0]=sec%10;  buffer[1]=sec/10;

buffer[2]=min%10;    buffer[3]=min/10;

buffer[4]=hour%10;    buffer[5]=hour/10;

}

为什么程序在lcd上显示是对的时钟程序,而在串口电脑上显示的是错的啊?是不是串口通信中ASCII码有特殊的定义啊?

电脑上的显示:

字符显示?HEX显示06 18 18 18 18 18 F8 18 18 18 18 18 18 F8 ,而我的lcd显示的是00:00:01和

00:00:02,lcd时钟显示正确,但串口显示错误!~

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2007-1-7 16:43:17 | 显示全部楼层
波特率错误。

出0入0汤圆

 楼主| 发表于 2007-1-7 17:02:55 | 显示全部楼层
错了的话,我的怎么还显示啊?

出0入0汤圆

发表于 2007-1-7 17:24:14 | 显示全部楼层
伙计.你那个掉用有问题,send_string_com(buffer,6);应该是

send_string_com(&buffer,6);

出0入0汤圆

 楼主| 发表于 2007-1-7 21:24:31 | 显示全部楼层
我试试去!`

出0入0汤圆

 楼主| 发表于 2007-1-8 11:21:29 | 显示全部楼层
j_sunny   你的这句send_string_com(&buffer,6);中加&有什么意义啊?

出0入0汤圆

发表于 2007-1-8 11:24:06 | 显示全部楼层
不要加&的 buffer(数组名)就是指针,3楼说错了。

出0入0汤圆

发表于 2007-1-8 11:29:41 | 显示全部楼层
给个建议,现确定波特率没问题,然后再发时钟的数据时每个数据+0x30后再发。

出0入0汤圆

发表于 2007-1-8 11:39:01 | 显示全部楼层
void send_string_com(unsigned char *str,unsigned char strlen)

*str是一个指针;

看你的程序,要显示数组的值,得付你的数组地址,所以要加&

出0入0汤圆

 楼主| 发表于 2007-1-8 11:39:49 | 显示全部楼层
+?我用过"|"0x30和03都不行

void send_string_com(unsigned char *str,unsigned char strlen)

{    //*str  数组指针

    unsigned char k=0;

    do  

    {

        putbuf((*(str + k))|0x03); //你是说的这样吧

        k++;

    } while(k < strlen);

}

出0入0汤圆

 楼主| 发表于 2007-1-8 11:41:03 | 显示全部楼层
看看这个

void init_serialcomm(void)

{

    SCON  = 0x50;       //SCON: 工作方式1, 8-bit

    TMOD |= 0x20;       //TMOD: 定时器1, 工作方式2, 8-bit

    PCON |= 0x80;       //SMOD=1;

    TH1   = 0xF4;       //4800波特率  fosc=11.0592MHz

        TL1   =0xF4;

    IE   |= 0x90;       //使能串口中断

    TR1   = 1;          //运行定时器1

    istart=0;

    iend=0;

}

出0入0汤圆

发表于 2007-1-8 11:42:36 | 显示全部楼层
同意7楼的说法,先测试定波特率

出0入0汤圆

 楼主| 发表于 2007-1-8 11:43:57 | 显示全部楼层

出0入0汤圆

发表于 2007-1-8 11:52:00 | 显示全部楼层
TL1=0xf4;

TH1=0xf4;            /*BAUD RATE = 2400 @ 11.0592M*/

出0入0汤圆

发表于 2007-1-8 11:52:28 | 显示全部楼层
建议j_sunny自己去试试到底要不要加&

不至于我到现在写的那些程序都是错的吧。
-----此内容被bozai于2007-01-08,11:54:27编辑过

出0入0汤圆

发表于 2007-1-8 11:52:56 | 显示全部楼层
j_sunny ,建议你回去好好看一看数组名的具体含义

出0入0汤圆

 楼主| 发表于 2007-1-8 11:56:27 | 显示全部楼层
81 80 80 ,82 80 80 折实1,2秒的显示!~   亐?,個?

出0入0汤圆

发表于 2007-1-8 11:57:57 | 显示全部楼层
send_string_com(&buffer[0],6);

我一直喜欢用这个,没问题的,试了N年了

出0入0汤圆

发表于 2007-1-8 11:59:33 | 显示全部楼层
这个是对的,用buffer不更好少打几个字

出0入0汤圆

 楼主| 发表于 2007-1-8 12:01:32 | 显示全部楼层
TL1=0xf4;

TH1=0xf4;       /*BAUD RATE = 2400 @ 11.0592M*/

你的意思是2400的波特率?

出0入0汤圆

发表于 2007-1-8 12:02:15 | 显示全部楼层
哈哈,我用惯了,忘了以前学的了

出0入0汤圆

发表于 2007-1-8 12:06:48 | 显示全部楼层
楼主你先发字符串 最基本的hello world!程序 试试串口有没有问题不就行了吗。

出0入0汤圆

 楼主| 发表于 2007-1-8 12:08:52 | 显示全部楼层
???,是2400的时候显示的

鴪`?堾          ,是4800的时候显示的

??&               ,是9600的时候显示的

出0入0汤圆

发表于 2007-1-8 13:44:30 | 显示全部楼层
点击此处下载armok01140778.rar



我做了一个UART程序,希望能对你有所帮助,我这边已经测试,没问题,发送的第一个字节是本次发送的长度,一针小于8;能后再回显,比如:05 AA BB CC DD;回显:05 AA BB CC DD;我看你是用MCS-51,我这个也是

出0入0汤圆

发表于 2007-1-8 13:46:24 | 显示全部楼层
如果你还有问题,请检查硬件了

出0入0汤圆

发表于 2007-1-8 13:48:03 | 显示全部楼层
忘了告诉你,我的那个是2400的波特率

出0入0汤圆

 楼主| 发表于 2007-1-8 15:21:38 | 显示全部楼层
好的  谢谢你!~呵呵

出0入0汤圆

 楼主| 发表于 2007-1-8 16:53:29 | 显示全部楼层
j_sunny  你用的什么编程软件啊?

出0入0汤圆

发表于 2007-1-8 17:00:43 | 显示全部楼层
KEIL
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 15:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表