天嵌 ARM开发社区

 找回密码
 注册
查看: 3365|回复: 7

运用串口2发数据出现问题,求解

[复制链接]
大黑将志 发表于 2012-8-23 11:01:07 | 显示全部楼层 |阅读模式
我想用串口2 发送一串数据,但是程序没有反应。。。。
#include "2440addr.h"

#include <stdarg.h>

#define PCLK 50000000

    unsigned char a,b;//************

unsigned char LU_RU[12]={0xEf,0x01,0xff,0xff,0xff,0xff,0x01,0x00,0x03,0x01,0x00,0x05};

//串口初始化

void  Uart_init()

{

  rGPHCON&=~((3<<14)|(3<<12));//设置为串口功能

  rGPHCON|= ((2<<14)|(2<<12)) ;//GPH2--TXD[0];GPH3--RXD[0]  

  rGPHUP = 0x00 ;

  rULCON2|=0x03;//8位数据,1位停止位

  rUCON2 = 0x05 ;//开收发                        

  rUBRDIV2 = PCLK /9600 / 16 - 1 ;

  rURXH2 = 0;     

}

void Delay(unsigned char z)

{

        unsigned x,y;

        for(x=z;x>0;x--)

                for(y=100;y>0;y--);

}

int ZWMain()

{

        Uart_init() ;

        while(1)

        {        

                   for(a=0;a<12;a++)

        {

                rUTXH0=LU_RU[a];

                while(!(rUTRSTAT0&(1<<2)));

                Delay(1);        

        }

                   Delay(50);

        }

        return 0;        

}
修改代码后发现串口0可以发送,是因为咱的板子上只有串口0接了232的原因吗?还是我的代码哪里有问题?
TQ-ZQL 发表于 2012-8-23 12:00:32 | 显示全部楼层
如果你要与pc通信是要232的。你可以用示波器看下有没有波型输出就知道是什么软件还是硬件问题了
不言DXH 发表于 2012-8-23 13:10:30 | 显示全部楼层
TQ2440板子上只有串口0是直接可用的,作控制台使用;还以一个串口是需要转接的
 楼主| 大黑将志 发表于 2012-8-24 11:58:19 | 显示全部楼层
不言DXH 发表于 2012-8-23 13:10
TQ2440板子上只有串口0是直接可用的,作控制台使用;还以一个串口是需要转接的

请问ARM9串口输出的是TTL还是CMOS电平?。。。。。。。
 楼主| 大黑将志 发表于 2012-8-24 11:59:09 | 显示全部楼层
不言DXH 发表于 2012-8-23 13:10
TQ2440板子上只有串口0是直接可用的,作控制台使用;还以一个串口是需要转接的

请问ARM9串口输出的是TTL还是CMOS电平?。。。。。。。
'夜枫 发表于 2012-8-24 13:27:59 | 显示全部楼层
TQ-ZQL 发表于 2012-8-23 12:00
如果你要与pc通信是要232的。你可以用示波器看下有没有波型输出就知道是什么软件还是硬件问题了

请问:S3C2440串口的接收管脚是CMOS电平还是TTL电平啊?
有个指纹模块输出的是TTL电平,串口0发送指令给指纹模块后,ARM接收不到指纹模块返回的数据。(串口调试助手上能看到指纹模块返回的数据).
TQ-ZQL 发表于 2012-8-28 09:46:26 | 显示全部楼层
串口0有232电平也有ttl电平的具体看你接的是什么地方(排插那里是ttl),其它串口只有排插那个地方输出,是ttl电平的。
亚瑟王 发表于 2012-8-29 10:32:47 | 显示全部楼层
总结一下吧:(论坛中以前也做过类似的总结的)
串口通讯有以下几个关键点:
1、电平,CPU出来的一般是3.3(称为CMOS电平)或5V(称为TTL电平),而很多外设可能是RS232电平(比如PC之类的)。
2、发送脚和接收脚,标准串口的一般只用到了RX(9针串口的2号脚)和TX(3号脚)两个脚,天嵌科技的系列开发板的debug口的2、3脚是交叉了的,它用直连串口线可以直接连接到PC的串口。如果脚搞反了,肯定是没法正确通讯的。
3、波特率、是否要硬件流控之类的,波特率请根据实际情况设定。如果值使用2、3两根线的串口,是无流控的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-25 23:33 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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