串口接收到的数据是乱码怎么回事

锦瑟小仙 2013-05-25 07:59:20
#include "UART.h"

extern uint8 status;

/*
*Initialization of UART0
*/
void uart0_init(uint16 baudrate)
{
uint32 div,SYS_CLOCK;
SYS_CLOCK=80000000;

MCF_GPIO_PUAPAR=0b01010101;

//Reset Transmitter Receiver Mode Register
MCF_UART0_UCR=MCF_UART_UCR_RESET_TX;
MCF_UART0_UCR=MCF_UART_UCR_RESET_RX;
MCF_UART0_UCR=MCF_UART_UCR_RESET_MR;

//No parity,8bit data
MCF_UART0_UMR1=(0
|MCF_UART_UMR_PM_NONE
|MCF_UART_UMR_BC_8);

//1bit stop
MCF_UART0_UMR2|=MCF_UART_UMR_CM_NORMAL
|MCF_UART_UMR_SB_STOP_BITS_1;

//Set Rx and Tx buad by SYSTERM CLOCK
MCF_UART0_UCSR=0b11011101;

//Set UART interrupts
MCF_UART0_UIMR=0;

//set buad rate
div=(SYS_CLOCK/32/baudrate);
MCF_UART0_UBG1=(unsigned char)(div>>8);
MCF_UART0_UBG2=(unsigned char)(div&0x00ff);

//Enable Tx/Rx
MCF_UART0_UCR=(0
|MCF_UART_UCR_TX_ENABLED
|MCF_UART_UCR_RX_ENABLED);
}


//串口发送函数
void uart0_putchar(char c)
{
//Wait until space is available in the FIFO
while (!(MCF_UART0_USR&MCF_UART_USR_TXRDY))
{
;
}

//Send the character
MCF_UART0_UTB = (unsigned char)c;
}


//串口接收字符
unsigned char uart0_getchar()
{
//Wait until character has been received
while (!(MCF_UART0_USR & MCF_UART_USR_RXRDY))
{

};

return MCF_UART0_URB;
}


//串口发送字符串
void uart0_putstr(char *str)
{
while(*str!=0)
{
uart0_putchar(*str++);
}
}






...全文
2182 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-05-27
  • 打赏
  • 举报
回复
推荐使用portmon软件辅助调试串口通信程序。
锦瑟小仙 2013-05-27
  • 打赏
  • 举报
回复
已经解决了,是硬件连接问题,谢谢各位了
max_min_ 2013-05-26
  • 打赏
  • 举报
回复
引用 4 楼 a_woxinfeiyang_a 的回复:
出现乱码可能的原因:1、波特率配置问题,看看发送和接收两边的波特率是否设置正确?2、看硬件连接及配置问题,比如IO口配置是否正确?
++ 应该一般这个情况下 不是波特率没有设置对就是硬件坏掉了吧! 2个一起排查一下试试
a_woxinfeiyang_a 2013-05-26
  • 打赏
  • 举报
回复
出现乱码可能的原因:1、波特率配置问题,看看发送和接收两边的波特率是否设置正确?2、看硬件连接及配置问题,比如IO口配置是否正确?
小小浣熊 2013-05-25
  • 打赏
  • 举报
回复
波特率问题,看下你个Fpclk和你的板子晶振设置的一样不,还有就是你用的串口发送频率和接受频率一致
bewinged 2013-05-25
  • 打赏
  • 举报
回复
检查下硬件,硬件出错了,搞死你,都搞不出来。 我之前就试过,有些串口线的质量比较差, 用puty不能接受到数据,但是用超级终端就可以。
AnYidan 2013-05-25
  • 打赏
  • 举报
回复
先检查 baudrate 和 硬件连接

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧