串口调试助手出现乱码
首先用一个正确的程序试一下确保软件本身没有什么问题,
然后再依次检查波特率和VPB时钟频率是否匹配,因为它们不匹配的时候同样会出现乱码。
如果最后还是乱码的话,可能就是程序的问题了,需要检查程序是否有语法以外的错误。
自己今天下午调了一个串口发送字符串的程序,就是因为没有把波特率和VPB时钟频率匹配好,导致一直出现乱码
当 UART_BPS 设为9600,Fpclk 为(Fosc/4)*1时是正确的组合,
错误一:UART_BPS 设为9600,Fpclk为 (Fosc/4)*2,出现了乱码,
错误二:UART_BPS 设为115200,Fpclk 为(Fosc/4)*1,出现了乱码
错误三:UART_BPS 设为115200,Fpclk 为(Fosc/4)*2,出现了乱码
程序如下所示:
方法一:
#include <NXP/iolpc2148.h>
void UART1_Init(void);
void UART1_SendStr(char *Str);
void UART1_SendByte(char byte);
void delayn(unsigned long n);
#define UART_BPS 9600 //设置串口通信波特率
#define Fosc 12000000 //晶振频率
#define Fpclk (Fosc/4)*1 //VPB时钟频率,MD此处公式写错了,导致字符串显示不出
//UART1串口初始化
void UART1_Init(void)
{
//unsigned char Fdiv;
U1FCR=1; //FIFO使能
U1LCR=0x83; //使能访问除数锁存,8位字符长度,1个停止位,禁止奇偶产生和校验,
//Fdiv=(Fpclk/16)/UART_BPS; //设置波特率
U1DLL=Fpclk/(16*9600); //除数的底8位
U1DLM=(Fpclk/(16*9600))>>8; //除数的高8位
U1LCR=0x03; //禁止访问除数锁存器
}
//发送字符串
void UART1_SendStr(char *Str)
{
while((*Str)!='\0') //遇到结束符,退出
{
UART1_SendByte(*Str); //发送数据
Str++;
}
}
//发送单个字符
void UART1_SendByte(char byte)
{
while((U1LSR&0x20)==0); //等待数据发送完毕
U1THR=byte; //写入数据
}
//延时函数
void delayn(unsigned long n)
{
while(n--);
}
int main(void)
{
PINSEL0=0x00050000; //P0.8,P0.9选择UART0
UART1_Init(); //UART1串口初始化
while(1)
{
UART1_SendStr("UART1 TEST.\n");
delayn(100000);
}
}
方法二:
#include <NXP/iolpc2148.h>
void UART1_Init(void);
void UART1_SendStr(char *Str);
void UART1_SendByte(char byte);
void delayn(unsigned long n);
#define UART_BPS 9600 //设置串口通信波特率
#define Fosc 12000000 //晶振频率
//#define Fcclk (Fosc*4) //系统频率
#define Fpclk (Fosc/4)*1 //VPB时钟频率,MD此处公式写错了,导致字符串显示不出
//unsigned char Fdiv;
typedef unsigned short U16;
/*************************串口1初始化******************************************/
void UART1_Init ()
{
U16 Fdiv;
U0LCR = 0x83; // DLAB = 1,可设置波特率
Fdiv =(Fpclk/16)/UART_BPS;
U0DLL = Fdiv%256;
U0DLM = Fdiv/256;
U0LCR = 0x03;
}
//发送字符串
void UART1_SendStr(char *Str)
{
while((*Str)!='\0') //遇到结束符,退出
{
UART1_SendByte(*Str); //发送数据
Str++;
}
}
//发送单个字符
void UART1_SendByte(char byte)
{
while((U1LSR&0x20)==0); //等待数据发送完毕
U1THR=byte; //写入数据
}
//延时函数
void delayn(unsigned long n)
{
while(n--);
}
int main(void)
{
PINSEL0=0x00050000; //P0.8,P0.9选择UART0
UART1_Init(); //UART1串口初始化
while(1)
{
UART1_SendStr("xiao mu lang shi ge da duan dan.haha\n");
delayn(1000000);
}
}
串口调试助手出现乱码相关推荐
- keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码
keil5中文乱码,编译中文乱码,串口调试助手接收中文乱码 keil5的文本编辑器输入中文乱码 一般更改编码就可以解决 打开设置界面 更改编码,可以是GBK码,也可以是UTF-8编码 编辑器中文没有乱 ...
- linux串口文件传输助手怎么用,SerialTool: SerialTool是一个实用的串口调试工具,这款工具支持串口调试助手、波形显示和文件传输等功能...
SerialTool A practical Serial-Port/TCP/UDP debugging tool. 简介 SerialTool是一个跨平台的串口/网络调试工具.此工具支持串口调试助手 ...
- ESP8266连接阿里云(串口调试助手)
参考链接:ESP8266 AT MQTT 透传指令接入阿里云物联网平台笔记 刷AT固件 参考链接:ESP8266连接阿里云 需要注意: 有时可能会出现下载失败的情况,注意一下FLASH SIZE那里, ...
- 利用VSPD、串口调试助手、Keil做串口调试
下面详细介绍下如何用虚拟串口调试串口发送接收程序. 需要用到三个软件:KEIL.VSPD XP5(virtual serial ports driver xp5.1虚拟串口软件).串口调试助手(个人感 ...
- 串口调试助手-打开报错
问题:串口调试助手sscom33打开报错,报错信息如下图 解决方法: 1.将串口设备连接到电脑 1)若是台式机,则直接用串口线连接电脑和串口设备 2)若是笔记本电脑,则用一个USB转串口线连接串口设备 ...
- 8266串口调试助手_开源软件分享-基于WPF的串口调试工具
最近同事在调试硬件的串口通讯功能,由于PLC暂时还没到,所以准备用USB转串口线连接在终端上,通过电脑USB口模拟串口收发功能.一开始同事下载了一款串口调试工具,发现没有自定义功能,比如通讯串口收到终 ...
- 485串口测试工具软件下载_串口调试助手详细讲解(结合实操),通讯问题不再是问题...
经常会有学员问我,老师老师,我的plc和变频器通讯不上了,不知道什么原因,您能帮我看看么. 其实吧,这个一般远程是帮不上你什么的,还是要你自己去测试,找出问题,那么怎么测试呢,今天就给大家做一个详细的 ...
- java串口助手_java 串口调试助手 源码
[实例简介]简单的串口调试助手 [实例截图] [核心代码]import gnu.io.CommPortIdentifier; import gnu.io.NoSuchPortException; im ...
- 【Qt串口调试助手】1.8 - 修改Qt应用图标和窗口图标
修改Qt应用图标和窗口图标. GitHub源码:Qt串口调试助手下载 修改应用图标 首先选择一张喜欢的图片,来作为应用图标,图片格式必须为 .ico. easyicon.net 有很多可供下载的资源. ...
- 【Qt串口调试助手】1.7 - QLabel标签插入链接,修改Qt应用图标
QLabel标签添加超链接,点击 即可通过默认浏览器打开网页. GitHub源码:Qt串口调试助手下载 QLabel标签添加链接 Qt支持 HTML语音,所以可以对链接颜色.字体.有无下划线等进行设置 ...
最新文章
- sass文件编译的三种方式【舒】
- MySQL基础篇:单行函数
- SAP MM PR 审批中的REJECT
- 中国平民百姓与富翁的五大差距
- SAP UI5的source code map(源代码映射)机制
- php 错误日志 redis' already loaded in Unknown on line 0
- Python 3实现k-邻近算法以及 iris 数据集分类应用
- MySQL基础入门学习【2】数据类型
- 题库明细 使用HTML+CSS开发商业站点
- 李洪强iOS之集成极光推送二iOS 证书 设置指南
- 西瓜书+实战+吴恩达机器学习(五)监督学习之线性判别分析 Linear Discriminant Analysis
- 实验报告-python文库_Python实验报告
- CSS3 常用选择器
- scrapy 的依赖库安装和出现def write(self, data, async=False):的解决方法
- 【软件工程】山东大学软件工程复习提纲
- STM32串口通讯——中断方式
- python灰色关联度分析代码_GRA灰色关联度分析学习 附python代码
- XCTF-Cat+Bug
- 【转载】Web2.0创业时代将终结
- Java给pdf添加页码(这是我之前的一篇文章)出现内存溢出Java heap space